在VHDL中,当模拟测试平台时,我有一个过程和一个敏感度列表。
是否可以查看敏感列表中的哪个信号触发了该过程?
我知道这可能取决于工具。
我正在使用 Xilinx ISE。模拟器是否提供此信息?
您可以使用'transaction
属性结合'event
确定哪些信号在当前 Delta 周期中有交易:
process(a, b) is
begin
if a'transaction'event then
report "Transaction on a";
end if;
if b'transaction'event then
report "Transaction on b";
end if;
end process;
The 'transaction
属性创建一个位类型的新信号,该信号在每个事务上切换。这'event
该信号上的属性标识父信号上何时发生任何事务。
您还可以使用not <signal name>'quiet(0 ns)
确定自上一个时间步以来敏感度列表中的哪些信号发生了交易:
process(a, b) is
begin
if not a'quiet(0 ns) then
report "Transaction on a";
end if;
if not b'quiet(0 ns) then
report "Transaction on b";
end if;
end process;
如果您不想处理不同增量周期上发生的事件的顺序,则后者可能更有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)