【正文】
WHEN 000111 = DATAOUT=100000100011111111010000000。 WHEN 001000 = DATAOUT=101000100011111110000010001。 WHEN 001001 = DATAOUT=010000100011111110000000000。 WHEN 001010 = DATAOUT=100000000011011111000000000。 桂林電子科技大學(xué)計(jì)算機(jī)組成原理課程設(shè)計(jì)說明書 第 22 頁 WHEN 001011 = DATAOUT=101000111001111111000010001。 WHEN 001100 = DATAOUT=100011111101111111000000000。 WHEN 001101 = DATAOUT=100011110001111111000000000。 WHEN 001110 = DATAOUT=100000100011111111001000000。 WHEN 001111 = DATAOUT=100010100011110011000000000。 WHEN 010000 = DATAOUT=010000100011111110000000000。 WHEN 010001 = DATAOUT=100000000011100111000000000。 WHEN 100000 = DATAOUT=010000100011111110000000000。 WHEN OTHERS = DATAOUT=100000100011111111000000000。 END CASE。 UA(5 DOWNTO 0)=DATAOUT(5 DOWNTO 0)。 O(20 DOWNTO 0)=DATAOUT(26 DOWNTO 6)。 END PROCESS。 END A。 控制存儲器 CONROM 電路圖 如 圖 13 所示 : 圖 13 ? ROM 芯片的設(shè)計(jì) VHDL 源程序 : LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY ROM IS PORT( DOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)。 ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 CS_I:IN STD_LOGIC )。 END ROM。 ARCHITECTURE A OF ROM IS BEGIN 桂林電子科技大學(xué)計(jì)算機(jī)組成原理課程設(shè)計(jì)說明書 第 23 頁 DOUT=0010000100010001 WHEN ADDR=00000000 AND CS_I=39。039。 ELSE 0010001000000101 WHEN ADDR=00000001 AND CS_I=39。039。 ELSE 0001000000000000 WHEN ADDR=00000010 AND CS_I=39。039。 ELSE 1011000100000000 WHEN ADDR=00000011 AND CS_I=39。039。 ELSE 0101000100000000 WHEN ADDR=00000100 AND CS_I=39。039。 ELSE 0110001000000000 WHEN ADDR=00000101 AND CS_I=39。039。 ELSE 0111000000000010 WHEN ADDR=00000110 AND CS_I=39。039。 ELSE 0010000000000000 WHEN ADDR=00000111 AND CS_I=39。039。 ELSE 0010000100010001 WHEN ADDR=00001000 AND CS_I=39。039。 ELSE 0010001000000101 WHEN ADDR=00001001 AND CS_I=39。039。 ELSE 0011011100000000 WHEN ADDR=00001010 AND CS_I=39。039。 ELSE 0101000100000000 WHEN ADDR=00001011 AND CS_I=39。039。 ELSE 1101111100000000 WHEN ADDR=00001100 AND CS_I=39。039。 ELSE 1110000000010000 WHEN ADDR=00001101 AND CS_I=39。039。 ELSE 1100111100000000 WHEN ADDR=00001110 AND CS_I=39。039。 ELSE 0100110000000000 WHEN ADDR=00001111 AND CS_I=39。039。 ELSE 0110001000000000 WHEN ADDR=00010000 AND CS_I=39。039。 ELSE 0111000000001010 WHEN ADDR=00010001 AND CS_I=39。039。 ELSE 1000000000010000 WHEN ADDR=00010010 AND CS_I=39。039。 ELSE 1010000000000000 WHEN ADDR=00010011 AND CS_I=39。039。 ELSE 1001000000010011 WHEN ADDR=00010100 AND CS_I=39。039。 ELSE 0000000000000000。 END A。 ROM 芯片的設(shè)計(jì) 電路圖 如 圖 14 所示 : 圖 14 桂林電子科技大學(xué)計(jì)算機(jī)組成原理課程設(shè)計(jì)說明書 第 24 頁 ? 程序計(jì)數(shù)器 PC 程序計(jì)數(shù)器功能表: CLR LOAD LDPC 功能 0 將 PC 清 0 1 0 ↑ BUSPC 1 1 0 不裝入,也不計(jì)數(shù) 1 1 ↑ PC+1 VHDL 源程序 : LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY PC IS PORT( LOAD,LDPC,CLR:IN STD_LOGIC。 D:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 O:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 END PC。 ARCHITECTURE A OF PC IS SIGNAL QOUT:STD_LOGIC_VECTOR(7 DOWNTO 0)。 BEGIN PROCESS(LDPC,CLR,LOAD) BEGIN IF(CLR=39。039。)THEN QOUT=00000000。 ELSIF(LDPC39。EVENT AND LDPC=39。139。)THEN IF(LOAD=39。039。)THEN QOUT=D。 ELSE QOUT=QOUT+1。 END IF。 END IF。 END PROCESS。 O=QOUT。 END A。 桂林電子科技大學(xué)計(jì)算機(jī)組成原理課程設(shè)計(jì)說明書 第 25 頁 程序計(jì)數(shù)器 PC 電路圖 如 圖 15 所示 : 圖 15 ? RAM芯片的設(shè)計(jì) RAM 芯片功能表: CS_D RD_D 功能 1 選擇 0(↓ ) 0 寫 0(↓ ) 1 讀 VHDL 源程序 : LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY RAM IS PORT( RD_D,CS_D:IN STD_LOGIC。 DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 END RAM。 ARCHITECTURE A OF RAM IS TYPE MEMORY IS ARRAY(0 TO 31) OF STD_LOGIC_VECTOR(7 DOWNTO 0)。 BEGIN PROCESS(CS_D) VARIABLE MEM:MEMORY。 BEGIN 桂林電子科技大學(xué)計(jì)算機(jī)組成原理課程設(shè)計(jì)說明書 第 26 頁 IF(CS_D39。EVENT AND CS_D=39。039。) THEN IF(RD_D=39。039。) THEN MEM(CONV_INTEGER(ADDR(4 DOWNTO 0))):=DIN。 ELSE DOUT=MEM(CONV_INTEGER(ADDR(4 DOWNTO 0)))。 END IF。 END IF。 END PROCESS。 END A。 RAM 芯片的設(shè)計(jì) 電路圖 如 圖 16 所示 : 圖 16 ? 1:2分配器單元 FEN2 VHDL 源程序 : LIBRARY IEEE。 USE 。 ENTITY FEN2 IS PORT( LED_B:IN STD_LOGIC。 DBUS:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 FENOUT,OUTBUS:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 END FEN2。 ARCHITECTURE A OF FEN2 IS BEGIN PROCESS BEGIN IF(LED_B=39。039。) THEN OUTBUS=DBUS。 ELSE FENOUT=DBUS。 桂林電子科技大學(xué)計(jì)算機(jī)組成原理課程設(shè)計(jì)說明書 第 27 頁 END IF。 END PROCESS。 END A。 1:2 分配器單元 FEN2 電