欢迎来到天天文库
浏览记录
ID:1342066
大小:528.00 KB
页数:29页
时间:2017-11-10
《第7课 veriloghdl语言基础》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、·29·第7章总线及总线互连结构第7章VerilogHDL语言基础7.1VerilogHDL设计初步VerilogHDL是一种硬件描述语言,主要用于从行为级、寄存器级(RTL级)、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象既可以是简单的门,也可以是完整的电子数字系统。除此而外,还可用VerilogHDL进行仿真验证、时序分析和逻辑综合等。7.1.1VerilogHDL设计流程简介运用VerilogHDL设计系统一般采用自顶向下分层设计的方法。首先从系统设计入手,在顶层进行功能方框图的划分和结构设计,并用硬件描述语言对高层次的系统行为进行描述所谓行
2、为描述,就是对整个系统的数学模型描述,行为描述的目的是意图通过行为仿真来发现设计中存在的问题。在系统设计的基础上,进行各个功能模块的设计,以保证能够正确地实现模块所要求的逻辑功能。这种功能级的设计也是要通过硬件描述语言来完成的,主要是要求正确地描述模块的功能和逻辑关系,但不考虑逻辑关系的具体实现。在完成功能设计后,通过相应软件对设计进行逻辑模拟,以验证设计在功能上是否正确,若发现有问题应修改设计。由于这种逻辑模拟是高层次的系统仿真,所以这一仿真层次的许多Verilog语句不能被综合器所接受,必须将行为方式描述的Verilog语言程序改写为数据流方式(即RTL级)描述的V
3、erilog语言程序,为下一步的逻辑综合作准备。所谓逻辑综合是指将高层次的设计描述自动转化为低层次的设计描述,即将RTL级描述转化为逻辑门级描述,其结果相当于根据系统要求画出了系统的逻辑电路图。综合后的结果可为硬件系统所接受,具有硬件系统可实现性。逻辑综合后必须利用适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,也就是通常所说的布局布线设计。在布局布线完成之后,一般还要针对设计的结果再进行一次时序仿真。如果以上所有过程都完成了,就可通过编程器或下载电缆将设计文件载入目标芯片FPGA或CPLD中。7.1.2VerilogHDL语言与C语言的比较·29·第7
4、章总线及总线互连结构Verilog语言是在C语言的基础上发展而来的。从语法结构上看,Verilog语言与C语言有许多相似之处,继承和借鉴了C语言的许多语法结构。在表7.1中我们给出常用C语言与Verilog相对应的关键字、控制结构和运算符的比较。表7.1C语言Verilog语言C语言Verilog语言功能functionmodule,function++加if-then-elseif-then-else--减forfor**乘whilewhile//除casecase%%取模breakbreak!!逻辑非definedefine&&&&逻辑与printfprintf;;
5、逻辑或intint>>大于{,}begin,end<<小于>=>=大于等于<=<=小于等于====等于!=!=不等于~~取反&&按位与
6、
7、按位或^^按位异或<<<<左移>>>>右移?:?:等同于if-else从表中可以看出,Verilog语言与C语言几乎完全相同。但是作为一种硬件描述语言,Verilog语言与C语言在使用中还是有着本质的区别的:C语言是一行一行依次执行的,属于顺序结构;而Verilog语言是用语言的方式去描述物理电路的行为,在任何时刻,只要接通电源,所有电路都同时工作,因此,虽然程序语句是顺序编写的,但一旦综合成硬件电路后,各部分电路可以在同一时刻同时运
8、行,属于并行结构。C语言的函数调用与Verilog中的模块调用也有区别,C语言调用函数是没有延迟特性的,一个函数是惟一确定的,对同一个函数的不同调用是一样的。而Verilog中对模块的不同调用是不同的,即使调用的是同一模块,也必须用不同的名字来指定。7.1.3基本的VerilogHDL模块模块是Verilog的基本描述单元,掌握了模块的概念对学习Verilog语言至关重要。模块代表硬件上的逻辑实体,其范围可以从简单的门到整个大的系统,比如一个加法器,一个存储子系统,一个微处理器等。·29·第7章总线及总线互连结构在Verilog语言中,首先要做的就是模块定义。“模块”(
9、module)是Verilog程序的基本设计单元。下面以图7.1为例来说明模块的结构。图7.1两输入与门模块用Verilog语言对两输入与门的描述:/*AND2*/moduleAND2(A,B,F);//模块名为AND2inputA,B;//输入信号定义outputF;//输出信号定义andU1(F,A,B);//调用门元件endmodule将上面的Verilog程序与原理图对照,可以对Verilog程序模块有一个比较直观的认识。Verilog模块结构完全嵌在module和endmodule关键字之间,每个Verilog程序包括4个主要部
此文档下载收益归作者所有