reg.vhd

来自「本程序是用VHDL语言实现异步通信控制器」· VHDL 代码 · 共 31 行

VHD
31
字号
LIBRARY ieee; 
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
entity reg is
	port(reset,CS,A0,RD,WR:IN STD_LOGIC;
		 FE,PE,OVERFLOW,RBF,TBE:in STD_LOGIC;
			IRQ:OUT STD_LOGIC;
		 din:in std_logic_vector(7 downto 0);
		 status:out std_logic_vector(7 downto 0));
end;
architecture behavior of reg is
signal ERXE,ETBE,ERBF:STD_LOGIC;
begin
process(reset)
begin
	if(reset='1'and CS='0'and A0='1'and RD='1'and WR='0')then
		ERXE<=din(2);ETBE<=din(1);ERBF<=din(0);
	elsif(reset='0')then	ERXE<='0';ETBE<='0';ERBF<='0';
	end if;
end process;
status<="000"&FE&OVERFLOW&PE&TBE&RBF when CS='0'and A0='1'and RD='0'and WR='1';
IRQ<='1'WHEN(ERBF='1'AND RBF='1')OR(TBE='1'AND ETBE='1')OR(ERXE='1'AND(PE='1'OR OVERFLOW='1'OR PE='1'))
	ELSE '0';
end;


		
		
		
		 

⌨️ 快捷键说明

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