《Verilog HDL数字系统设计-原理、实例及仿真》课件第7章_第1页
《Verilog HDL数字系统设计-原理、实例及仿真》课件第7章_第2页
《Verilog HDL数字系统设计-原理、实例及仿真》课件第7章_第3页
《Verilog HDL数字系统设计-原理、实例及仿真》课件第7章_第4页
《Verilog HDL数字系统设计-原理、实例及仿真》课件第7章_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章门电路设计与实现7.1基本门电路7.2组合门电路7.3三态门电路7.4双向总线缓冲器

7.1基 本 门 电 路

基本门电路包括与门、或门、非门。表7.1是二输入与门、或门和非门的真值表。采用VerilogHDL实现数字电路时可以采用结构化、数据流和行为描述三种方式。

代码7.1中的basic_gate1、basic_gate2和basic_gate3分别是采用这三种方式实现基本门的VerilogHDL代码,gate是顶层模块。

【代码7.1】基本门电路的三种描述方法。将输入的代码7.1内容保存为gate.v文件,对工程经过全编译后,可以选择Tools→NetlistViewer→RTLViewer查看源代码实现综合布局布线之前的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】实现与非门、或非门、异或门和同或门电路的VerilogHDL描述。

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三态门电路逻辑符号常用的三态门还有三态非门、三态与非门等。三态门常用于计算机中设备挂接在总线的缓冲电路。三态门可以用VerilogHDL内部的基本门级元件实现,也可以用数据流描述方式实现。VerilogHDL内部的三态门元件有bufif0、bufif1、notif0和notif1四种(见5.1.1节)。

【代码7.3】实现三态门电路的VerilogHDL描述。

其对应的功能仿真波形如图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.78位双向总线缓冲器的逻辑符号实现双向数据传输的总线缓冲器可以用图7.8来表示,其中的dir是数据传送方向的控制信号,bus_a、bus_b分别表示A、B两端的数据信号。代码7.4是一个8位双向总线数据缓冲器的VerilogHDL描述。图7.8双向总线缓冲器的内部结构

【代码7.4】一个8位双向总线缓冲器的VerilogHDL描述。由于inout类型的信号仿真时与单端口信号不同,因此这里编写了VerilogVH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论