cpurom.vhl

来自「简单的CPU设计数字系统实验」· VHL 代码 · 共 53 行

VHL
53
字号
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

ENTITY cpu_rom IS
	
	PORT(
		a4,a3,a2,a1,a0	: IN	STD_LOGIC;
		
        sw_pc,pc_ar,pc_in,ram_ir_or,m_ri,ri_m,plus,sub,and	:  OUT	STD_LOGIC;
        or,mul,m_pc,en_io	:  OUT	STD_LOGIC);

    END cpu_rom;

ARCHITECTURE a OF cpu_rom IS
	SIGNAL sk : STD_LOGIC_VECTOR(4 downto 0);
	SIGNAL sel : STD_LOGIC_VECTOR(12 downto 0);
BEGIN
	
   sk<=a4&a3&a2&a1&a0;
sel<="100000000000000001"when sk="00000" else
     "011000000000000001"when sk="00001" else
     "000100000000010000"when sk="00010" else
     "011000000000001010"when sk="11010" else
     "000010000000000001"when sk="01010" else
     "011001000000001011"when sk="11011" else
     "000010000000000001"when sk="01011" else  
     "000000100000000001"when sk="11100" else
     "000000010000000001"when sk="11101" else
     "000000001000000001"when sk="11110" else
     "000000000100000001"when sk="11111" else
     "000000000010000001"when sk="01111" else
     "011000000000001100"when sk="11001" else
     "000000000001000001"when sk="01100" else
     "001000000000000001"when sk="01101" else
     "000000000000100001"when sk="01001" else

   
     "000000000000000000";
     


sw_pc<=sel(12);pc_ar<=sel(11);
pc_in<=sel(10);ram_ir_dr<=sel(9);m_ri<=sel(8);ri_m<=sel(7);
lus<=sel(6);sub<=sel(5);and<=sel(4);or<=sel(3);
mul<=sel(2);m_pc<=sel(1);en_io<=sel(0);	



END a;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?