《ch02-veriloghdl入门》由会员分享,可在线阅读,更多相关《ch02-veriloghdl入门(62页珍藏版)》请在金锄头文库上搜索。
1、工程学院 信息技术教研室,Verilog HDL与FPGA 数字系统设计,2.1 硬件描述语言简介,2 Verilog HDL入门与功能仿真,2.2 Verilog HDL程序的基本结构,2.3 逻辑功能的仿真验证过程,2.4 ModelSim仿真软件的使用,2.5 Verilog HDL功能仿真常用命令,构成数字逻辑系统的基本单位是与门、或门和非门,它们都是由三极管、二极管和电阻等器件构成,并能执行相应的开关逻辑操作 与门、或门和非门又可以构成各种触发器,实现状态记忆 复杂的数字系统就是由这些理想器件组成的基本单元构成的,3,2.1 硬件描述语言简介,2.1 硬件描述语言简介,硬件描述语言H
2、DL(Hardware Description Languag ) 类似于高级程序设计语言. 它是一种以文本形式来描述数字系统硬件的结构和行为的语言, 用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统的逻辑功能。用HDL编写设计说明文档易于存储和修改,并能被计算机识别和处理. HDL是高层次自动化设计的起点和基础.目前, IEEE推出两种标准:VHDL和Verilog HDL,4,数字电路系统的设计者利用硬件描述语言可以从上层到下层(从抽象到具体)逐层描述 自己设计的思想,用一系列分层的模块来表示极其复杂的数字系统。 然后利用设计自动化工具逐层进行仿真验证,再把其中需要变为具体物理电路的模
3、块组合经由自动综合工具转换到门级电路网表。 接下去再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布线工具把网表转换为具体电路布线结构实现。,5,2.1 硬件描述语言简介,美国和中国台湾地区逻辑电路设计和制造厂家大多以Verilog HDL为主,中国大陆地区目前学习Verilog HDL已经超过VHDL。 Verilog HDL和VHDL这两种工业标准的产生顺应了历史的潮流,因而得到了迅速的发展。 美国、日本等国由于高级设计工程师人力资源成本远高于中国,所以,近年来把许多设计工作转移到中国大陆,以降低设计成本。,2.1 硬件描述语言简介,6,硬件描述语言的发展至今已有30多年的历
4、史,并成功应用于各个阶段:建模、仿真、验证和综合等。 20世纪80年代,已出现了上百种硬件描述语言,并对设计自动化曾起到了极大的促进和推动作用。 这些语言一般各自面向特定的设计领域与层次,而且众多的语言使用户无所适从。 20世纪80年代后期,硬件描述语言向着标准化的方向发展。最终,Verilog HDL和VHDL语言适应了这种趋势,先后成为IEEE标准。 在美国和日本等先进的电子工业国家,Verilog语言已经成为设计数字系统的基础。,7,(1) VHDL的起源与发展,2.1 硬件描述语言简介,(1) VHDL的起源与发展,Very high speed integrated Hardware
5、 Description Language (VHDL) 它是70年代末和80年代初,起源于美国国防部提出的超高速集成电路VHSIC研究计划,目的是为了把电子电路的设计意义以文字或文件的方式保存下来,以便其他人能轻易地了解电路的设计意义 。 1981年6月成立了VHDL小组。,8,1983年第三季度,由IBM公司、TI公司、Intermetric 公司成立开发小组。 1986年3月,IEEE开始致力于VHDL的标准化工作,讨论VHDL语言标准。 IEEE于1987年12月公布了VHDL的标准版本(IEEE STD 1076/1987); 1993年VHDL修订,形成新的标准即IEEE STD
6、1076-1993)。,(1) VHDL的起源与发展,9,10,(2) Verilog HDL的起源与发展,什么是Verilog HDL,“Verilog HDL”是硬件描述语言的一种,用于数字电子系统设计。 该语言允许设计者进行各种级别的逻辑设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合。 它是目前应用最广泛的一种硬件描述语言。,(2) Verilog HDL的起源与发展,1981年Gateway Automation硬件描述语言公司成立; 198384年间该公司发布“Verilog HDL”及其仿真器Verilog -XL ; 1986年Phil Moorby提出快速门级仿真的XL算
7、法并获得成功,Verilog语言迅速得到推广。 Verilog-XL较快,特别在门级,能处理万门以上的设计。 1987年Synonsys公司开始使用Verilog行为语言作为它综合工具的输入; 1989年12月 Cadence公司并购了Gateway公司; 1990年初Cadence公司把Verilog HDL和Verilog-XL分成单独产品,公开发布了Verilog HDL,与VHDL竞争。并成立Open Verilog International(OVI)组织,负责Verilog的发展和标准的制定。,11,1993年 几乎所有ASIC厂商支持Verilog HDL,认为Verilog-X
8、L是最好的仿真器。OVI推出2.0版本的Verilog HDL规范,IEEE接受了将OVI的Verilog2.0作为IEEE标准的提案。 1995年12月,定出Verilog HDL的标准IEEE 1364。 2001年3月IEEE正式批准了Verilog-2001标准(即IEEE 1364-2001)。 Verilog-2001标准在Verilog-1995的基础上有几个重要的改进。新标准有力地支持可配置的IP建模,大大提高了深亚微米(DSM)设计的精确性,并对设计管理作了重大改进。,(2) Verilog HDL的起源与发展,12,(2) Verilog HDL的起源与发展,目前,EDA软
9、件供应商提供的开发工具都支持这两种 硬件描述语言。 除了语法上的差异外,EDA工具所提供的功能几乎 是相同的。 就目前的版本而言,Verilog HDL再系统级的抽象建 模方面比VHDL略差一些,而在门级开关电路建摸方 面则比VHDL强得多。,13,能力(capability),VHDL,Verilog,(3)两种语言的比较(能力、数据类型、易学性、效率),14,数据类型(data type),VHDL,是一种数据类型性极强的语言。支持用户定义的数据类型。当对象的数据类型不一样时必须用类型转换函数转换。可以使用抽象(比如枚举)类型为系统建模。能利用数据类型检查编程的错误。,Verilog,数据
10、类型简单。只能由语言本身定义,不能由用户定义。适于硬件结构的建模,不适于抽象的硬件行为建模。,15,易学性(easiest to learn),VHDL,是一种数据类型很强的语言,欠直观。加之同一种电路有多种建模方法,通常需要一定的时间和经验,才能高效的完成设计。 VHDL根植于ADA,有时简洁,有时冗繁,如行为描述简洁,结构描述冗繁。,Verilog,由于Verilog为直接仿真语言,数据类型较简单,语法很直观,故Verilog更易理解和好学。 Verilog更像C,约有50的结构来自C,其余部分来自ADA。,16,17,C语言与Verilog硬件描述语言可以配合使用, 辅助设计硬件 C语言
11、与Verilog硬件描述语言类似,只要 稍加限制,C语言的程序和容易转成Verilog 的行为程序,C语言和Verilog的比较,效 率,VHDL,由于数据类型严格,模型必须精确定义和匹配数据类型,这造成了比同等地verilog效率要低。,Verilog,不同位宽的信号可以彼此赋值,较小位数的信号可以从大位数信号中自动截取自己的位号。在综合过程中可以删掉不用的位,这些特点使之简洁,效率较高。,18,近年来,VHDL又有了一些新的发展。例如,为了大幅度提高EDA 工具的设计能力,出现了一系列对HDL语言的扩展。OO-VHDL(Object-Oriteted VHDL,即面向对象的VHDL) 模型
12、的代码比VHDL模型短30%50%,缩短了开发时间,提高了设计效率。 美国杜克大学扩展的DE-VHDL(Duke Extended VHDL)通过增加3条语句,使设计者可以在VHDL描述中调用不可综合的子系统(包括连接该子系统和激活相应功能)。杜克大学用DE-VHDL进行一些多芯片系统的设计,极大地提高了设计能力。,(4)VHDL语言的新进展,19,OVI组织1999年公布了可用于模拟和混合信号系统设计的硬件描述语言Verilog-AMS语言参考手册的草案,Verilog-AMS语言是符合IEEE 1364标准的Verilog HDL子集。目前Verilog-AMS还在不断的发展和完善中。,(
13、5)Verilog HDL语言的新进展,20,HDL主要用于数字电路与系统的建模、仿真和自动设计。目前有两种标准的硬件描述语言:Verilog和VHDL。由于Verilog简单易学,所以我建议大家学习Verilog HDL语言。 我国国家技术监督局于1998年正式将集成电路/硬件描述语言Verilog列入国家标准,国家标准编号为GB/T18349-2001,从2001年10月1日起实施。相信该标准的制定对我国集成电路设计技术的发展有重要的推动作用。,结 论,21,(6)硬件描述语言的特点,硬件描述语言是描述数字系统的功能(行为)而设计且经过优化的一种编程语言。它是硬件电路设计人员与EDA软件工
14、具之间沟通的桥梁,其目的是用来编写设计文件、建立电子系统行为级的仿真模型,再对模型进行逻辑仿真,然后利用逻辑综合工具进行综合,自动生成符合要求且在电路结构上可以实现的数字逻辑网表。根据网表可以制造ASIC芯片或者对课程逻辑器件进行配置。,22,(6)硬件描述语言的特点,(1)HDL支持数字电路的设计、验证、综合和测试,但不支持模拟电路的描述。 (2)HDL既包含一些高级程序设计语言的机构形式,同时兼顾描述硬件电路连接的具体电路。 (3)HDL是并发的,即具有再同一时刻执行多个任务的能力。 (4)HDL有时序概念。,23,2.2 Verilog HDL程序的基本结构,2.2.1 简单Verilo
15、g HDL程序实例,2.2.2 Verilog HDL程序的基本结构,24,2. 每个模块先要进行端口的定义,并说明输入(input) 、输出 (output)和双向(inout),然后对模块功能进行描述。,2.2.1 简单Verilog HDL程序实例,Verilog使用大约100个预定义的关键词定义该语言的结构,1. VerilogHDL程序由模块构成。每个模块的内容都是嵌在关键词module和endmodule两个语句之间。每个模块实现特定的功能。,3. 除了endmodule语句外,每个语句后必须有分号。,4. 可以用/* - */和/,对VerilogHDL程序的任何部分做注释。,2
16、5,2.2.1 简单Verilog HDL程序实例,/* Gate-level description of a half adder */ module HalfAdder_GL(A, B, Sum, Carry); input A ,B ; /输入端口声明 output Sum, Carry ; /输出端口声明 wire A ,B , Sum ,Carry ; xor X1 (Sum, A, B ); and A1 (Carry, A, B); endmodule,功能描述,模块名,数据类型说明,26,2.2.1 简单Verilog HDL程序实例,/* Dataflow description of a half adder */ module HalfAdder_DF(A, B, Sum, Carry); input A ,B ; output Sum ,Carry ; wire A ,B,Sum ,Carry ; assign Sum = A B; assign Carry = A endmodule,/*