Verilog 门延迟17 Mar 2025 | 6 分钟阅读 Verilog 门延迟指定值如何通过网络或门传播。 门延迟声明指定了将信号更改从门输入传播到其输出所需的时间。 门延迟声明可用于门实例化。 延迟也可以用于过程语句中的延迟控制。 数字元件是二进制实体,仅持有 0 和 1 这两个值之一。 从 0 到 1 和从 1 到 0 的转换具有过渡延迟,因此每个门元件将值从输入传播到其输出。 例如,如果两个输入都变为 1,则两输入 AND 门必须将输出切换为 1,而当输入变为 0 时,则返回 0。 网络延迟声明指定了将值从驱动器通过网络传播所需的时间。 它可用于连续赋值和网络声明。 当实例化逻辑原语时,可以在 Verilog 中指定此门延迟和引脚到引脚延迟。 上升、下降和关断延迟延迟声明最多可以包含三个值,例如上升、下降和关断延迟。
如果仅指定一个延迟值,则该值用于所有信号更改。 默认延迟为零。 如果指定了两个延迟,则第一个延迟指定上升延迟,第二个延迟指定下降延迟。 如果信号变为高阻抗或未知,则将使用较小的值。 ![]() 如果给出三个值,则第一个值指定上升延迟,第二个值指定下降延迟,第三个值指定关断延迟。 如果信号变为未知值,则将使用这三个值中最小的值。 这些延迟适用于任何信号,因为它们都可以在实际电路中随时上升或下降,并且不限于门的输出。 有三种表示门延迟的方法。
双延迟格式可以应用于大多数输出不会转换为高阻抗的原语。 三延迟格式不能应用于 AND 门,因为对于任何输入组合,输出都不会变为 Z。 如果仅指定单个延迟,则所有三种类型的延迟将使用相同的给定值。 如果指定了两个延迟,则第一个表示上升,第二个表示下降延迟。 如果指定了三个延迟,则它们分别表示上升、下降和关断延迟。 1. 单延迟格式 现在,可以看到在其中一个输入更改后 2 个时间单位,AND 门的输出会发生变化。 例如,当 a 已经在 T=20 时,b 变为 1。 但输出仅在 T=22 时变为 1。 同样,a 在 T=30 时返回零,并且输出在 T=32 时获得新值。 对于 BUFIF0,门延迟指定为 3 个时间单位。 如果当 a 已经在 1 时,b 从 0 变为 1,则输出需要 3 个时间单位才能更新为 Z,并最终在 T=23 时完成。 输出 ncsim> run T=0 a=0 b=0 and=x bufif0=x T=2 a=0 b=0 and=0 bufif0=x T=3 a=0 b=0 and=0 bufif0=0 T=10 a=1 b=0 and=0 bufif0=0 T=13 a=1 b=0 and=0 bufif0=1 T=20 a=1 b=1 and=0 bufif0=1 T=22 a=1 b=1 and=1 bufif0=1 T=23 a=1 b=1 and=1 bufif0=z T=30 a=0 b=1 and=1 bufif0=z T=32 a=0 b=1 and=0 bufif0=z T=40 a=0 b=0 and=0 bufif0=z T=43 a=0 b=0 and=0 bufif0=0 ncsim: *W,RNQUIE: Simulation is complete. 2. 双延迟格式 让我们将上面显示的相同测试平台应用于下面显示的另一个 Verilog 模型,其中明确提到了上升和下降延迟。 它产生以下输出,例如 3. 三延迟格式 三延迟格式代码给出以下输出 最小、典型和最大延迟在已制造芯片的不同部分,或者对于不同的温度和其他变化,延迟都不同。 因此,Verilog 还为上述每种延迟类型提供了额外的控制级别。 每个数字门和晶体管单元都具有基于工艺节点的最小、典型和最大延迟,通常由制造代工厂的库提供。 对于上升、下降和关断延迟,可以指定三个值 min、typ 和 max,分别代表最小、典型和最大延迟。 这是 Verilog 中的另一个延迟控制级别。 在整个模拟运行中只能使用 min、typ 和 max 值之一。 它在模拟开始时指定,并且取决于所使用的模拟器。 typ 是默认值。 min 值是门预计拥有的最小延迟值。 typ 值是门预计拥有的典型延迟值。 max 值是门预计拥有的最大延迟值。 输出如下所示 下一个主题数据流建模 |
我们请求您订阅我们的新闻通讯以获取最新更新。