- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四讲 建模
第四讲 VerilogHDL建模 4.1UDP的定义 用户定义的原语是从英语User Defined Primitives直接翻译过来的,在Verilog HDL 中我们常用它的缩写UDP来表示。用户可以利用UDP来定义有自己特色的用于仿真的基本逻辑元件模块并建立相应的原语库。这样,我们就可以与调用Verilog HDL基本逻辑元件同样的方法来调用原语库中相应的元件模块来进行仿真 UDP的定义是由一个独立的定义模块构成的该模块是由关键词primitive 和endprimitive 界定的 primitive 元件名(输出端口名,输入端口名1,输入端口名2,…) output 输出端口名; input 输入端口名1, 输入端口名2,…; reg 输出端口名; initial begin 输出端口寄存器或时序逻辑内部寄存器赋初值(0,1,或 X); end table //输入1 输入2 输入3 … : 输出 逻辑值 逻辑值 逻辑值 … : 逻辑值 ; 逻辑值 逻辑值 逻辑值 … : 逻辑值 ; 逻辑值 逻辑值 逻辑值 … : 逻辑值 ; … … … … : … ; endtable endprimitive 4.1.2使用UDP注意 UDP定义模块不能出现在其它模块之内,UDP定义模块和其它模块具有相同的语法结构地位,它的定义必须独立于其它模块结构成分。所以UDP定义模块必须出现在其它模块定义之外,同时它也可以出现在独立文件中。 在UDP定义模块的第一行,关键词primitive标志着定义模块的开始:其后出现的元件名是被为定义UDP元件所取的一个字;后面出现的端口列表指明了UDP元件的输入输出口,该端口列表由若干个端口组成,其中只能有一个输出端口并且该输出端口必须是端口说明表中的第一项,而UDP的输入端口数目可以是一个或多个,一般对时序电路的UDP最多允许9个输入端口,对组合电路的UDP最多允许有10个输入口 输出端口类型说明是对UDP元件的输出端口进行说明,这和普通模块定义中的输出端口说明一样是通过关键词 output来进行的 输入端口类型说明是对UDP元件的输入端口类型进行说明,这和普通模块定义中的输出端口说明一样是通过关键词 input来进行的 输出端寄存器变量说明是在对时序逻辑电路UDP元件进行定义时,为了对输出端口寄存器变量类型进行说明而引入的。寄存器变量用于描述时序电路UDP中的内部状态。要注意只有在被定义的元件是时序逻辑元件时才能将输出端口定义成寄存器变量。 元件初始状态说明也是为进行时序电路UDP的定义而引入的,它的作用是对时序电路上的电时刻的初始状态进行定义,只允许0、1、X三种状态。 由关键词table和endtable界定的多个table表项构成了UDP元件输入、输出以及内部状态间的一张逻辑真值表。对不同逻辑功能的UDP元件进行定实施的差别将体现在不同的table表 关键词endprimitive出现在定义模块的结尾,标志着UDP模块的结束 4. 2组合逻辑电路UDP 组合逻辑电路UDP定义时的table表项的格式为: 输入1逻辑值 输入2逻辑值 输入3逻辑值 输入4逻辑值…… 输出逻辑值 对于上述table表项格式,必须注意 1)各个输入输出逻辑值只能是0,1,X和?,不能取Z 2)输出端口在perimitive定义语句的端口表项中列第一的位置,而输出逻辑值在table表项内位于左后一项 3)在表项中要用空格分开不同的输入端逻辑值,各个输入口在table表项中的排列顺序必须与它们在primitive定义语句中端口表项内的顺序一致 4)table表项中的输入部分与输出部分要用冒号隔开 5)为了明确观察输入输出相互关系个各项排列顺序是否正确,通常在table表项中第一栏插入一条注释语句 4. 2.1组合逻辑电路UDP实例 2-1 多路器 primitive multiplexer(o, a, b, s); output o; input s, a, b; table // a b s : o 0 ? 1 : 0; 1 ? 1 : 1; ? 0 0 : 0; ? 1 0 : 1; 0 0 x : 0; 1 1 x : 1; endtable endprimitive 例 2 全加器 // 全加器进位实现部分
您可能关注的文档
最近下载
- 智慧运营管理指挥中心解决方案PPT.pptx VIP
- 函数y=Asin(ωx+φ)(课件)-2023-2024学年高一数学同步备课《知识•素养•思维》精讲课件(人教A版2019必修第一册).pptx VIP
- 京剧英文介绍(课堂PPT).ppt VIP
- 高一数学同步备课课件(人教A版2019必修第一册):正弦函数、余弦函数的性质(二).pptx VIP
- 汉民族传统服饰知识竞赛(试题19道含答案)13471.pdf
- 高一数学同步备课课件(人教A版2019必修第一册):正弦函数、余弦函数的性质(一).ppt VIP
- 国家开放大学一网一平台电大《商法》期末试题及答案(试卷代号d:1058).doc
- 六年级英语阅读理解100篇(含答案).pdf
- 发现母亲成就孩子.ppt
- 2×300MW火电厂电气部分的设计 毕业论文.doc
文档评论(0)