嵌入式CISC模型機(jī)設(shè)計(jì)_第1頁(yè)
嵌入式CISC模型機(jī)設(shè)計(jì)_第2頁(yè)
嵌入式CISC模型機(jī)設(shè)計(jì)_第3頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄1課程設(shè)計(jì)題目 12:嵌入式CISC模型機(jī)數(shù)據(jù)通路框圖 13:操作控制器的邏輯框圖 14:模型機(jī)的指令系統(tǒng)和所有指令的指令格式 25:所有機(jī)器指令的微程序流程圖或 CPU操作流程圖 36:操作控制器單元 47:嵌入式CISC模型計(jì)算機(jī)的頂層電路圖 6&匯編語(yǔ)言源程序 69:機(jī)器語(yǔ)言源程序 710:機(jī)器語(yǔ)言程序的功能仿真波形圖及結(jié)果分析 811:進(jìn)行時(shí)序仿真是芯片的引腳分配 812:故障現(xiàn)象和故障分析 813:軟件清單,含各個(gè)部件的 VHDL源程序(.VHD)或圖形描述文件(.gfd) 813.1:ALU 單元 813.2:狀態(tài)條件寄存器單元 1113.3:暫存寄存器單元 1213.

2、4: 3 選1數(shù)據(jù)選擇器 1313.5 : 5選1數(shù)據(jù)選擇器 1413.6:程序計(jì)數(shù)器單元 1513.7: 地址寄存器單元 1713.8:主存儲(chǔ)器單元 1713.9:指令寄存器單元 1813.10:時(shí)序產(chǎn)生器單元 1913.11:微程序控制器單元 20地址轉(zhuǎn)移邏輯電路 21微地址寄存器 23微地址轉(zhuǎn)換器 25控制存儲(chǔ)器 26微指令寄存器 28微地址轉(zhuǎn)換器 30指令代碼轉(zhuǎn)換器 311:課程設(shè)計(jì)題目設(shè)計(jì)一臺(tái)嵌入式 CISC模型計(jì)算機(jī):采用定長(zhǎng) CPU周期、聯(lián)合控制方法,并完成一定功能的機(jī)器語(yǔ)言源程序進(jìn)行驗(yàn)證,機(jī)器語(yǔ)言源程序功能如下:輸入5個(gè)有符號(hào)整數(shù)(8位二進(jìn)制補(bǔ)碼表示),求所有正數(shù)的平方和并輸出

3、顯示。2:嵌入式CISC模型機(jī)數(shù)據(jù)通路框圖模型機(jī)由CISC微處理器、地址寄存器 AR ROM存儲(chǔ)器組成。微處理器有算數(shù)邏輯單元ALU狀態(tài)條件寄存器、累加器 AC數(shù)據(jù)暫存器 R、通用寄存器R0R3程序計(jì)數(shù)器PC指令寄存器IR、操作控制器和時(shí)序產(chǎn)生器組成。模型機(jī)數(shù)據(jù)通路如圖2-1所示:嵌入式CISC模型機(jī)弒懲衆(zhòng)件PCP7ALUACRDRLL輸出設(shè)備ROMLARpc時(shí)再?lài)?yán)生器二外瑯時(shí)棘 復(fù)檢T言號(hào)圖2-1模型機(jī)數(shù)據(jù)通路框圖說(shuō)明:外部時(shí)鐘信號(hào)上邊沿有效。3:操作控制器的邏輯框圖微指令寄存器和地址轉(zhuǎn)移邏輯電路三大部分組成,微程序控制器主要由控制存儲(chǔ)器、中微指令寄存器分為微地址寄存器和微命令寄存器兩部分。

4、微程序控制器在T4內(nèi)形成微指令的微地址,并訪問(wèn)控制存儲(chǔ)器,在T2的上邊沿到來(lái)時(shí),將讀出的微指令打入微指令寄存器,即圖中的微命令寄存器和微地址寄存器。微程序控制器組成原理框圖如下圖3-1所示。指爭(zhēng)寄存器IR圖3-1微程序控制器組成原理框圖4:模型機(jī)的指令系統(tǒng)和所有指令的指令格式為了完成求和功能,系統(tǒng)設(shè)計(jì)了 9條指令:IN(輸入指令),M0(將一個(gè)數(shù)送入寄存器),CMP(完成比較功能),JB (小于等于跳轉(zhuǎn)),ADD(兩數(shù)相加),DEC(自減1),JMP (無(wú)條件 跳轉(zhuǎn)),MUL兩數(shù)相乘),OUT(輸出)。助記符號(hào)指令格式功能IN Rd1 0 0 0XXRd將數(shù)據(jù)存到Rd寄存器OUT Rs1 1

