Compilation VHDL中传输的用途是什么?

Compilation VHDL中传输的用途是什么?,compilation,vhdl,Compilation,Vhdl,我见过一个用VHDL文件编写的示例 示例片段 architecture aaa of bbb is signal ccc : std_logic begin ccc <= transport global_en_lb; .... bbb的架构aaa是 信号ccc:std_逻辑 开始 VHDL中的ccc“传输”关键字用于模拟延迟 传输延迟模型只是将输出中的更改延迟到after子句中指定的时间 传输延迟,用于模拟布线引入的延迟。通过传输延迟,任何小宽度的脉冲都会传播到输出端。传输

我见过一个用VHDL文件编写的示例

示例片段

architecture  aaa of bbb is
signal   ccc : std_logic

begin

ccc <= transport global_en_lb;

....
bbb的架构aaa是 信号ccc:std_逻辑 开始 VHDL中的ccc“
传输
”关键字用于模拟延迟

传输延迟模型只是将输出中的更改延迟到
after
子句中指定的时间

传输延迟,用于模拟布线引入的延迟。通过传输延迟,任何小宽度的脉冲都会传播到输出端。传输延迟对于模拟延迟线驱动器、PC板上的导线延迟以及ASIC上的路径延迟特别有用


要了解它在模拟中的具体行为,请参考传输延迟是理想化的:它们以无限频率响应模拟通过设备或连接的传播。任何输入脉冲,无论多么短,都会产生输出脉冲。例如,您可以对具有传输延迟的理想传输线进行建模—任何和所有输入更改都会通过传输线传播。传输延迟在测试台中也很有用,用于在驱动程序上排队处理事务

惯性延迟近似于真实世界的延迟。它们更复杂,但简言之,如果你试图传播一个脉冲,其中脉冲宽度小于通过器件或导线的传播延迟,那么脉冲就会消失。如果在VHDL中看不到
传输
惯性
关键字,则惯性延迟是默认值

在HDL级别,两者之间的实际区别在于,当信号已经有计划的事务时,为该信号计划新事务时会发生什么。对于传输延迟,事务只是排队;对于惯性交易,模拟器可以合并它们

在你的Verilog评论中:这在Verilog中有点过时(就像其他很多东西一样)。但是,非阻塞分配的RHS上的延迟会模拟传输延迟:

always @(x)
   y <= #10 ~x;   // transport

这与verilog中的延迟相同吗?虽然不完全相同,但简单地说,传输延迟是有线延迟。为了在verilog中模拟传输延迟,iniside总是阻塞延迟应该放在rhs端例如:A你能告诉我确切的不同类型吗?这将非常有用.#verilog中的延迟类似于VHDL中的“等待”,例如,如果您想等待5 ns,则可以在VHDL中使用“等待5 ns”构造,此外,当wait-for在一个进程中使用时,它可以作为一个无限系列使用,具有wait-for中提到的特定间隔“这并不完全相同,但简单地说,运输延误就是线路延误。要在verilog中模拟传输延迟,iniside always block延迟应放置在rhs侧,例如:aTL/DR:传输延迟模型传输线。对于给定示例,传输延迟和惯性延迟的行为完全相同,因为当波形元素中未给出后时间表达式且未给出惯性抑制限值时,惯性抑制限值为0在延迟机制中显式提供。参见IEEE Std 1076-2008,10.5.2简单信号分配(10.5.2.1,从第5段开始,寻找传输的首次使用)。
assign #10 y = ~x;  // inertial