我想控制来自不同过程的向量的不同子范围。
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的值也未定义。我希望寄存器的每一位都被视为一个独立的触发器。