cpu_defs.vhd

来自「微程序模拟CPU实现加减与或异或转移储存等功能。」· VHDL 代码 · 共 35 行

VHD
35
字号
--实验12 微程序控制器实验(头文件)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;

PACKAGE cpu_defs IS
	TYPE     opcode IS (load, store, add, sub, bne,cand,add1);	
	CONSTANT word_w: NATURAL :=8;
	CONSTANT op_w: NATURAL :=3;
	CONSTANT rfill: STD_LOGIC_VECTOR(op_w-1 downto 0):=(others =>'0');
	--FUNCTIOn slv2op(slv:IN STD_LOGIC_VECTOR) RETURN opcode;
	FUNCTION op2slv(op:in opcode) RETURN STD_LOGIC_VECTOR;
END PACKAGE cpu_defs;

PACKAGE BODY cpu_defs IS
	TYPE     optable IS ARRAY(opcode) OF STD_LOGIC_VECTOR(op_w-1 DOWNTO 0);
	CONSTANT trans_table:optable :=("000", "001", "010", "011", "100","101","110");
	FUNCTION op2slv(op:IN opcode) RETURN STD_LOGIC_VECTOR IS
	BEGIN
			RETURN trans_table(op);
	END FUNCTION op2slv;
	--function slv2op(slv:in std_logic_vector) return opcode is
	--	variable transop:opcode;
	--	begin
	--		for i in opcode loop
	--			if slv=trans_table(i) then
	--				transop:=i;
	--			end if;
	--		end loop;
	--		return transop;
	--end function slv2op;
END PACKAGE BODY cpu_defs;


		
	

⌨️ 快捷键说明

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