library IEEE;<br />USE IEEE.STD_LOGIC_1164.ALL;<br />USE IEEE.STD_LOGIC_ARITH.ALL;<br />USE IEEE.STD_LOGIC_UNSIGNED.ALL;<br /><br />entity test_ram is<br /><br /> port<br /> (<br /> data_out: out std_logic_vector(7 downto 0);<br /> wraddr : out std_logic_vector(9 downto 0);<br /> wr_en : out std_logic;<br /> data_in : in std_logic_vector(7 downto 0);<br /> rdaddr : out std_logic_vector(9 downto 0);<br /> rd_en : out std_logic;<br /> clk,reset: in std_logic;<br /> clr : out std_logic<br /> );<br />end test_ram;<br /><br /><br />architecture a of test_ram is<br /> signal data_temp:std_logic_vector(7 downto 0):="00000000";<br /> signal addr_temp:std_logic_vector(9 downto 0):="0000000000";<br /> signal write_en:std_logic:='1';<br /> signal read_en:std_logic:='0'; <br />begin<br /> <br />-- write or read judge process<br /> process(reset,clk) is <br /> -- Declaration(s) <br /> begin <br /> if(reset = '1') then<br /> data_temp<="00000000";<br /> addr_temp<="0000000000";<br /> end if;<br /> <br /> if(data_temp>100) then<br /> if(write_en='1') then<br /> write_en<='0';<br /> read_en<='1';<br /> elsif(read_en='1') then<br /> write_en<='1';<br /> read_en<='0'; <br /> end if;<br /> end if; <br /> end process; <br /> <br />-- data and addr product process<br /> process(reset, clk) is <br /> begin <br /> if(reset = '0') then<br /> if(write_en='1') then<br /> data_temp<=data_temp+1;<br /> addr_temp<=addr_temp+1;<br /> elsif(read_en='1') then<br /> addr_temp<=addr_temp+1;<br /> end if;<br /> else<br /> data_temp<="00000000";<br /> addr_temp<="0000000000";<br /> end if;<br /> end process; <br /> <br />-- out process<br /> process(reset, clk) is <br /> -- Declaration(s) <br /> begin <br /> <br /> if(reset = '0') then<br /> if(rising_edge(clk)) then<br />-- wr_en<=write_en; <br /> end if; <br /> end if; <br /> data_out<=data_temp;<br /> wraddr<=addr_temp;<br /> rdaddr<=addr_temp;<br /> end process; <br /> <br />end a;<br /><br />编译环境:quartus 7.2<br />我想用单独的一个进程专门做输出、输入信号的处理。但是已编译就出现这个错误如下(请高人指点,如何在多进程间传递信号):<br />Error (10028): Can't resolve multiple constant drivers for net "addr_temp[0]" at test_ram.vhd(57)<br /><br /><br /> 相关链接:<a href='duanjinzhenhttp://'>duanjinzhenhttp://</a> |
|