【正文】
在本課程設(shè)計中,除了對CPU內(nèi)部運算器,控制器以及存儲器之間的聯(lián)系與分工合作的了解之外,在建立波形圖時,由于受平日建圖的影響,忘記添加CPU內(nèi)部寄存器組,另外在添加寄存器信號后,還要將相同的劃成一個GROUP,在這之前的練習(xí)中,我是沒有接觸過的。 M_address = MAR。 ELSE Write_Read = 39。 b: PROCESS (reset, status) BEGIN IF (reset = 39。 END CASE。 END CASE。 WHEN Read = MAR = IR(11 DOWNTO 0)。 WHEN Jz = 條件轉(zhuǎn)移指令 IF(R0=00000000) then PC := IR(11 DOWNTO 0)。 WHEN OTHERS = NULL。 WHEN OTHERS= R3:=A。 END CASE。 WHEN 0011= R3:=R0。 WHEN 0110= R2:=R1。 WHEN 0001= R1:=R0。 WHEN Swap = Swap: Rx to Ry。 WHEN 01= R1:=R1 XOR A。 WHEN OTHERS= R3:=R3 OR A。 WHEN orp = Rx:= Rx OR A。 WHEN 01= R1:=R1 AND A。039。 39。 WHEN 01= R1:= A( 6 DOWNTO 0 ) amp。 END CASE。 WHEN OTHERS= R3:= 39。 WHEN 10= R2:= 39。 WHEN 01= R1:= 39。 WHEN shrp = CASE IR(11 DOWNTO 10) IS WHEN 00= R0:= 39。 WHEN 01= R1:= A。 R3:=temp(7 DOWNTO 0)。 overflow = temp(8) xor temp(7)。 WHEN 10= temp :=(R2(7) amp。 R1(7 DOWNTO 0)) + NOT(A(7) amp。 A(7 DOWNTO 0)) + 1。 END CASE。 R3(7 DOWNTO 0)) + (A(7) amp。 A(7 DOWNTO 0))。 R1:=temp(7 DOWNTO 0)。 overflow = temp(8) XOR temp(7)。 CASE IR(11 DOWNTO 10) IS WHEN 00= temp := (R0(7) amp。 END CASE。 WHEN Move|addx|subp|andp|orp|xorp|Swap= CASE IR(9 DOWNTO 8) IS Ry to A WHEN 00= A:=R0。 WHEN 01= A:= R1。 END IF。 CASE status IS WHEN 0= 狀態(tài)0 IR = M_data_in amp。event AND clock=39。 MDR = (OTHERS=39。)。039。 R2 := (OTHERS=39。)。039。) THEN 清零 IR = (OTHERS=39。 通用寄存器 VARIABLE A: std_logic_vector(7 DOWNTO 0)。