在测试台上运行真值表的循环的VHDL

在测试台上运行真值表的循环的VHDL,vhdl,Vhdl,如何在VHDL测试台上运行多路复用器的真值表。我走对了吗 sel <= "00" after 100 ns, "01" after 200 ns, "10" after 300 ns, "11" after 400; process (sel) variable p :STD_LOGIC_VECTOR(3 downto 0); begin p := "0000" for j in "0001" to "1111" loop if j /= "11

如何在VHDL测试台上运行多路复用器的真值表。我走对了吗

sel <= "00" after 100 ns, "01" after 200 ns, "10" after 300 ns, "11" after 400;

process (sel)
    variable p :STD_LOGIC_VECTOR(3 downto 0); 
begin
    p := "0000"
    for j in "0001" to "1111" loop
        if j /= "1111" then p:= p + 1;
        wait for 5 ns; 
    end loop ;
end process;

x <= p;

sel将
sel
(选择)和
p
(数据)的生成保持在一起,因为这更容易 如果这些未在不同的时间解耦,则以正确的时间生成 分配或处理。可以根据自然范围创建回路。这个 然后,流程可以是:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
...
process is
begin
  for sel_loop in 0 to 2 ** sel'length - 1 loop  -- 0 to 3 for sel'length = 2
    for p_loop in 0 to 2 ** p'length - 1 loop  -- 0 to 15 for p'length = 4
      sel <= std_logic_vector(to_unsigned(sel_loop, sel'length));
      p   <= std_logic_vector(to_unsigned(p_loop, p'length));
      wait for 5 ns;
    end loop;
  end loop;
  wait;
end process;
ieee库;
使用ieee.std_logic_1164.all;
使用ieee.numeric_std.all;
...
过程是
开始
对于0到2的sel_循环**sel'length-1循环--0到3的sel'length=2
对于0到2的p_循环**p'length-1循环--0到15的p'length=4

sel将
sel
(选择)和
p
(数据)的生成保持在一起,因为这更容易 如果这些未在不同的时间解耦,则以正确的时间生成 分配或处理。可以根据自然范围创建回路。这个 然后,流程可以是:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
...
process is
begin
  for sel_loop in 0 to 2 ** sel'length - 1 loop  -- 0 to 3 for sel'length = 2
    for p_loop in 0 to 2 ** p'length - 1 loop  -- 0 to 15 for p'length = 4
      sel <= std_logic_vector(to_unsigned(sel_loop, sel'length));
      p   <= std_logic_vector(to_unsigned(p_loop, p'length));
      wait for 5 ns;
    end loop;
  end loop;
  wait;
end process;
ieee库;
使用ieee.std_logic_1164.all;
使用ieee.numeric_std.all;
...
过程是
开始
对于0到2的sel_循环**sel'length-1循环--0到3的sel'length=2
对于0到2的p_循环**p'length-1循环--0到15的p'length=4

我认为你的思路是正确的,但是我已经12年没有编写VHDL了。我认为你的思路是正确的,但是我已经12年没有编写VHDL了。