VHDL中传输有什么用?

What is the use of transport in VHDL?

我看过用 VHDL 文件编写的示例

示例片段,

architecture  aaa of bbb is
signal   ccc : std_logic

begin

ccc <= transport global_en_lb;

....

我只想了解上面片段中的传输。 这是什么意思?

在 VHDL 中,“transport”关键字用于模拟延迟建模。

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

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

要了解它在模拟中的确切行为,请参阅 link

传输延迟是理想化的:它们模拟通过具有无限频率响应的设备或连接的传播。任何输入脉冲,无论多短,都会产生输出脉冲。例如,您可以为具有传输延迟的理想传输线建模 - 任何和所有输入更改都会通过线路传播。传输延迟在测试平台中也很有用,可用于在驱动程序上排队交易。

惯性延迟近似于现实世界的延迟。它们更复杂,但简而言之,如果您尝试传播脉冲宽度小于通过设备或电线的传播延迟的脉冲,则脉冲会消失。如果您看不到 transportinertial 关键字,惯性延迟是 VHDL 中的默认值。

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

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

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

连续分配不对事务进行排队,因此模型惯性延迟:

assign #10 y = ~x;  // inertial