Verilog HDL的自定义原语(UDP)(2021-3-14)

Verilog HDL的自定义原语(UDP)
Verilog HDL不仅有自带的门级原语,还允许用户进行自定义原语。
1.UDP的定义
(1)UDP在Verilog HDL中可以被看成一个模块,与模块的定义在语法是同一级别的,所以UDP的定义不能在module和endmodule之间,一般一个UDP定义也是单独一个文件
(2)UDP的输出只有一个标量输出,而输入可以有多个标量输入,输出标量的值可以是0值,1值和x值,输入标量的值可以是0值,1值,x值与z值,但z值被看成x值对待。
2.UDP定义的基本语法:
primitive udp_name(port_list)//port_list为端口列表,其中第一个是输出端口,后面是输入端口
port_declaration
udp_body//udp_body为UDP实现逻辑功能的实现部分,一般用table/endtable语句描述
endprimitive
在这里插入图片描述
组合电路UDP建模:
例如:
primitive udp_mux2to1(y,a,b,sel)
output y;
input a;
input b;
input sel;
table
// a b sel : y
0 ? 1 : 0
1 ? 1 : 1
? 0 0 : 0
? 1 0 : 1
? ? x : z
endtable
endprimitive
时序UDP建模
在这里插入图片描述
例子:
在这里插入图片描述
在这里插入图片描述
q(next)代表输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值