- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch08_用户定义原语(UDP)a
第第 88 章章
用户定义原语用户定义原语(UDP)(UDP)
内容
? UDP基础
? 组合逻辑的UDP
? 时序逻辑的UDP
? UDP表中的缩写符号
? UDP设计指南
UDP基础
? UDP(User-Defined Primitives )
? Verilog 不仅提供了一套标准的内置原语,还允许用户定义自己的原语
? UDP的类型有两种
? 表示组合逻辑的UDP
? 输出由输入信号的组合逻辑确定
? 表示时序逻辑的UDP
? 输出由当前输入信号和内部状态确定
UDP定义的组成
? 主要定义规则
? 只有一个1 bit 输出端,端口列表中的第一个
? 如果定义的是表示时序逻辑的原语,输出端口必
须声明为 reg 类型
? 使用 input 声明输入端口,不支持 inout 端口
? 时序逻辑 UDP 的输出可以用 initial 初始化
? 状态表中可包含的值为 0、1和 x,不能有 z
? UDP与模块同级
组合逻辑的UDP
? 例、自定义与门 —— udp_and
primitive udp_and(out, a, b);
output out; // 组合逻辑的输出端不能声明成 reg 类型
input a, b; // 输入端口声明
// 定义状态表
table
// a b : out;
0 0 : 0; 所有输入组合必须在状态表中列出
0 1 : 0; ,否则,在状态表中找不到对应输
入的项,产生输出为
1 0 : 0; x
1 1 : 1;
endtable
endprimitive
? 状态表中每一行的语法
例、所有可能的输入组合
无关项的缩写表示
primitive udp_or(out, a, b);
? 无关项
? 不影响输出值的输入项 output out;
input a, b;
? 无关项可用符号“?”表示
? ?—— 自动展开为 0、1或 x table
// a b : out;
? 例 0 0 : 0;
0 1 : 1;
1 0 : 1;
1 1 : 1;
x 1
文档评论(0)