⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interrupt.vhd

📁 altera公司的FPGA的一些开发用的VHDL的源代码用于学习
💻 VHD
字号:

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;

Entity interrupt is 
Port(
     LINT,READY,LCLK,RST : IN  STD_LOGIC;
     CCS,ADS,BLAST,WR    : OUT STD_LOGIC;
     LINT1,LINT2,CTL     : OUT STD_LOGIC;
     LBE                 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
     LD                  : INOUT STD_LOGIC_VECTOR(31 DOWNTO 0);
     LA                  : OUT STD_LOGIC_VECTOR(31 DOWNTO 2);
     COUNT1              : OUT STD_LOGIC_VECTOR( 27 DOWNTO 0)
);
END INTERRUPT;
ARCHITECTURE A OF INTERRUPT IS
SIGNAL EN,tLINT0,tLINT1 : STD_LOGIC;
SIGNAL COUNT    : STD_LOGIC_VECTOR( 27 DOWNTO 0);
SIGNAL tDATA    : STD_LOGIC_VECTOR(31 DOWNTO 0);

BEGIN

COUNT1<=COUNT;


PROCESS(RST,LCLK)
BEGIN
	IF RST='0' THEN
	   EN<='0';CCS<='1';ADS<='1';BLAST<='1';WR<='1';
	   CTL<='1';LBE(3 DOWNTO 0)<="0000";tLINT0<='1';tLINT1<='1';
	   COUNT<="0000000000000000000000000000";tDATA<="00000000000000000000000000000000";
	ELSIF LCLK'EVENT AND LCLK='1' THEN
	   COUNT<=COUNT+1;
	   IF LINT='0' THEN
	      tLINT0<='0'; END IF;
	   IF tLINT0='0' THEN
	     -- COUNT<=COUNT+1;
	      IF COUNT="0000000000000000000000000001" THEN
	         CCS<='0';ADS<='0';WR<='0';BLAST<='0';
	         LA(31 DOWNTO 2)<="000000000000000000000011100000"; END IF;--E0
	      IF COUNT="0000000000000000000000000010" THEN
	         CCS<='1';ADS<='1';WR<='0';BLAST<='0';END IF;
	      IF READY='0' THEN
	         tDATA<= LD;tLINT0<='1';WR<='1';COUNT<="0000000000000000000000000000"; END IF;
	   END IF;
	   IF COUNT="0010111100000000000000000001" THEN tLINT1<='0';END IF;
	   IF tLINT1='0' THEN
	      COUNT<=COUNT+1;
	      IF COUNT="0000000000000000000000000001" THEN
	         CCS<='0';ADS<='0';WR<='1';BLAST<='0';
	         LA(31 DOWNTO 2)<="000000000000000000000011100000";END IF;--E0
	      IF COUNT="0000000000000000000000000010" THEN
	         CCS<='1';ADS<='1';BLAST<='0';LD<= tDATA;END IF;
	      IF READY='0' THEN
	         BLAST<='1';tLINT1<='1';COUNT<="0000000000000000000000000000"; END IF;
	   END IF;
	   --IF tDATA="00000000000000000000000000000001" THEN
	      
	
	
	END IF;
	         
	


END PROCESS;

END A;

⌨️ 快捷键说明

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