VHDL中,在两个Proc
ESS中对同一个信号赋值,要做那些事情?
对两个
PROCESS问题,可以用中间信号作传递完成:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity dou is
port ( clk1 : in std_logic;
clk2 : in std_logic;
q : out std_logic_vector(0 to 3)
);
end dou;
architecture rtl of dou is
signal q1,q2 : integer:=0;
signal s : std_logic;
begin
process(clk1)
begin
if clk1'event and clk1='1' then
q1<=q1+1;
end if;
end process;
process(clk2)
begin
if clk2'event and clk2='1' then
q2<=q2+1;
end if;
end process;
process(q1,q2)
begin
q<=conv_std_logic_vector(q1+q2,4);
end process;
end rtl;