| 
 
| 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 />                    | 
 |