在不同过程中分配向量的子范围

时间:2019-06-18 19:41:19

标签: vhdl

我想控制来自不同过程的向量的不同子范围。

type t_regs is array (integer range <>) of std_logic_vector(15 downto 0);
...
signal regs    : t_regs(NUM_REGS-1 downto 0);
...

process (clk, nreset)
begin
    for i in 0 to NUM_REGS-1 loop
        if (nreset = '0') then
            regs(i)(15) <= '1';
        elsif falling_edge(clk) then
            -- set regs(i)(15)   
       end if;
    end loop;
end process;

process (clk, nreset)
begin
    for i in 0 to NUM_REGS-1 loop
        if (nreset = '0') then
            regs(i)(14 downto 10) <= (others => '0');
        elsif falling_edge(clk) then
            -- set regs(i)(14 downto 10)   
       end if;
    end loop;
end process;

-- Set other bits of regs
...

即使在每个过程中设置的向量的子范围不重叠,但是在模拟此代码时,reg的值也未定义。我希望寄存器的每一位都被视为一个独立的触发器。

0 个答案:

没有答案