5、1 1RsXX(Rs) t LEDADD Rs,Rd1 1 0 0XXRd(Rs)+(Rd) t RdCMP Rs,Rd1 0 1 0RsRd(Rs)-(Rd),鎖存 CY和 ZIDEC Rd1 1 0 1XXRd(Rd)+1 t RdMOV Rd,data1 0 0 1XXRddata t RddataJMP addr1 1 1 0XXXXaddr t PCaddrJB addr1 0 1 1XXXX若小于,則 addr t PCaddrMUL Rs,Rd0001RsRd(Rs)*(Rd) t Rd說(shuō)明:對(duì) Rs和Rd的規(guī)定:Rs 或 Rd選定的寄存器0 0R00 1R11 0R21 1R3

6、模型機(jī)規(guī)定數(shù)據(jù)的表示采用定點(diǎn)整數(shù)補(bǔ)碼表示,單字長(zhǎng)為8位,其格式如下:76543210符號(hào)位尾數(shù)5 :所有機(jī)器指令的微程序流程圖或 CPUS作流程圖微程序控制器的設(shè)計(jì)過(guò)程如下:(1) 根據(jù)指令格式和指令系統(tǒng)設(shè)計(jì)所有機(jī)器指令的微程序流程圖,并確定每條微指令 的微地址和后繼微地址;(2) 設(shè)計(jì)微指令格式和微指令代碼表;(3) 設(shè)計(jì)地址轉(zhuǎn)移邏輯電路;(4) 設(shè)計(jì)微程序控制器中的其它邏輯單元電路,包括微地址寄存器、微命令寄存器和 控制存儲(chǔ)器;(5) 設(shè)計(jì)微程序控制器的頂層電路(由多個(gè)模塊組成)。MULMOVCMP0108091F1rPCAR PC+1SZBUS BUS>RdRSBUS BUS>

7、;AC15RcR BUS BUS> DR00PC AR PC+1J02READ M BUS IRP(1)JBADDDECJMPOUT0A0C0D0EOFRsBUS BUS>ACPCARPC+1RSBUS BUS>ACRcHBUS BUS>ACPCARPC+1RsLED00ROIM> BUSBUS RdRcR BUS BUSDR1213AC-1t busROM> BUSBUS RdBUS> PCR廠 BUS BUSDR0061FT , 05<JP;°7J1 AC+DR> Rd000000AC*DR Rd001丄/00 FS=0FS=

8、1 00f1-2030ROW BUSBUSPCAS DR 鎖存FC、FZ00006:操作控制器單元(1)設(shè)計(jì)微指令格式和微指令代碼表CISC模型機(jī)系統(tǒng)使用的微指令采用全水平型微指令,字長(zhǎng)為25位,其中微命令字段為17位,P字段為2位,后繼微地址為 6位,其格式如下:24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 65 4 3 2 1 0LOAD LDPC LDAR LDIR LDRi RD_B RS_B S1 S0 ALU_B LDAC LDDR WR CS SW_B LED_B LDFR P1P2后繼微地址由微指令格式和微程序流程圖編寫(xiě)的

9、微指令代碼表如下所示,在微指令的代碼表中微命令字段從左邊到右代表的微命令信號(hào)依次為:LOAD LDPG LDAR LDIR、LDRi、RD_B RS_BS1、S0、ALU_B LDAC LDDR WR CS SW_B LED_B LDFR微地址微命令字段P1P1后繼位地址LOADLDPCLDARLDIRLDRiRD_BRS_BS1S0ALU_BLDACLDDRWRCSSW_BLED_BLDFR000000111001100100111100000001000000110000100011011110000101010000101001011001001011010001000000011100

10、011100100101100000000000010010000010010111110000001010001011000011011001111100000000000110100000100101111100000011100011110001110000011110000000000010001000111001001101000000000001001111001100100111100000001100101010000100011011110000001000010111110011001001111001100000001100100001000110111100000011

