从本篇开始,博主小飞和大家一起分享UDP相关的内容。UDP是verilog标准包含的一种建模技术,我们可通过设计和指定称为 UDP 的新原语来扩充预定义的门原语集合。这些UDP 原语实例以与门原语完全相同的使用方式来用于表示所建模的电路。
UDP 可以表示以下两种模式:
a) 组合模式--用组合结构的UDP建模
b) 时序模式--用时序结构的UDP建模
组合式UDP用其输入值来决定下一个输出值。时序式UDP用其输入值和当前输出值来确定下一个输出值。时序式UDP提供了一种对触发器和锁存器等时序电路进行建模的方法,可以模拟电平敏感和边沿敏感的电路行为。
每个UDP只有一个输出,该输出可以处于三种状态之一:0、1 或 x,不支持高阻态z。
传递给 UDP 输入的 z 值应被当作x值看待。
UDP 定义独立于模块(module),在语法层次结构中与模块(module)定义处于同一层次。它们可以出现在源文本的任何地方,可以在模块(module)实例化之前或之后,但它们不得出现在关键字 module 和 endmodule 之间。
UDP 定义的正式语法见下图1:
图1:UDP 定义的正式语法规则
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!