如何在测试台VHDL中使用for循环完成多个输入组合?

如何在测试台VHDL中使用for循环完成多个输入组合?,vhdl,modelsim,test-bench,Vhdl,Modelsim,Test Bench,我是VHDL新手,正在为XNOR门编写测试台。简单的解决方案是手动检查两个输入的每个组合,但是如果输入更多,这将花费太长时间。如何在VHDL中将其作为for循环编写 process begin p0 <= '1'; p1 <= '0'; wait for 1 ns; if (pout = '1') then error <= '1'; end if; wait for 200 ns; p0 <= '1'; p1 <= '1'; wait for 1 ns;

我是VHDL新手,正在为XNOR门编写测试台。简单的解决方案是手动检查两个输入的每个组合,但是如果输入更多,这将花费太长时间。如何在VHDL中将其作为for循环编写

process
begin
p0 <= '1';
p1 <= '0';
wait for 1 ns;
if (pout = '1') then
    error <= '1';
end if;
wait for 200 ns;
p0 <= '1';
p1 <= '1';
wait for 1 ns;
if (pout = '0') then
    error <= '1';
end if;
wait for 200 ns;
p0 <= '0';
p1 <= '1';
wait for 1 ns;
if (pout = '1') then
    error <= '1';
end if;
wait for 200 ns;
p0 <= '0';
p1 <= '0';
wait for 1 ns;
if (pout = '0') then
    error <= '1';
end if;
wait for 200 ns;
end process;
过程
开始

p0如果
p0
p1
是被测设备的输入,且其基本类型与
无符号
类型的元件类型兼容:

ieee库;
使用ieee.std_logic_1164.all;
实体xnor2是
港口(
p0:std_逻辑;
p1:标准逻辑中;
撅嘴:说出标准逻辑
);
终端实体;
xnor2的体系结构foo是
开始
撅嘴,
p1=>p1,
撅嘴=>撅嘴
);
过程
使用ieee.numeric_std.all;——例如,如果尚未可见
变量元素:无符号(1到0);
开始
元素:=(其他=>“0”);
对于0到2**元素长度-1循环中的i

p0如果
p0
p1
是被测设备的输入,且其基本类型与
无符号
类型的元件类型兼容:

ieee库;
使用ieee.std_logic_1164.all;
实体xnor2是
港口(
p0:std_逻辑;
p1:标准逻辑中;
撅嘴:说出标准逻辑
);
终端实体;
xnor2的体系结构foo是
开始
撅嘴,
p1=>p1,
撅嘴=>撅嘴
);
过程
使用ieee.numeric_std.all;——例如,如果尚未可见
变量元素:无符号(1到0);
开始
元素:=(其他=>“0”);
对于0到2**元素长度-1循环中的i
p0