11、0001101100000100110111100001001000111011100110010011110000100120011111000010001000110000000000010010100011110000111100000000001001101000110010010110000000000101011000001001011111000010110010110100011111000111100000000010000001000110010010110000000001100001000011001001111000000000(2)設(shè)計(jì)地址轉(zhuǎn)移邏輯電路地址轉(zhuǎn)移邏輯電

12、路是根據(jù)微程序流程圖3-2中的棱形框部分及多個(gè)分支微地址,利用微地址寄存器的異步置“ 1”端,實(shí)現(xiàn)微地址的多路轉(zhuǎn)移。由于微地址寄存器中的觸發(fā)器異步置“1”端低電平有效,與 小4吩0對(duì)應(yīng)的異步置“ 1 ”控制信號(hào)SE5 SE1的邏輯表達(dá)式為:SE5=(FC+FZ)?P(2) ?T4SE4=I7?P(1) ?T4SE3=I6?P(1) ?T4SE2=I5?P(1) ?T4SE1=I4?P(1) ?T47:嵌入式CISC模型計(jì)算機(jī)的頂層電路圖在MAX+plusn下設(shè)計(jì)的CISC模型機(jī)的頂層電路圖如下圖7-1所示。圖7-1嵌入式CISC模型計(jì)算機(jī)的頂層電路圖ADD R0,R1-R1&匯編語(yǔ)言源

13、程序MOV R10-R1置為0,保存累加結(jié)果MOV R20-R2置為0,判輸入數(shù)據(jù)正負(fù)性,計(jì)輸入數(shù)據(jù)的次數(shù)MOV R35-R3置為5,計(jì)輸入次數(shù)L1: IN R0外部輸入數(shù)據(jù)存到 R0DEC R3 -R3減 1CMP R2,R0-比較R2和R0的大小JB L2-若R2小于R0則跳轉(zhuǎn)L2CMP R2,R3-判斷次數(shù),若不到 5次返回L1JB L1-跳轉(zhuǎn)到L1JMP L3-若次數(shù)達(dá)到5次,跳轉(zhuǎn)到L3,輸出結(jié)果,程序結(jié)束L2: MUL RO,RO - R0大于0,做平方運(yùn)算,存到 R0中用來(lái)存累加結(jié)果的,故將R0中的平方和R1的值相加CMP R2,R3 - 判斷次數(shù),若不到 5 次返回 L1JB L

14、1L3: OUT R1-9:機(jī)器語(yǔ)言源程序根據(jù)設(shè)計(jì)的指令格式,跳轉(zhuǎn)到 L1將正數(shù)的平方和輸出并將其設(shè)計(jì)到模將匯編語(yǔ)言源程序手工轉(zhuǎn)換成機(jī)器語(yǔ)言源程序,型機(jī)中的ROM中去。與匯編語(yǔ)言源程序?qū)?yīng)的機(jī)器語(yǔ)言源程序如下:助記符地址(十六進(jìn)制)機(jī)器代碼功能MOV1R0,0001001000100Ht R00100000000MOV1R1,0021001001000Ht R10300000000MOV1R2,5041001001105HtR205 00000101L1:IN R00610000000(SW)tR0DEC R30711010011(R0)-1tR3CMP R2,R00810101000(R2)

15、-(R0)JB L20910110000若小于, L2 tPC0A00010000CMP R2,R30B10101011(R2)-(R3)JB L10C10110000L1t PCOD00000110JMP L30E11100000L3tPC0F00010101L2: MUL R0,R01000010000(R0)*(R0)tR0ADD R0,R11111000001(R0)+(R1)tR1CMP R2,R31210101011(R2)-(R3)JB L11310110000L1tPC14 00000110L3: OUT R11511110100(R1)t LED10:機(jī)器語(yǔ)言程序的功能仿真波

16、形圖及結(jié)果分析Me1 1l hF2Q dirJD tinggVJgJQ.CI0W IXjfr1MI>jbi.1b叩qHIDW X皿Xdi1w»oqr qh aBC:d/ rah i-rMlIa?K<12ItnH IDMI2MIMI«-*闔MI2M IFFK01I«f: Wgr hHBqL g:1 町 AE IE E " :' ci !( « 1 Bl 阿丄 m M;'B£ ( AB J_BD i'Hl ; po JmJCbd ; IC J C1 :l A3J: M :B(J ; pa J AEj K

