你进程里的时钟源太多了吧,改少点应该就可以了<br>
试试这样可以吗<br>
<br>
library ieee;<br>
use ieee.std_logic_1164.all;<br>
use ieee.std_logic_unsigned.all;<br>
<br>
ENTITY myfpga IS<br>
PORT( CLK : IN ... 我试过了~~~可以,,谢谢 CNT := 0; TRAGOUT <= '0'; <br>
ELSE CNT := CNT + 1;<br>
END IF;<br>
END IF;<br>
END PROCESS; <br>
TRAGOUT<=T_OUT;<br>
这里输出犯了错误!!!!!!!!!<br>
IF语句逻辑 表达的也不太好 LIBRARY IEEE;<br>
USE IEEE.STD_LOGIC_1164.ALL; <br>
<br>
ENTITY test IS<br>
PORT( CLK : IN STD_LOGIC;<br>
TRAG: IN STD_LOGIC;<br>
TRAGOUT: BUFFER STD_LOGIC);<br>
END;<br>
<br>
ARCHITECTURE BHV OF test IS<br>
SIGNAL T_OUT:STD_LOGIC;<br>
BEGIN<br>
PROCESS(CLK,TRAG,TRAGOUT)<br>
BEGIN<br>
IF TRAG'EVENT AND TRAG='1' THEN <br>
T_OUT <= '1'; <br>
END IF;<br>
END PROCESS;<br>
<br>
PROCESS(T_OUT,CLK)<br>
VARIABLE CNT:INTEGER range 0 to 10 := 0;<br>
BEGIN<br>
IF CLK'EVENT AND CLK='0' THEN<br>
IF T_OUT = '1' AND CNT = 10 THEN <br>
CNT := 0; <br>
TRAGOUT <= '0'; <br>
ELSE <br>
CNT := CNT + 1;<br>
TRAGOUT<=T_OUT;<br>
END IF;<br>
END IF;<br>
END PROCESS; <br>
<br>
END;<br>
是这样的效果么 ???????????? 原帖由 liushui666 于 2006-10-22 09:33 发表<br>
CNT := 0; TRAGOUT <= '0'; <br>
ELSE CNT := CNT + 1;<br>
END IF;<br>
END IF;<br>
END PROCESS; <br>
TRAGOUT<=T_OUT;<br>
这里输出犯了错误!!!!!!!!!<br>
IF语句逻辑 表达的也不太好 谢谢了~~
http://bbs.vibesic.com/images/smilies/default/smile.gif 把BUFFER改掉试拭 process不可以同时对上,下沿敏感~~~~
页:
1
[2]