- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可综合的Verilog——用于电路设计
第3章 可综合的Verilog——用于电路设计
本 章 介 绍 可 综 合 的Verilog语 法 结 构, 同 时 给 出 了 一 些 可 重 用 设 计 的 例 子( 使 用
parameter 、function和generate实现电路的设计重用)。读者可以获得关于如何采用Verilog编写
RTL模块、如何对其进行综合,以及如何设计规模更大的电路的知识。
3.1 什么是Verilog
Verilog是一种功能强大的硬件描述语言,采用Verilog语言,可以在更高的抽象层次上进
行芯片设计。随着Verilog 的发展,综合工具可以将抽象层次更高的Verilog代码综合为门级网
表。由于Verilog是一种高级语言,它支持许多高层次可综合的语法结构,综合工具可以将它
们转换为门级电路。例如,“+”运算符用于对两个数进行加法运算,综合工具会采用专门的
加法器电路实现它。
综合工具支持很多语法结构,这使得电路设计变得更加容易。此外,Verilog还支持大量
的不可综合的语法结构,这些语法结构不是用于进行电路设计的,它们是用来进行电路功
能仿真验证的。验证一个复杂的数字电路或系统的功能是否正确非常重要,此时考虑的是
Verilog语言应该有足够的能力和便于使用的特点,确保对所设计的电路进行有效的仿真验
证,此时,所编写的验证代码能否生成具体的电路并不重要。
对于刚步入本领域的设计者,开始可能会从事电路设计工作,也可能会从事电路验证工
作,此时需要设计可综合或不可综合的Verilog代码。本书将Verilog语法分为两部分,在本书
中将详细介绍可综合部分,对不可综合部分的细节介绍略少一些。
3.2 Verilog的发展历史
Verilog语 言 最 早 是 由GDA (Gateway Design Automation ) 公 司 在1984年 到 1985年 推 出
的。1989年Cadence公司收购了GDA公司,从那时起Verilog语言开始被广泛用于仿真和综合。
Verilog HDL在 1995年成为IEEE标准(IEEE 1364-1995 ),通常称为Verilog 1995 。
Verilog HDL于2001年进行了重大修改,不仅解决了一些原有的不足,同时还增强了仿真
和综合功能。例如,原来经常出现的综合后的门级网表的功能与综合前不一致的问题,主要
是由于敏感项列表中变量没有列全造成的,这个问题在Verilog 2001 中得到了解决,新标准中
省略了敏感项列表。2001版本的Verilog 中还增加了generate语法结构,它对于IP核(Intellectual
Property core )设计和电路的模块化设计非常有用。在2005版本的标准中,对2001版本进行了
少量修订。
现在Verilog HDL语言被一个名为Accellera 的非盈利性组织拥有和维护,Accellera进一步
开发推出了System Verilog ,它相比于Verilog增强了仿真验证功能,同时也扩展了可综合部分
的语法结构。
4 Verilog 高级数字系统设计技术与实例分析
3.3 Verilog的结构
如前所述,Verilog被广泛用于
芯片设计,那么我们如何设计一个
大 规 模 的 芯 片 呢? 总 的 来 说, 我
们 需 要 将 该 芯 片 划 分 为 不 同 的 块
(block )、子块(sub-block ),乃至于
更小的模块(module )。模块为最低
层次的电路单元。每个模块都具有
一些输入端口和输出端口。一个模
块通过输入端口不断接收到数值并
通过输出端口输出其产生的信号。
我们将模块拼接在一起可以构
成整个芯片,当模块的数量变大时,
我们需要创建一定的层次结构,高层
次的模块由多个低层次的模块构成,
多个高层次模块连接又可以构成更高
层次的模块,直至完成整个设计。采
图3.1 chip_top的结构
用层次化、模块化设计在工程设计中
非常有益,可以使复杂设计易于开展,可读性强,下面是一个层次化设计的例子。
图3.1显示了Verilog 中层次化设计的基本方法和思路。大多数情况下,最底层的模块
(xmit_a 、xmit_b 、rcv_c 、rcv_d )包含可以综合成逻辑门和触发器(目前使用最多的是D触发
器,在很多电路中又常称为寄存器)的代码,高层模块只提供对低层模块的
您可能关注的文档
最近下载
- 山东省烟台市蓬莱实验初级中学2024-2025学年度第一学期9年级道德与法治素养形成期中测试(图片版,含答案).docx VIP
- 全国2025年10月自考00185《商品流通概论》真题及答案.docx VIP
- 2023年4月 自考 06056 心理学史 试题.pdf VIP
- 涉案财物管理系统V2.0T-用户使用说明书.pdf VIP
- 2025年网络安全等级测评师(中级)考核试题与答案.pdf VIP
- 电梯学徒安全培训记录课件.pptx VIP
- 公务员制度专题二.ppt VIP
- tc官网软件资源中文产品手册voicetone.pdf VIP
- 路灯售后服务方案及措施.docx VIP
- 河北省部分高中2024-2025学年高一上学期11月阶段性测试语文试卷(含答案).docx VIP
原创力文档


文档评论(0)