新Verilog HDL数字系统设计——原理、实例及仿真 教学课件 康磊 第1 7章 第7章.pptVIP

新Verilog HDL数字系统设计——原理、实例及仿真 教学课件 康磊 第1 7章 第7章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
    7.1 基?本?门?电?路   基本门电路包括与门、或门、非门。表7.1是二输入与门、或门和非门的真值表。   采用Verilog HDL实现数字电路时可以采用结构化、数据流和行为描述三种方式。   代码7.1中的basic_gate1、basic_gate2和basic_gate3分别是采用这三种方式实现基本门的Verilog HDL代码,gate是顶层模块。  【代码7.1】 基本门电路的三种描述方法。   将输入的代码7.1内容保存为gate.v文件,对工程经过全编译后,可以选择Tools→Netlist Viewer→RTL Viewer查看源代码实现综合布局布线之前的RTL结构(不是最终的电路结构),如图7.1(a)所示。 图7.1 几种描述方式的TRL图比较   图7.1中的(b)和(c)是将顶层模块gate中的basic_gate1分别替换为basic_gate2、basic_gate3时生成的RTL图。   从图7.1(a)、(b)和(c)中可以看出,采用结构化描述、数据流描述和行为描述方法综合后的RTL结构是一样的。因此我们在设计电路时,可以根据需要选择方便的描述方式编写模块代码。通常,设计简单电路常采用数据流描述方式,设计复杂电路常采用行为描述方式,在进行多模块连接时可采用结构化描述方式。   gate模块的功能仿真结果如图7.2所示。 图7.2 基本门电路的功能仿真结果   从图7.2中可以看出,输入信号i_a和i_b、与门输出o_and、非门输出o_not、或门输出o_or的逻辑功能完全正确。   gate模块的时序仿真结果如图7.3所示。 图7.3 基本门电路的时序仿真结果      7.2 组?合?门?电?路   组合门电路是可以实现多种基本逻辑运算的电路。常用的组合门电路有与非门、或非门、与或非门、异或门和同或门等。   表7.2是二输入与非门、或非门、异或门和同或门的真值表。表中未列出与或非门的逻辑真值,请读者自己分析。   【代码7.2】 实现与非门、或非门、异或门和同或门电路的Verilog HDL描述。   com_gate模块的功能仿真结果如图7.4所示。信号o_n_and、o_n_or、o_xor、o_n_xor分别是输入信号ia和ib的与非门、或非门、异或门和同或门的输出。 图7.4 组合门电路的功能仿真结果      7.3 三 态 门 电 路   三态门电路是在普通门电路的基础上增加了控制端(使能端)的控制电路,输出可以有低电平、高电平和高阻抗三种状态。图7.5是三态门的逻辑电路符号,图(a)所示三态门电路在EN为高电平时,F=A,因此称为高电平有效的三态门电路;图(b)所示电路在EN为低电平时,F=A,因此称为低电平有效的三态门电路。当三态门处于高阻状态时相当于开路。高电平有效的三态门逻辑真值表见表7.3。 图7.5 三态门电路逻辑符号   常用的三态门还有三态非门、三态与非门等。三态门常用于计算机中设备挂接在总线的缓冲电路。三态门可以用Verilog HDL内部的基本门级元件实现,也可以用数据流描述方式实现。Verilog HDL内部的三态门元件有bufif0、bufif1、notif0和notif1四种(见5.1.1节)。  【代码7.3】 实现三态门电路的Verilog HDL描述。 其对应的功能仿真波形如图7.6所示。 图7.6 三态门电路的功能仿真波形      7.4 双向总线缓冲器   在数字电路中,总线缓冲器主要用于将设备与总线互连。常用的缓冲器有单向和双向两种。例如,一个8位的单向缓冲器可以实现从A端到B端的单向数据传送,需要8个三态门,并将这8个三态门的控制段连接在一起由一个共同的使能信号来进行控制。一个8位的双向缓冲器是指能够实现从A端到B端或从B端到A端的双向数据传送,因此需要16个三态门,8个门用于实现 A端到B端的数据传送,另外8个门用于实现从B端到A端的数据传送。图7.7是8位双向总线缓冲器的逻辑符号。表7.4是双向总线缓冲器的真值表。 图7.7 8位双向总线缓冲器的逻辑符号   实现双向数据传输的总线缓冲器可以用图7.8来表示,其中的dir是数据传送方向的控制信号,bus_a、bus_b分别表示A、B两端的数据信号。代码7.4是一个8位双向总线数据缓冲器的Verilog HDL描述。 图7.8 双向总线缓冲器的内部结构  【代码7.4】 一个8位双向总线缓冲器的Verilog HDL描述。   由于inout类型的信号仿真时与单端口信号不同,因此这里编写了Verilog VHL的testbench模块供参考。需要注意的是,在编写测试模块时,对于inout类型的端口,需要定义成wire类型

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档