好像只利用边缘还是不行: 我自己也写了一个程序,拜托高手看看:为了简化描述:我假设只对按键K1,进行识别计数;按键clr为清零信号。clk为8hz。输出计数counter《0 to 3》. 程序如下: signal count: std_logic_vector(1 downto 0); signal flag,countenable,k11,clr1:std_logic; P1:process(clk,clr) begin if(clr='0') then flag<='0'; count<="00"; else if(clk'event and clk='1') then if (flag='1') then count<=count+'1'; if(count="11") then flag<='0'; end if; end if; end if; end if; end process;  2:process(k1,clr) begin if(flag='0') then flag<='1';---------------------某个键按了后FLAG=1,等待0.5s后flag=0, if(clk'event and clk='1') then if(k1='0') then----------对按键锁存 k11<='0'; else k11<='1'; end if; if(clr='0') then clr1<='0'; else clr1<='1'; end if; end if; end if; end process; P3 :process(k11) begin counter<=counter+'1'; end process; 这个程序在ISE8.2 check syntax 能通过,但在ISE8.1就不行了,不知道怎么回事? [em06][em06] |