2
比方说,我有3个控制信号A,B和C.如何轻松地在VHDL测试平台组和驱动信号
在测试平台是有在VHDL到组这样的功能和快速迭代所有的情况下(以使例如,它们要迭代for循环)而不是写出8个案例。
的伪代码示例:
for i in range 0 to 7
grouped_signals <=std_logic_vector(to_unsigned(i,3)
比方说,我有3个控制信号A,B和C.如何轻松地在VHDL测试平台组和驱动信号
在测试平台是有在VHDL到组这样的功能和快速迭代所有的情况下(以使例如,它们要迭代for循环)而不是写出8个案例。
的伪代码示例:
for i in range 0 to 7
grouped_signals <=std_logic_vector(to_unsigned(i,3)
它可以是一个信号分配,其中目标是一个聚合:
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity agg_assign is
end entity;
architecture foo of agg_assign is
signal A, B, C: std_logic;
begin
process
begin
wait for 10 ns;
for i in 0 to 7 loop
(A, B, C) <= std_logic_vector(to_unsigned(i, 3));
wait for 10 ns;
end loop;
wait;
end process;
end architecture;
并且产生:
可以使用代码,你以例子的形式显示,然后在'port map'中使用这个信号作为differen t输入为A => grouped_signals(0),B => grouped_signals(1),C => grouped_signals(2)'。 – Roman
(A,B,C)<= std_logic_vector(to_unsigned(i,3);其中,赋值的左侧目标是一个聚合参见IEEE Std 1076-2008 9.3.3.3数组聚合10.5信号赋值语句10.5 .2简单信号分配,10.5.2.1(和变量赋值10.6变量赋值语句,...)。(A,B,C)的类型是右边表达式的类型,并且有一个匹配元素右侧表达式的每个元素的目标,这使用位置关联 – user1155120
这个工作,问题主要是类型不匹配和局部性。 – cc6g11