《Verilog程序设计与EDA》_第4章 组合电路设计.pptxVIP

《Verilog程序设计与EDA》_第4章 组合电路设计.pptx

  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文档。上传文档
查看更多

4.1简单组合电路设计;简单组合电路功能较少,结构简单。用VerilogHDL对其设计、建模时,可根据实际情况和给定的条件,灵活选用第1章介绍的描述方式。

4.1.1表决电路

用VerilogHDL设计一个少数服从多数的三人表决电路的源文件,最少两人同意时结果才通过,否则结果将被否定。

设输入变量A、B、C分别代表三个人,输出变量Y表示表决结果,同意为1,不同意为0,通过为1,否定为0。

方法1数据流描述

列出表决电路真值表,如表4.1所示。;根据真值表写出输出逻辑表达式并化简得

Y=AB+AC+BC

函数表达式已知,可直接依据表达式用VerilogHDL设计源文件:

;方法3行为描述

用行为描述设计可有更多的方案,其中思路之一是根据真值表写出输出关系式:

ifA+B+C=2,Y=1,elseY=0

依据关系式用VerilogHDL设计源文件:;4.1.2码制转换电路

用VerilogHDL设计一个将8421BCD码转换为余3码的码制转换电路的源文件。

该电路输入为8421BCD码,输出为余3码,因此它是一个四输入、四输出的码制转换电路。依据这两种码制转换关系,可列出真值表(如表4.2所示)。;考虑到8421BCD码不会出现1010~1111这六种状态,因此把它们视为无关项处理。

设输入变量A、B、C、D分别代表8421BCD码,输出变量E3、E2、E1、E0表示余3码。

方法1数据流描述

根据真值表写出输出逻辑表达式并化简得

函数表达式已知,可直接依据表达式用VerilogHDL设计源文件:;方法2结构化描述

根据真值表写出输出逻辑表达式并化简得

函数表达式已知,可直接依据表达式用VerilogHDL设计源文件:;方法3行为描述

用行为描述设计可有更多的方案,其中思路之一是依据这两种码制转换关系,直接用VerilogHDL设计源文件:;4.1.3比较器

用VerilogHDL设计一个一位比较器的源文件。

该比较器电路输入为A、B,输出为FAB、FA=B、FAB,因此它是一个二输入、三输出的电路。依据一位比较器关系,可列出真值表(如表4.3所示)。

;endmodule //?FAB、FA=B、FAB这样的写法综合时不认可,会被当成FAB,FA=B,FAB而出错

正确的比较器电路源文件为

;方法3行为描述

用行为描述设计可有更多的方案。其中思路之一是依据比较器关??,直接用VerilogHDL设计源文件:;4.1.4译码器

用VerilogHDL设计一个2线-4线译码器源文件。

该译码器电路输入为A0、A1,E为使能输入端,高电平有效,输出为因此它是一个三输入、四输出的电路。依据2线-4线译码器关系,可列出功能表(如表4.4所示)。

方法1数据流描述

根据功能表可得输出函数

下面给出了用数据流描述方式设计的译码器电路的源文件。

用y0、y1、y2、y3分别代表;方法2结构化描述

下面给出了用结构化描述方式设计的译码器电路的源文件:;重新编写代码:仿真波形如图4.1所示。;4.2复杂组合电路设计;用VerilogHDL设计一个复杂组合电路时,首先要根据设计要求创建行为模型。

为一个模块创建行为模型就是对这个模块如何工作的一种抽象表示。这种抽象只有通过反复思考、多向对比、由此及彼、不断完善才能最终被正确实现。对于大型数字电路与系统,先要做好顶层设计,然后再分别完成各个环节。

always语句是创建行为模型的基础。always语句本质上是一个“while(TRUE)”语句,其中包含了一个或多个反复执行的“begin…end”过程语句。复杂组合电路设计的过程实际上就通过不断实践、灵活运用always等语句的过程。

4.2.1多位比较器

(1)任务:设计一个16位数字比较器。

(2)要求:??对A15~A0与B15~B0进行比较,分别输出:C1(AB)、C2(A=B)、C3(AB)。

用VerilogHDL设计的源文件如下:;下面介绍设计16位数字比较器的另一种思路。

用VerilogHDL设计的源文件如下:

在ModelSim的仿真中得到的验证结果如图4.2所示。;4.2.2多人表决器

(1)任务:设计一个15人投票表决器。

(2)要求:若超过8人以上赞成,则通过。

用VerilogHDL设计的源文件如下:

;4.2.4一位全加(减)器

(1)任务:用数据流描述方式对如图4.3所示的一位全加(减)器电路进行建模(编写源文件)。

;下面

文档评论(0)

kd8w + 关注
实名认证
文档贡献者

kd8w

1亿VIP精品文档

相关文档