【正文】
LDRI=DATAOUT(15) AND T4。 LDAR=DATAOUT(17) AND T3。 LOAD=DATAOUT(19)。) THEN DATAOUT(19 DOWNTO 0)=D(19 DOWNTO 0)。EVENT AND T2=39。ARCHITECTURE A OF MCOMMAND ISSIGNAL DATAOUT:STD_LOGIC_VECTOR(19 DOWNTO 0)。 ALU_B,SW_B,LED_B,RD_D,CS_D,RAM_B,CS_I,ADDR_B,P1,P2:OUT STD_LOGIC )。 D:IN STD_LOGIC_VECTOR(19 DOWNTO 0)。USE 。USE 。END A。 UA1=D(1)。ARCHITECTURE A OF F3 ISBEGIN UA3=D(3)。 UA3,UA2,UA1,UA0: OUT STD_LOGIC )。USE 。END A。 O(19 DOWNTO 0)=DATAOUT(25 DOWNTO 6)。 END CASE。 WHEN 010000 = DATAOUT=01000010001111111000000000。 WHEN 001000 = DATAOUT=10001011010111111100000000。 WHEN 000110 = DATAOUT=01000010001111111000000000。 WHEN 000100 = DATAOUT=10000010001111111001000000。 WHEN 000010 = DATAOUT=10001110100111111100000000。BEGIN PROCESS BEGIN CASE ADDR IS WHEN 000000 = DATAOUT=11010010001111110110000000。END CONTROM。 UA:OUT STD_LOGIC_VECTOR(5 DOWNTO 0)。USE 。USE 。END A。 UA1=D(1)。 UA3=D(3)。ARCHITECTURE A OF F2 ISBEGIN UA5=D(5)。 UA5,UA4,UA3,UA2,UA1,UA0: OUT STD_LOGIC )。USE 。END A。 D(1)=UA1。 D(3)=UA3。ARCHITECTURE A OF F1 ISBEGIN D(5)=UA5。 D:OUT STD_LOGIC_VECTOR(5 DOWNTO 0))。USE 。END A。 SE1=NOT(I13 AND P1 AND T4)。 SE3=NOT(I15 AND P1 AND T4)。139。END ADDR。 ZF,CF,T4,P1,P2:IN STD_LOGIC。USE 。END A。 END IF。139。 ELSIF(CLK39。)THEN UA=39。 ELSIF(SE=39。) THEN UA=39。ARCHITECTURE A OF MMM ISBEGIN PROCESS(CLR,SE,CLK) BEGIN IF(CLR=39。 UA:OUT STD_LOGIC )。 D:IN STD_LOGIC。ENTITY MMM IS PORT( SE:IN STD_LOGIC。AA里的MMM:LIBRARY IEEE。但在沒明白原理前,千萬不要畏懼困難,慢慢的一點(diǎn)一點(diǎn)學(xué)習(xí),特別是仿真軟件的學(xué)習(xí)和使用,需要花費(fèi)相當(dāng)?shù)臅r(shí)間。聽得多了,看得多了,就漸漸的明白了一些課設(shè)的相關(guān)知識(shí),然后畫指令流程圖,設(shè)計(jì)指令,寫程序完成任務(wù),這些幾乎都是水到渠成的工作了,很多都可以依葫蘆畫瓢來完成。直到后來才發(fā)現(xiàn),原來除了設(shè)計(jì)自己的指令外,我們需要寫MCOMMAND,寫CONTROM來解析我們寫的指令,這或許可以算得上一個(gè)極簡單的CPU模型了吧。剛開始去上老師的課時(shí),聽得一頭霧水,因?yàn)榘l(fā)現(xiàn)好多地方自己同不懂。查看之后發(fā)現(xiàn)是ALU里“CMP”運(yùn)算代碼有問題。 12。 R3(F1存到R3)。T4六.嵌入式CISC模型計(jì)算機(jī)的頂層電路圖CROM:AA。T4SE1=I4T4SE2=I5T4SE3=I6T4SE4=I7A5的異步置“1”端SE6實(shí)際未使用)SE5= FSA4~181。指令助記符指令格式功能151211 109 870IN1 Rd0101Rd(Rd)+1→Rd,鎖存標(biāo)志位MOV Rd,im0001Rdim立即數(shù)→RdCMP Rs,Rd0011RsRdRs,Rd比較,INC Rd0010Rd輸入設(shè)備→RdJNS addr0100addr若大于,則addr→PCJMP addr0110addraddr→PCOUT1 Rs1001Rs(Rs)→輸出設(shè)備MOV1 Rs,Rd1000RsRd(Rs)→RdNOT Rd0111RdData取反指令格式:(1)I/O指令(單字節(jié))I說明:對(duì)Rs和Rd的規(guī)定:Rs或Rd選定的寄存器0 0R00 1R11 0R2 1 1R3 五.所有機(jī)器指令的微程序流程圖00PC→ABUS(I)RD ROMIBUS→IRPC+100P(1)MOV1OUT1IN1MOVNOTJMPJNSCMPINC030209080107O60504Rs→XX→Rs鎖存CF,ZFRs→XRd→Y鎖存CF,ZFRd→YY+1→Rd鎖存CF,ZFIR(I)→RdRs→LEDRs→XX→RdIR(A)→PCSW→Rd200000P(2)00000000000000 CF=1ZF=1CF=0ZF=010ROM→BUSBUS→PC0000設(shè)計(jì)操作控制器單元(即微程序控制器) (1)設(shè)計(jì)微指令格式和微指令代碼表CISC模型機(jī)系統(tǒng)使用的微指令采用全水平型微指令,字長為25位,其中微命令字段為17位,P字段為2位,