HDL的历史.现状与发展
HDL 发展的历史、现状和发展
成员 : 岳俊峰 3113032010
于洋 3113030021
一、HDL 简介
HDL(Hardware Description Language),是一种硬件描述语言。它是用来描述电子电路(特别是数字电路)功能、行为的语言,可以在寄存器传输级、行为级、逻辑门级等对数字电路系统进行描述。随着自动化逻辑综合工具的发展,硬件描述语言可以被这些工具识别,并自动转换到逻辑门级网表,使得硬件描述语言可以被用来进行电路系统设计,并能通过逻辑仿真的形式验证电路功能。设计完成后,可以使用逻辑综合工具生成低抽象级别(门级)的网表(即连线表)。
硬件描述语言在很多地方可能和传统的软件编程语言类似,但是最大的区别是,前者能够对于硬件电路的时序特性进行描述。硬件描述语言是构成电子设计自动化体系的重要部分。小到简单的触发器,大到复杂的超大规模集成电路(如微处理器),都可以利用硬件描述语言来描述。
二、HDL 语言的发展历史
广泛应用的硬件描述语言主要有:ABEL 语言、Verilog 语言、和VHDL 语言,Superlog 语言、SystemC 等。其中Verilog 语言和VHDL 语言最为流行。下面是几种语言的发展历史。
2.1 VHDL
早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行VHDL 的开发。1982年VHDL 正式诞生。1987年,由IEEE (Institute of Electrical and Electro- nics Engineers )将VHDL 制定为标准。参考手册为IEEE VHDL 语言参考手册标准草案1076/B版,于1987年批准,称为IEEE 1076-1987。自IEEE 公布了VHDL 的标准版本,IEEE- 1076(简称87版) 之后,各EDA 公司相继推出了自己的VHDL 设计环境,或宣布自己的设计工具可以和VHDL 接口。此后VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。应当注意,起初VHDL 只是作为系统规范的一个标准,而不是为设计而制定的。第二个版本是在1993年制定的,称为VHDL-93,增加了一些新的命令和属性。
2.2 Verilog HDL
Verilog HDL是由GDA(Gateway Design Automation)公司的PhilMoorby 在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby 推出它的第三个商用仿真器Verilog-XL, 获得了巨大的成功,从而使得Verilog HDL 迅速得到推广应用。1989年CADENCE 公司收购了GDA 公司,使得VerilogHDL 成为了该公司的独家专利。1990年CADENCE 公司公开发表了Verilog HDL,并成立LVI 组织以促进Verilog HDL 成为IEEE 标准,即IEEE Standard 1364-1995。
2.3 ABEL语言
ABEL 语言是一种硬件描述语言(也称为ABEL-HDL) ,其英文全称是Advanced Boolean Equation Language,中文全称是先进的布尔方程的语言。ABEL 语言是普遍使用的三种硬件描述语言的一种(ABEL ,VHDL ,Verilog) ,用它来描述逻辑函数,可方便设计者使用PLD (可编译逻辑器件)来实现函数功能。
ABEL 语言由美国DATAI/O公司于1983~1988年推出的,现在是Data I/O公司的注册商标。
2.4 Superlog
开发一种新的硬件设计语言,总是有些冒险,而且未必能够利用原来对硬件开发的经验。能不能在原有硬件描述语言的基础上,结合高级语言C 、C++甚至Java 等语言的特点,进行扩展,达到一种新的系统级设计语言标准呢?
Superlog 就是在这样的背景下研制开发的系统级硬件描述语言。Verilog 语言的首创者Phil Moorby 和Peter Flake 等硬件描述语言专家,在一家叫Co-Design Automation 的EDA 公司进
行合作,开始对Verilog 进行扩展研究。1999年,Co-Design 公司发布了SUPERLOGTM 系统设计语言,同时发布了两个开发工具:SYSTEMSIMTM 和SYSTEMEXTM 。一个用于系统级开发,一个用于高级验证。2001年,Co-Design 公司向电子产业标准化组织Accellera 发布了SUPERLOG 扩展综合子集ESS ,这样它就可以在今天Verilog 语言的RTL 级综合子集的基础上,提供更多级别的硬件综合抽象级,为各种系统级的EDA 软件工具所利用。
2.5 SystemC
随着半导体技术的迅猛发展,SoC 已经成为当今集成电路设计的发展方向。在系统芯片的各个设计中,像系统定义、软硬件划分、设计实现等,集成电路设计界一直在考虑如何满足SoC 的设计要求,一直在寻找一种能同时实现较高层次的软件和硬件描述的系统级设计语言。
SystemC 正是在这种情况下,由Synopsys 公司和CoWare 公司积极响应目前各方对系统级设计语言的需求而合作开发的。1999年9月27日,40多家世界著名的EDA 公司、IP 公司、半导体公司和嵌入式软件公司宣布成立“开放式SystemC 联盟”。著名公司Cadence 也于2001年加入了SystemC 联盟。SystemC 从1999年9月联盟建立初期的0.9版本开始更新,从1.0版到1.1版,一直到2001年10月推出了最新的2.0版。
三、HDL 发展状况
3.1verilog 语言的发展与特点
Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。
Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。
Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog 仿真器进行验证。语言从C 编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。
Verilog 具有以下优点:1. 是通用的HDL ,易学易用。与C 语言类似;2允许对同一个电路进行不同抽象层次的描述,包括开关级、门级、RTL 级或者行为级描述电路;3即可以设计电路,也可以描述电路的激励,用于电路的验证;4是IEEE 标准,得到绝大多数EDA 工具的支持;5设计的工艺无关性,支持综合;6有大量的单元库资源;7类似编程,有利于开发调试,在设计前期就可以完成电路功能验证,减少费用和时间;8与C 语言有PLI 接口,设计者可以通过编写增加的C 语言代码来访问Verilog 内部数据结构,扩展语言的功能;
3.2VHDL 语言的现状特点
VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来,VHDL 语言主要具有以下优点:
(1) VHDL 语言功能强大,设计方式多样
VHDL 语言具有强大的语言结构,只需采用简单明确的VHDL 语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法,也支持层次化设计方法。
(2) VHDL 语言具有强大的硬件描述能力
VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。
(3) VHDL 语言具有很强的移植能力
VHDL 语言很强的移植能力主要体现在:对于同一个硬件电路的 VHDL 语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。
(4) VHDL 语言的设计描述与器件无关
采用 VHDL 语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完成以后,VHDL 语言允许采用多种不同的器件结构来实现。
(5) VHDL 语言程序易于共享和复用
VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。
由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量,缩短开发周期。
3.3VHDL 与verilog 的比较
一般认为 verilog 更灵活效率高(以较少的代码实现相同功能)拥有一些vhdl 没有的系统函数比如$time、$random等
vhdl 语法严格某些错误在语法分析阶段就可以被发现抽象层次较verilog 略高具有一些verilog 没有的功能比如可以定义模块端口为多维数组类型、可以不指定状态机的具体编码方式
两者不存在“优劣”之分和系统规模也没有关系
3.4各种HDL 语言的比较
目前,硬件描述语言可谓是百花齐放,有VHDL 、Superlog 、Verilog 、SystemC 、Cynlib C++、
C Level 等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却莫衷一是,难有定论。
而比较一致的意见是,HDL 和C/C++语言在设计流程中实现级和系统级都具有各自的用武之地。问题出现在系统级和实现级相连接的地方:什么时候将使用中的一种语言停下来,而开始使用另外一种语言?或者干脆就直接使用一种语言?现在看来得出结论仍为时过早。
在2001年举行的国际HDL 会议上,与会者就使用何种设计语言展开了生动、激烈的辩论。最后,与会者投票表决:如果要启动一个芯片设计项目,他们愿意选择哪种方案? 结果,仅有2票或3票赞成使用SystemC 、Cynlib 和C Level 设计;而Superlog 和Verilog 各自获得了约20票。至于以后会是什么情况,连会议主持人John Cooley 也明确表示:“5年后,谁也不知道这个星球会发生什么事情。”
各方人士各持己见:为Verilog 辩护者认为,开发一种新的设计语言是一种浪费;为SystemC 辩护者认为,系统级芯片SoC 快速增长的复杂性需要新的设计方法;C 语言的赞扬者认为,Verilog 是硬件设计的汇编语言,而编程的标准很快就会是高级语言,Cynlib C++是
最佳的选择,它速度快、代码精简;Superlog 的捍卫者认为,Superlog 是Verilog 的扩展,可以在整个设计流程中仅提供一种语言和一个仿真器,与现有的方法兼容,是一种进化,而不是一场革命。
当然,以上所有的讨论都没有提及模拟设计。如果想设计带有模拟电路的芯片,硬件描述语言必须有模拟扩展部分,像Verilog HDL-A,既要求能够描述门级开关级,又要求具有描述物理特性的能力。
四、HDL 的发展方向
微电子设计工业的设计线宽已经从0.25μm 向 0.18μm 变迁,而且正在向0.13μm 和90nm 的目标努力迈进。到0.13μm 这个目标后,90%的信号延迟将由线路互连所产生。为了设计工作频率近2GHz 的高性能电路,就必须解决感应、电迁移和衬底噪声问题(同时还有设计复杂度问题)。
未来几年的设计中所面临的挑战有哪些?标准组织怎样去面对?当设计线宽降到0.13μm ,甚至更小时,将会出现四个主要的趋势:1. 设计再利用;2设计验证(包括硬件和软件);3互连问题将决定对时间、电源及噪声要求;4系统级芯片设计要求。
足未来设计者需要的设计环境将是多家供应商提供解决方案的模式,因为涉及的问题面太广且太复杂,没有哪个公司或实体可以独立解决。实际上,人们完全有理由认为,对下一代设计问题解决方案的贡献,基础研究活动与独立产业的作用将同等重要。
以后,EDA 界将在以下三个方面开展工作。
(1)互用性标准。所有解决方案的基础,是设计工具开发过程的组件——互用性标准。我们知道,EDA 工业采用的是工业上所需要的标准,而不管标准是谁制定的。但是,当今市场的迅速发展正在将优势转向那些提供标准时能做到快速适应和技术领先的组织。处于领先的公司正在有目的地向这方面投资,那些没有参加开发这些标准的公司则必须独自承担风险。
(2)扩展其高级库格式(ALF )标准,使其包含物理领域的信息,是EDA 开发商可以致力于解决互连问题的算法,从而使电路设计者在解决设计收尾工作时,不再受到这个问题的困扰。
(3)制定新的系统级设计语言标准。标准化系统芯片的设计工具和语言,使SoC 真正达到第三次微电子设计革命浪潮。