Board logo

标题: 程序错在哪儿,该怎么改呢? [打印本页]

作者: cleverwjq@163.c    时间: 2003-10-26 10:12     标题: 程序错在哪儿,该怎么改呢?

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY jia IS PORT( CLK,A :IN STD_LOGIC; DATA:IN STD_LOGIC_Vector (7 downto 0); q: out STD_LOGIC_Vector (7 downto 0); b :OUT STD_LOGIC); END jia; ARCHITECTURE rtl OF jia IS signal arf : std_logic_Vector(7 downto 0); BEGIN PROCESS(CLK,A) Begin IF(CLK'EVENT AND CLK='1')THEN IF (A'EVENT AND A='1') then arf<= DATA; --A的上升沿来到后将DATA的值赋给arf end if; arf <= arf-1; --每个clk时钟arf递减1 q<=arf; END IF; END PROCESS; b<='1' WHEN(arf = 0) else '0'; --当arf为零时输出一个高电平 END rtl; 编译提示ignored unnecessary input pin'A'
作者: yupc123@163.com    时间: 2003-10-26 10:12

IF(CLK'EVENT AND CLK='1')THEN IF (A'EVENT AND A='1') then 以上两条语句逻辑上有错 应改为: if clk'event and clk='1' then arf <=arf-1; end if if a'event and a='1' then if clk='1' then arf <= data; end if; end if;




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0