17、 : 11> Cl矽ACH IDM f HK <H m;aoK M ;»i D3 Iao)(tnaoK (E KaK OQ t M曲OHHI2DOF filI « J«)« XaaX«ItnHl】比血朋.:農(nóng)苗朮夂伽加恤3 馳旳毗血肚實(shí)謐曲泗帕血曲、:a:皿曲皿沁熾畑血結(jié)果分析:輸入的整數(shù)依次為01H, FFH 01H 02H, FFHo結(jié)果輸出:06H。計(jì)算結(jié)果與事實(shí)相符,程序正確執(zhí)行11:進(jìn)行時(shí)序仿真是芯片的引腳分配在進(jìn)行仿真時(shí)主要的引腳分配為:PCARIRCROMR0R1R2R3MUX1MUX2ALUPSWROM2623225

18、15161718283023112:故障現(xiàn)象和故障分析1. CMP旨令一開(kāi)始設(shè)為 CMP R0 R2導(dǎo)致結(jié)果出錯(cuò)。原來(lái) JB指令是小于等于的時(shí)候跳轉(zhuǎn),所以導(dǎo)致結(jié)果取反。之后將CMP旨令改為CMP R2 R0 ,結(jié)果程序正確。2.微程序控制器中采用全水平微指令,在設(shè)計(jì)AC*DR>Rd指令時(shí)忘記設(shè)計(jì)S0 , S1為1,1 ,即控制為乘法時(shí),變成了加法,導(dǎo)致結(jié)果岀錯(cuò)。在仿真時(shí)發(fā)現(xiàn)結(jié)果不對(duì),算的是加法,然后通過(guò) 修改為乘法,結(jié)果正確。13:軟件清單,含各個(gè)部件的 VHDL源程序(.VHD)或圖形描述文件(.gfd)13.1:ALU 單元ALLIA 匸了 - 0 1 曰匚DOUT 7.-0日匸 7

19、.-0CYLIBRARY IEEE;- 有符號(hào)型ENTITY ALU ISPORT(A:IN STD_LOGIC_VECTOR(7 DOWNTO 0);B:IN STD_LOGIC_VECTOR(7 DOWNTO 0);S1,S0:IN STD_LOGIC;BCDOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);CY,ZI:OUT STD_LOGIC);END ALU;ARCHITECTURE A OF ALU ISSIGNAL AA,BB,TEMP:STD_LOGIC_VECTOR(8 DOWNTO 0);BEGINPROCESS(S1,S0)BEGINIF(S1=&

20、#39;0' AND S0='0')THEN -加法AA<='0'&A;BB<='0'&B;TEMP<=AA+BB;BCDOUT<=TEMP(7 DOWNTO 0);CY<=TEMP(8);IF(TEMP="100000000"OR TEMP="000000000")THENZI<='1'ELSEZI<='0'END IF;ELSIF(S1='0' AND S0='1')THEN

21、 - 減法 BCDOUT<=A-B;IF(A<B)THENCY<='1'ZI<='0'ELSIF(A=B)THENY<='0'ZI<='1'ELSECY<='0'ZI<='0'END IF;ELSIF(S1='1' AND S0='1')THEN - 乘法AA<='0'&A;BB<='0'&B;TEMP<=AA*BB;BCDOUT<=TEMP(7 D

22、OWNTO 0);CY<=TEMP(8);IF(TEMP="100000000"OR TEMP="000000000")THEN ZI<='1'ELSEZI<='0'END IF;ELSIF(S1='1' AND S0='0')THEN - 自減 1AA<='0'&A;TEMP<=AA-1;BCDOUT<=TEMP(7 DOWNTO 0);CY<=TEMP(8);IF(TEMP="100000000"OR

23、TEMP="000000000")THEN ZI<='1'ELSEZI<='0'END IF;ELSEBCDOUT<="00000000"CY<='0:ZI<='0:END IF;END PROCESS;END A;13.2:狀態(tài)條件寄存器單兀1LS74I- DFRFCC VF ZZI4:a A Bi J : J L a 1. B 1. J 1 KAIKJBL 41 B 1. LIBRARY IEEE;ENTITY LS74 ISPORT(LDFR:IN STD_LOGIC;C

24、Y,ZI:IN STD_LOGIC;FC,FZ:OUT STD_LOGIC);END LS74;-狀態(tài)寄存器ARCHITECTURE A OF LS74 ISBEGINPROCESS(LDFR)BEGINIF(LDFR'EVENT AND LDFR='1')THENFC<=CY;FZ<=ZI;END IF;END PROCESS;END A;13.3:暫存寄存器單兀D 7 - - 0 J O 7 - - 0 3 jCLK1 5b 4 d I. a k . u u it i. a j j k u u l a k 4 u u I l l a a j * ! k

25、d LIBRARY IEEE;ENTITY LS273 ISPORT(D:IN STD_L0GIC_VECT0R(7 DOWNTO 0);CLK:IN STD_LOGIC;O:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END LS273;-通用寄存器ARCHITECTURE A OF LS273 ISBEGINPROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENO<=D;END IF;END PROCESS;END A;134 3選1數(shù)據(jù)選擇器MUX3IDL 7 0 GU_BEUC 7 . . 0 J

26、U曰N 1 L 7 - 0 N 2C 7 - 0 J5H a B 4 11 J 4 B a E B J It J 4 BJBEMIB.BBliBJ 11 B a U J 11 JmBItaiBaB LIBRARY IEEE;ENTITY MUX3 ISPORT(ID:IN STD_L0GIC_VECT0R(7 DOWNTO 0);SW_B,CS:IN STD_LOGIC;N1,N2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);EW:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END MUX3;-3選1數(shù)據(jù)選擇器單元ARCHITECTURE A OF M

27、UX3 ISBEGINPROCESS(SW_B,CS)BEGINIF(SW_B='O')THENEW<=ID;-從輸入設(shè)備輸入數(shù)據(jù)ELSIF(CS='0')THENEW<=N2;-將ROM中讀出的指令代碼送入內(nèi)部數(shù)據(jù)通路ELSEEW<=N1;-將5選1多路選擇器的輸出送入內(nèi)部數(shù)據(jù)通路END IF;END PROCESS;END A;13.55選1數(shù)據(jù)選擇器MUXScDEFGXI 7 0】X2C? G ?-i0 ? x5L7 -LIBRARY IEEE;ENTITY MUX5 ISPORT(C,D,E,F,G: IN STD_LOGIC;X1,X

28、2,X3,X4,x5: IN STD_L0GIC_VECT0R(7 DOWNTO 0);W: out STD_LOGIC_VECTOR(7 DOWNTO 0);END MUX5;-5選1數(shù)據(jù)選擇器單元ARCHITECTURE A OF MUX5 ISSIGNAL SEL: STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINSEL<=G&F&E&D&C;PROCESS(SEL)BEGINIF(SEL="11110") THEN -W<=X1;ELSIF(SEL="11101") THEN -W&

29、lt;=X2;ELSIF(SEL="11011") THEN -W<=X3;ELSIF(SEL="10111") THEN -W<=X4;ELSIF(SEL="01111") THEN -W<=X5;ELSEn ull;END IF;END PROCESS;END A;輸出RO的內(nèi)容輸出R1的內(nèi)容輸出R2的內(nèi)容輸出R3的內(nèi)容輸出ALU的內(nèi)容13.6:程序計(jì)數(shù)器單兀LOADLDFCOE7.-0ZICLRDC 7 - 0 1君百LIBRARY IEEE;ENTITY PC ISPORT(LOAD,LDPC,CLR:IN

30、STD_LOGIC;D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);O:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END PC;- 程序計(jì)數(shù)器ARCHITECTURE A OF PC ISSIGNAL QOUT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(LDPC,CLR,LOAD)BEGINIF(CLR='0')THENQOUT<="00000000" -將 pc 清 0ELSIF(LDPC'EVENT AND LDPC='1')THENIF(

31、LOAD='0')THENpcQOUT<=D; - 將數(shù)據(jù)總線的內(nèi)容送入ELSEQOUT<=QOUT+1; -PC+1END IF;END IF;END PROCESS;O<=QOUT;END A;13.7:地址寄存器單兀LS273口匚了.CLK 0 JO 7 - 0 J1 1. « 1 . a 1 a < B J G J 1 li 4 1 L J 1. H 1 » <1 E 4 K13.8:主存儲(chǔ)器單元ROH16ADDR 匸 7 .0 DOUTC 7 . .0 cs1I I 4 I F 4 I f 4 I t H I F I

32、I 8IIW-iaii«ll-t«ll-9-l I- I I I F 4 I F 4 I I- 9 -I I- -I I R 4 I F 4 I F*I F 4 I F 9 I I- 9 -I I- -I I I F 4 I F I I- LIBRARY IEEE;ENTITY ROM16 ISPORT(DOUT:OUT STD_L0GIC_VECT0R(7 DOWNTO 0);ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0);CS:IN STD_LOGIC);END ROM16;-主存儲(chǔ)器單元 ROM16ARCHITECTURE A OF ROM1

33、6 ISBEGINDOUT<="1OO1OOO1" WHEN ADDR="OOOOOOOO" AND CS='0' ELSE - MOV R1,00"00000000" WHEN ADDR="00000001" AND CS='0' ELSE"10010010" WHEN ADDR="00000010" AND CS='0' ELSE -MOV R2,00"00000000" WHEN ADDR=&qu

34、ot;00000011" AND CS='O' ELSE"10010011" WHEN ADDR="00000100" AND CS='0' ELSE -MOV R3,05"00000101" WHEN ADDR="00000101" AND CS='0' ELSE"10000000" WHEN ADDR="00000110" AND CS='0' ELSE-L1: IN R0"1101001

35、1" WHEN ADDR="00000111" AND CS='0' ELSE - DEC R3"10101000" WHEN ADDR="00001000" AND CS='0' ELSE - CMP R2,R0"10110000" WHEN ADDR="00001001" AND CS='0' ELSE -JB L2"00010000" WHEN ADDR="00001010" AND CS=&

36、#39;0' ELSE"10101011" WHEN ADDR="00001011" AND CS='0' ELSE-CMP R2,R3"10110000" WHEN ADDR="00001100" AND CS='0' ELSE - JB: L1"00000110" WHEN ADDR="00001101" AND CS='0' ELSE"11100000" WHEN ADDR="0000

37、1110" AND CS='0' ELSE - JMP L3"00010101" WHEN ADDR="00001111" AND CS='0' ELSE -"00010000" WHEN ADDR="00010000" AND CS='0' ELSE-L2:MUL R0,R0"11000001" WHEN ADDR="00010001" AND CS='0' ELSE-ADD R0,R1"1

38、0101011" WHEN ADDR="00010010" AND CS='0' ELSE-CMP R2,R3"10110000" WHEN ADDR="00010011" AND CS='0' ELSE -JB L1"00000110" WHEN ADDR="00010100" AND CS='0' ELSE -"11110100" WHEN ADDR="00010101" AND CS='

39、;0' ELSE-L3:OUT1 R1"00000000"END A;13.9:指令寄存器單兀LS273DC 7 - - 0 O E 7 - - 0 3CLKr-2 2-13.10:時(shí)序產(chǎn)生器單兀m r|" 1 1 r r i i " i i i i i s i s i i BCOUNTERQ1T2T®if=iFCLRT 3T410a n a iu a tirLIBRARY IEEE;ENTITY COUNTER ISPORT(Q,CLR:IN STD_LOGIC;T2,T3,T4:OUT STD_LOGIC);END COUNTER;

40、-時(shí)序產(chǎn)生器單元ARCHITECTURE A OF COUNTER ISSIGNAL X:STD_L0GIC_VECT0R(1 DOWNTO 0);BEGINPROCESS(Q,CLR)BEGINIF(CLR='O')THENT2<='0'T3<='0'T4<='0'X<="00"ELSIF(Q'EVENT AND Q='1')THEN-當(dāng)出現(xiàn)時(shí)鐘 Q上邊沿時(shí),計(jì)數(shù)器的值 X+1X<=X+1;-由當(dāng)前值X譯碼后產(chǎn)生節(jié)拍脈沖信號(hào)T2,T3,T4.T2<=

41、(N0T X(1)AND X(0);T3<=X(1)AND (NOT X(0);T4<=X(1)AND X(0);END IF;END PROCESS;END A;13.11:微程序控制器單元微程序控制器單元微程序控制器的內(nèi)部結(jié)構(gòu)地址轉(zhuǎn)移邏輯電路ADDRI 7I旨CE &I 5SE 5工4匚4FZSE3I-FC E2i-T-4SE 1I-F1FSLIBRARY IEEE;ENTITY ADDR ISPORT(I7,I6,I5,I4:IN STD_LOGIC;FZ,FC,T4,P1,P2:IN STD_LOGIC;SE6,SE5,SE4,SE3,SE2,SE1:OUT STD

42、_LOGIC);END ADDR;-地址轉(zhuǎn)移邏輯電路ARCHITECTURE A OF ADDR ISBEGINSE6<='1'SE5<=NOT (NOT FC OR FZ ) AND P2 AND T4);SE4<=NOT(I7 AND P1 AND T4);SE3<=NOT(I6 AND P1 AND T4);SE2<=NOT(I5 AND P1 AND T4);SE1<=NOT(I4 AND P1 AND T4);END A;曰日T2 E 6SE SSE4SE 3 E £SE 1D5D403D2D1UA5UA4UA3UA 2u

43、mUAQ 0 CLR13.11.2:微地址寄存器微地址寄存器內(nèi)部結(jié)構(gòu)LIBRARY IEEE;ENTITY MMM ISPORT(SE:IN STD_LOGIC;T2:IN STD_LOGIC;D:IN STD_LOGIC;CLR:IN STD_LOGIC;UA:OUT STD_LOGIC);aaEND MMM;-帶有異步清零和異步置一功能的觸發(fā)器,由多個(gè)mmr組成微地址寄存器ARCHITECTURE A OF MMM ISBEGINPROCESS(CLR,SE,T2)BEGINIF(CLR='O')THENUA<='0:ELSIF(SE='O')

44、THENUA<='1'ELSIF(T2'EVENT AND T2='1')THENUA<=D;END IF;END PROCESS;END A;微地址轉(zhuǎn)換器F J,UA 5UA4 UR DL 5 .0丁 UA 27 un±-UA 0i3n“i J i j u 4 i li i u i u j i 4 i 4 i u j i li a I ii a I n J LIBRARY IEEE;ENTITY F1 ISPORT(UA5,UA4,UA3,UA2,UA1,UA0:IN STD_LOGIC;D:OUT STD_LOGIC_VECTO

45、R(5 DOWNTO 0);END F1;-微地址轉(zhuǎn)換器ARCHITECTURE A OF F1 ISBEGIND(4) <=UA4;D( 3)<=UA3;D( 2)<=UA2;D(1)<=UA1;D(0)<=UA0;END A;控制存儲(chǔ)器CONTROMAODR E 5 G 5 0 1D 1 S - 0 JLIBRARY IEEE;ENTITY CONTROM ISPORT(ADDR: IN STD_LOGIC_VECTOR(5 DOWNTO 0);UA:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);D:OUT STD_LOGIC_VECTOR

46、(18 DOWNTO 0);END CONTROM;操作控制器單元ARCHITECTURE A OF CONTROM ISSIGNAL DATAOUT: STD_LOGIC_VECTOR(24 DOWNTO 0);BEGINPROCESS(ADDR)BEGINCASE ADDR ISWHEN "000000" => DATAOUT<="111OO11OO1OO1111OOOOOOO1O"WHEN "000010" => -WHEN "000001" => WHEN "010101&

47、quot; => WHEN "010110" => -MULWHEN "001000" => -INWHEN "001001" => WHEN "000011" => -MOVWHEN "001010" => WHEN "000100" => WHEN "000101" => -CMPWHEN "001011" => WHEN "100000" => WHE

48、N "110000" => -JBWHEN "001100" => WHEN "000110" => WHEN "000111" => -ADDWHEN "001101" => WHEN "010010" => -INCWHEN "001110" => WHEN "010011" => -JMPWHEN "001111" => -OUTWHEN OTHERS =&

49、gt; END CASE;UA(5 DOWNTO 0)<=DATAOUT(5 DOWNTO 0);D(18 DOWNTO 0)<=DATAOUT(24 DOWNTO 6);END PROCESS;取指END A;13.11.5:微指令寄存器LIBRARY IEEE;ENTITY MCOMMAND ISPORT(T2,T3,T4,I3,I2,I1,IO:IN STD_LOGIC;O:IN STD_L0GIC_VECT0R(18 DOWNTO 0);P1,P2 ,L OAD,LDPC ,L DAR,LDIR ,L DR 0,L DR1, LDR2 ,L DR3,R0_B,R1_B,R2_B,R3_B,S1,S0 ,ALU_B, LDAC ,L DDR,WR,CS,SW_B ,L ED_B, LDFR:OUT STD_LOGIC);END MCOMMAND微地址寄

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論