Verilog学习--UDP用户自定义原语

本文介绍了Verilog中的用户自定义原语(UDP),包括如何定义组合逻辑和时序逻辑的UDP。在组合逻辑中,以或门为例,通过table描述逻辑关系;在时序逻辑中,展示了高电平触发的D触发器和上升沿触发的D触发器的UDP定义。每个UDP定义包括输入和输出端口,以及相应的逻辑关系表。

介绍

Verilog有内置的原语,如门、传输门和开关。这些都是比较小的单元,如果我们需要更加复杂的原语,Verilog提供了UDP(用户自定义原语)

UDP可以定义组合逻辑时序逻辑

语法

  • primitive开头,以endprimitive结尾
  • 只能有一个输出端口
  • 可以有多个输入端(最多十个?)
  • UDP不能出现在module...endmodule
  • 输出端口必须在列表中的第一个
  • 组合逻辑:输出端不能是reg
  • 时序逻辑:输出端必须是reg
  • UDP中所有的端口都是标量

组合逻辑

primitive or_gate(dout, a, b);	//dout是输出端口,必须放在第一位
    output dout;	//输出端口
    input a, b;		//输入端口
    
    table  //这是一个 或门,UDP中逻辑关系出现在 table和endtable中
        //B	C :A
           ?  1  :   1;
           1  0  :   1;
           1  1  :   1;
           0  0  :   0;
    endtable
    
endprimitive

逻辑描述语句,要写在tableendtable之中,每一行代表一个case

在UDP

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值