Verilog HDL入门基础之门级建模Verilog HDL入门基础之门级建模.pdf

Verilog HDL入门基础之门级建模Verilog HDL入门基础之门级建模.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog HDL入门基础之门级建模Verilog HDL入门基础之门级建模

门级建模 门级建模是指调用Verilog 内部自定义的基本门元件(或者用户自定义基本元件)来对硬件 电路进行结构描述 门级建模方式采用的是一种特殊的模块调用方式。此时所调用的模块式Verilog 内部预先定 义好的基本门级元件或者用户自定义的基本元件,在这种建模方式下硬件电路将被描述成由 一组基本门级元件的实例组成。 内置基本门级元件 Verilog HDL 内含的基本门级元件有14 中,包括and (与门)、nand (与非门)、or (或门)、 nor (或非门)、xor (异或门)、xnor (异或非门)、buf (缓冲器)、not (非门)、bufif1 (高电 平使能缓冲器)、bufif0 (低电平使能缓冲器)、notif1 (高电平使能非门)、notif0 (低电平使 能非门)、pullup (上拉电阻)、pulldown (下拉电阻) 基本门级元件的调用 其语法格式为: 门级元件名驱动强度说明#( 门级延时量)实例名(端口连接表); 对上述格式做如下说明: • 门级元件名:就是前面列出的Verilog HDL 内含的14 种基本门级元件类型中的任意一 种,它用于指明被当前模块调用的是哪一种门级基本元件。 • 驱动强度说明 :这一项是可选项,它的格式为:(对高电平的驱动强度,对低电平的 驱动强度 ) 驱动强度说明用来对本次基本门级元件调用所引用的门级元件实例的输出端驱动能力加 以说明。这是因为:在结构建模方式下,一条连线可能会由多个前级输出端同时驱动,该连 线最终的逻辑状态将取决于各个驱动端的不同驱动能力,因此有必要对元件实例的输出驱动 能力进行说明。对于门级元件,驱动强度分为对高电平(逻辑1)的驱动强度和对低电平(逻 辑 0 )的驱动强度,因此驱动强度说明部分由对高电平的驱动强度和对低电平的驱动 强度这两种成分组成。其中的每一种驱动强度成分可以是 supply、strong、pull、weak 和 highz 中的某一个等级。因此有如下关键字出现在驱动强度说明 中: Supply1 strong1 pull1 weak1 highz1 Supply0 strong0 pull0 weak0 highz0 上面第一行中表示对高电平的驱动强度的五个等级,第二行中表示对低电平的驱动强度 的五个等级。在基本门级元件实例语句的驱动强度说明 中,对高电平的驱动强度和对 低电平的驱动强度这两个成分在括号内的前后位置可以互换,比如: and(strong0,weak1) AND_1(out,in1,in2); and(weak1,strong0) AND_2(out,in1,in2); 其中引入了两个与门实例AND_1 和AND_2 。这两个实例拥有相同的输出端驱动强度,高电 平输出强度为weak,低电平输出强度为strong 。 如果基本门级元件实例语句中的 驱动强度说明 部分被省略,则默认的驱动强度为 (strong0,strong1)。 • # ( 门级延时量 ):这一项也可以是默认的,它说明了信号从门级元件实例的输入端流 动到输出端时所经历的延迟时间长度。其中 门级延时量是由若干个延时值组成的,当 它只包含一个延时值时,其外部的圆括号可以省略。请读者注意:上述门级元件实例的 门级延时量进行指定的方式与前面讲述的对模块参数值进行修改的第一种方式(使用带 有参数值的模块实例语句)是相似的。这两种情况下,对应的实例语句中都出现了“#数 量值”部分。该部分内容在模块实例语句中代表模块参数的新参数值;而在门级实例语 句中则代表了门级元件实例输入输出端口间的门级延时量。在进行模块调用时不能采用 像门级元件调用那样的方式指定延时量(只能利用specify 块结构来指定延时量);而在 进行基本门级元件调用时又不能像模块调用那样对参数值进行修改(只有用户自定义元 件才能有参数值) • 实例名:是为本次元件调用后生成的门级元件实例所取的第一个名称。与进行模块调 用的情况不同,在进行基本门级元件调用时,实例名可以省略。在默认实例名的情 况下,Verilog 编译系统将自动以“元件名实例序号”的形式为门级元件实例取名 • (端口连接表):与模块实例语句中的端口连接表类似,但是在进行基本门级元件调用 时只能

文档评论(0)

pfenejiarz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档