VHDL的计数器
LIBRARY IEEE;<br />USE IEEE.STD_LOGIC_1164.ALL;<br />USE IEEE.STD_LOGIC_UNSIGNED.ALL;<br />ENTITY COUNTER IS<br /> PORT( CLK:IN STD_LOGIC;<br /> EN: IN STD_LOGIC;<br /> S: IN STD_LOGIC;<br /> LOAD: IN STD_LOGIC_VECTOR(3 DOWNTO 0);<br /> C: OUT STD_LOGIC;<br /> JISHU: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)<br /> );<br />END ENTITY;<br /> ARCHITECTURE BHV OF COUNTER IS<br /> SIGNAL TEMP:STD_LOGIC_VECTOR(3 DOWNTO 0);<br />BEGIN<br /> PROCESS(EN,CLK,S,LOAD)<br /> BEGIN<br /> IF CLK'EVENT AND CLK='1' THEN<br /> IF(EN='1') <br /> THEN IF(S='1') THEN TEMP<=LOAD;<br /> ELSIF(TEMP<10) THEN TEMP<=TEMP+1; C<='0';<br /> ELSE TEMP<="0000";<br /> C<='1';<br /> END IF;<br /> END IF;<br /> END IF;<br /> <br /> <br /> <br /> END PROCESS;<br /> JISHU<=TEMP;<br />END BHV;<br />其中EN是使能端,如果是1的话就计数,否则就不计,<br />S是置位端,如果是1的话就把LOAD的值赋给TEMP<br />但是编译通不过,不知错在哪?<br /> <br /> 是不是文件名的问题
看看文件名是不是counter.vhd,如果不是的话改成这个试试估计是你的文件名不对
我把你的程序直接复制了,放到quartus2下面编译,没有任何问题。<br /><br />就跟楼上说的,把文件改了试试看。谢了
哦,我用的是MAXPLUS 2,不过谢谢了
页:
[1]