- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章VerilogHDL语言基础.doc
第 7 章 Verilog HDL语言基础
7.1 Verilog HDL设计初步
Verilog HDL是一种硬件描述语言,主要用于从行为级、寄存器级(RTL级)、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象既可以是简单的门,也可以是完整的电子数字系统。除此而外,还可用Verilog HDL进行仿真验证、时序分析和逻辑综合等。
7.1.1 Verilog HDL设计流程简介
运用Verilog HDL设计系统一般采用自顶向下分层设计的方法。首先从系统设计入手,在顶层进行功能方框图的划分和结构设计,并用硬件描述语言对高层次的系统行为进行描述所谓行为描述,就是对整个系统的数学模型描述,行为描述的目的是意图通过行为仿真来发现设计中存在的问题。
在系统设计的基础上,进行各个功能模块的设计,以保证能够正确地实现模块所要求的逻辑功能。这种功能级的设计也是要通过硬件描述语言来完成的,主要是要求正确地描述模块的功能和逻辑关系,但不考虑逻辑关系的具体实现。在完成功能设计后,通过相应软件对设计进行逻辑模拟,以验证设计在功能上是否正确,若发现有问题应修改设计。
由于这种逻辑模拟是高层次的系统仿真,所以这一仿真层次的许多Verilog语句不能被综合器所接受,必须将行为方式描述的Verilog语言程序改写为数据流方式(即RTL级)描述的Verilog语言程序,为下一步的逻辑综合作准备。
所谓逻辑综合是指将高层次的设计描述自动转化为低层次的设计描述,即将RTL级描述转化为逻辑门级描述,其结果相当于根据系统要求画出了系统的逻辑电路图。综合后的结果可为硬件系统所接受,具有硬件系统可实现性。
逻辑综合后必须利用适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,也就是通常所说的布局布线设计。在布局布线完成之后,一般还要针对设计的结果再进行一次时序仿真。
如果以上所有过程都完成了,就可通过编程器或下载电缆将设计文件载入目标芯片FPGA或CPLD中。
7.1.2 Verilog HDL语言与C语言的比较
Verilog语言是在C语言的基础上发展而来的。从语法结构上看,Verilog语言与C语言有许多相似之处,继承和借鉴了C语言的许多语法结构。在表7.1中我们给出常用C语言与Verilog相对应的关键字、控制结构和运算符的比较。
表7.1
C语言 Verilog语言 C语言 Verilog语言 功能 function module, function + + 加 if-then-else if-then-else - - 减 for for * * 乘 while while / / 除 case case % % 取模 break break ! ! 逻辑非 define define 逻辑与 printf printf ( ( 逻辑或 int int 大于 {,} begin,end 小于 = = 大于等于 = = 小于等于 == == 等于 != != 不等于 ~ ~ 取反 按位与 | | 按位或 ^ ^ 按位异或 左移 右移 ?: ?: 等同于if-else 从表中可以看出,Verilog语言与C语言几乎完全相同。但是作为一种硬件描述语言,Verilog语言与C语言在使用中还是有着本质的区别的:C语言是一行一行依次执行的,属于顺序结构;而Verilog语言是用语言的方式去描述物理电路的行为,在任何时刻,只要接通电源,所有电路都同时工作,因此,虽然程序语句是顺序编写的,但一旦综合成硬件电路后,各部分电路可以在同一时刻同时运行,属于并行结构。C语言的函数调用与Verilog中的模块调用也有区别,C语言调用函数是没有延迟特性的,一个函数是惟一确定的,对同一个函数的不同调用是一样的。而Verilog中对模块的不同调用是不同的,即使调用的是同一模块,也必须用不同的名字来指定。
7.1.3 基本的Verilog HDL模块
模块是Verilog的基本描述单元,掌握了模块的概念对学习Verilog语言至关重要。模块代表硬件上的逻辑实体,其范围可以从简单的门到整个大的系统,比如一个加法器,一个存储子系统,一个微处理器等。
在Verilog语言中,首先要做的就是模块定义。“模块”(module)是Verilog程序的基本设计单元。下面以图7.1为例来说明模块的结构。
用Verilog语言对两输入与门的描述:
/*AND2*/
module AND2 (A,B,F ); //模块名为AND2
input A,B; //输入信号定义
output
您可能关注的文档
- 第1章EUIM-KP方案概述-关于我们---深圳市贸诚科技有限公司.doc
- 第1章FoxPro数据库管理系统基本知识.ppt.ppt
- 第1章使用HTML5创建移动应用程序.doc
- 第1章同步训练.ppt.ppt
- 第1章多媒体技术概述.ppt.ppt
- 第1章测绘管理总论.ppt.ppt
- 第1章电闸-emsd.gov.hk.doc
- 第1章软件的安装、运行及业务导航.doc
- 第1章项目背景.doc
- 第1篇基础知识.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)