欢迎来到天天文库
浏览记录
ID:50086235
大小:2.58 MB
页数:448页
时间:2020-03-08
《EDA技术及应用——Verilog HDL版 第三版 教学课件 作者 谭会生 全书第3章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.1VerilogHDL简介3.2VerilogHDL程序概述3.3VerilogHDL语言要素3.4结构描述语句3.5数据流描述语句3.6行为描述语句3.7函数与任务3.8基本逻辑电路设计3.9状态机的VerilogHDL设计第3章VerilogHDL编程基础3.1.1常用硬件描述语言简介常用硬件描述语言有VHDL、Verilog和ABEL语言。VHDL起源于美国国防部的VHSIC;Verilog起源于集成电路的设计;ABEL来源于可编程逻辑器件的设计。下面从使用方面将三者进行对比。3.1VerilogHDL简介(1)逻辑描
2、述层次。一般的硬件描述语言由高到低依次可分为行为级、RTL级和门电路级三个描述层次。VHDL语言是一种高级描述语言,适用于行为级和RTL级的描述,最适于描述电路的行为;Verilog语言和ABEL语言是一种较低级的描述语言,适用于RTL级和门电路级的描述,最适于描述门级电路。(2)设计要求。用VHDL进行电子系统设计时可以不了解电路的结构细节,设计者所做的工作较少;用Verilog和ABEL语言进行电子系统设计时需了解电路的结构细节,设计者需做大量的工作。(3)综合过程。任何一种语言源程序最终都要转换成门电路级才能被布线器或适配
3、器所接受,因此,VHDL语言源程序的综合通常要经过行为级→RTL级→门电路级的转化,它几乎不能直接控制门电路的生成,而Verilog语言和ABEL语言源程序的综合过程要稍简单,即经过RTL级→门电路级的转化,易于控制电路资源。(4)对综合器的要求。VHDL描述语言层次较高,不易控制底层电路,因而对综合器的性能要求较高;Verilog和ABEL对综合器的性能要求较低。(5)支持的EDA工具。支持VHDL和Verilog的EDA工具很多,但支持ABEL的综合器仅仅DATAIO一家。(6)国际化程度。VHDL和Verilog已成为IE
4、EE标准;ABEL正朝国际化标准努力。3.1.2VerilogHDL的优点VerilogHDL是GDA公司的PhilMoorby于1983年首创的。1986年,PhilMoorby又在其基础上提出了用于快速门级仿真的XL算法,使得VerilogHDL又向前推进了一大步。1989年,Cadence公司收购了GDA公司,VerilogHDL语言成为Cadence公司的私有财产。1990年,Cadence公司公开了VerilogHDL语言,成立了OVI(OpenVerilogInternational)组织来负责VerilogHDL的
5、发展。1995年,IEEE制定了VerilogHDL的IEEE标准。VerilogHDL语言提供简洁、可读性非常强的句法,使其得到了很好的发展,使用VerilogHDL已经成功地设计出了许多大规模硬件电路。VerilogHDL主要具有以下优点:(1)内置开关级基本结构模型(如pmos、nmos等),内置逻辑函数(如按位与&和按位或
6、
7、),内置基本逻辑门(如and、or等),因此可从开关级、门级、寄存器传输级(RTL)到算法级进行多个层次的设计描述。(2)可采用行为描述、数据流描述和结构化描述三种不同方式或混合方式对设计建模。其中
8、,行为描述方式使用过程化结构建模,它不仅能够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述;数据流描述方式使用连续赋值语句方式建模;结构化描述方式使用门和模块实例语句描述建模,它可描述任何层次。(3)具有两种数据类型:线网数据类型和寄存器数据类型。其中,线网类型表示系统各模块间的物理连线;寄存器类型表示抽象的数据存储元件。(4)同一语言可用于生成模拟激励和指定测试的验证约束条件;能够监控模拟验证的执行,模拟验证执行过程中设计的值能够被监控和显示;具有强大的文件读写能力;提供显示语言结构指定设计中的
9、端口到端口的时延、路径时延和设计的时序检查。(5)能够通过使用编程语言接口PLI机制进一步扩展描述能力。编程语言接口PLI是指允许外部函数访问VerilogHDL模块内信息,允许设计者与模拟器交互的例程集合。3.1.3VerilogHDL程序设计约定为了便于程序的阅读和调试,本书对VerilogHDL程序设计特作如下约定:(1)语句结构描述中方括号“[]”内的内容为可选内容。(2)对于VerilogHDL的编译器和综合器来说,程序文字的大小写是区分的。本书一般使用小写。(3)VerilogHDL支持两种形式的注释符:/*---*
10、/和//。其中,/*---*/为多行注释符,用于多行注释;//为单行注释,//后面直到行尾为注释文字。(4)为了便于程序的阅读与调试,书写和输入程序时,使用层次缩进格式,同一层次的对齐,低层次的、较高层次的缩进两个字符。(5)考虑到Altera公司的EDA软件要
此文档下载收益归作者所有