三防平板方案硬件描述语言(HDL)是电子系统硬件行为描述、结构描述、数据流描述的语言。利用这种语言,数字电路系统的设计可以从顶层到底层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换为门一级电路网络表。最后用ASIC、CPLD和FPGA自动布局布线工具,把网络表转换为要实现的具体电路布线结构。
硬件描述语言(HDL)发展至今已有近30多年的历史,它已被成功地应用于各种设计领域,主流的HDL有VHDL和Verilog HDL等。
1 三防平板方案VHDL描述语言
VHDL(Very High Speed Hardware Description Language)是1985年在美国国防部支持下推出的。1987年,IEEE(Institute of Electrical and Electronics Engineers,电气电子工程师协会)将VHDL制定为标准。
自IEEE公布了VHDL的标准版本之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDL。此后,VHDL在电子设计领域得到了广泛的应用,并逐步取代了原有的非标准硬件描述语言。
VHDL作为一种规范语言和建模语言,随着VHDL的标准化,出现了一些支持该语言的行为仿真器。由于创建VHDL的最初目标是用于标准文档的建立和电路功能模拟,其基本想法是在高层次上描述系统和元件的行为。但到了20世纪90年代初,人们发现VHDL不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具,可以利用软件工具将VHDL源码自动地转化为用文本方式表达的基本逻辑元件连接图,即网络表文件。这种方法显然对于电路自动设计是一个极大的推进,随后电子设计领域出现了第一个软件设计工具—VHDL逻辑综合器,它可以把标准VHDL的部分语句描述转化为具体电路实现的网络表文件。
目前,VHDL和Verilog HDL作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域已成为事实上的通用硬件描述语言。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化硬件设计任务,提高设计效率和可靠性。
VHDL具有与具体硬件电路无关,以及与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,在语言易读性、层次化、结构化设计方面表现出了强大的生命力和应用潜力。VHDL支持自顶向下、自底向上或混合设计等多种设计方法,在面对当今许多电子产品生命周期缩短、需要多次重新设计以融入最新技术、改变工艺等方面,VHDL具有良好的适应性。用VHDL进行电子系统设计的一个很大的优点是设计者可以专注于其功能的实现,而不需要对不影响功能的、与工艺有关的因素花费过多的时间和精力。
传统的电子设计技术通常是自底向上的,即首先确定构成系统底层的电路模块或元件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足高层系统的要求。以此流程,逐步向上递推,直至完成整个目标系统的设计。
三防平板方案应用VHDL进行自上而下的设计,就是指使用VHDL模型在所有综合级别上对硬件设计进行说明、建模和仿真测试。主系统及子系统最初的功能要求在VHDL中体现为可以被VHDL仿真程序验证的可执行程序。由于综合工具可以将高级别的模型转化为逻辑门一级的模型,所以整个设计过程基本是由计算机自动完成的。人为介入的方式主要是根据仿真的结果和优化的指标,控制逻辑综合的方式和指向。因此,在设计周期中,要根据仿真的结果进行优化和升级,以及对模型进行及时的修改,改进系统或子系统的功能,更正设计错误,提高目标系统的工作速度,减小面积耗用,降低功耗和成本等。在这些过程中,由于设计的下一步是基于当前的设计的,即使当发现问题或进行新的修改而需从头开始设计时,也不妨碍整体的设计效率。此外,VHDL 设计的可移植性、EDA 平台的通用性,以及与具体硬件结构的无关性,使得前期的设计可以很容易地应用于新的设计项目,而且可以显著缩短项目设计的周期。
采用自顶向下的设计方法将系统分解为各个模块的集合后,可以对设计的每个独立模块指派不同的工作小组。这些小组可以工作在不同地点,甚至可以分属不同的单位,最后将不同的模块集成为最终的系统模型,并对其进行综合测试和评价。
三防平板方案自顶向下设计流程包括以下设计阶段。
(1)提出设计说明书,即用自然语言表达系统项目的功能特点和技术参数等。
(2)建立 VHDL 行为模型,这一步是将设计说明书转化为VHDL 行为模型。在这一项目的表达中,可以使用满足IEEE标准的VHDL的所有语句而不必考虑可综合性,这一建模行为的目标是通过VHDL仿真器对整个系统进行系统行为仿真和性能评估。
(3)VHDL行为仿真。这一阶段可以利用VHDL仿真器对顶层系统的行为模型进行仿真测试,检查模拟结果,继而进行修改和完善。这一过程与最终实现的硬件没有任何关系,也不考虑硬件实现中的技术细节,测试结果主要是对系统功能行为的考察,其中许多VHDL的语句表达主要为了方便了解系统各种条件下的功能特性,而不可能用真实的硬件来实现。
(4)VHDL RTL级建模。如上所述,VHDL只有部分语句集合可用于硬件功能行为的建模。因此在这一阶段,必须将VHDL的行为模型表达为VHDL行为代码(或称为VHDL RTL级模型)。这里应该注意的是,VHDL行为代码是用VHDL中可综合子集中的语句完成的,即可以最终实现目标器件的描述。因为利用VHDL的可综合的语句同样可以方便地对电路进行行为描述,而目前许多主流的 VHDL 综合器都能将其综合成 RTL 级,甚至门一级模型。在第(3)步和第(4)步,人为介入的因素比较多,设计者需要给予更多的关注。
(5)前端功能仿真。在这一阶段对 VHDL RTL 级模型进行仿真,称为功能仿真。尽管VHDL RTL级模型是可综合的,但对它的功能仿真仍然与硬件无关,仿真结果表达的是可综合模型的逻辑功能。
(6)逻辑综合。使用逻辑综合工具将VHDL行为级描述转化为结构化的门一级电路。
(7)功能仿真。利用获得的测试向量对ASIC的设计系统和子系统的功能进行仿真。
(8)结构综合。主要将综合产生的表达逻辑连接关系的网络表文件,结合具体的目标硬件环境进行标准单元调用、布局、布线,以及满足约束条件的结构优化配置,即结构综合。
(9)门级时序仿真。在这一级中将使用门级仿真器或仍然使用VHDL仿真器(因为结构综合后能同步生成VHDL格式的时序仿真文件)进行门级时序仿真,在计算机上了解更接近硬件目标器件工作的功能时序。在这一步,将带有从布局布线得到的精确时序信息映射到门级电路重新进行仿真,以检查电路时序,并对电路功能进行最后检查。
(10)硬件测试。这是对最后完成的硬件系统进行的检查和测试。
与其他的硬件描述语言相比,VHDL具有较强的行为仿真级与综合级的建模功能,这种能远离具体硬件、基于行为描述方式的硬件描述语言恰好满足典型的自顶向下设计方法,因而能顺应EDA技术发展的趋势,解决现代电子设计应用中出现的各类问题。
7.2.2 Verilog HDL描述语言
Verilog HDL 是硬件描述语言的一种,主要用于数字电子系统设计,设计者可用它进行各种级别的逻辑设计,以及进行数字逻辑系统的仿真验证、时序分析、逻辑综合,是目前应用最广泛的一种硬件描述语言。
Verilog HDL是1983年由GDA(Gateway Design Automation)公司为其模拟器产品开发的硬件描述语言。基于Verilog HDL的优越性,IEEE于2001年发布了Verilog HDL 1364—2001标准。
(1)自顶向下(Top-Down)的设计概念。自顶向下的设计是指从系统级开始,把系统划分为若干基本单元,然后把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接用EDA元件库中的基本元件来实现为止。
(2)三防平板方案具体模块的设计编译和仿真的过程。在不同的层次进行具体模块的设计所用的方法也有所不同,在高层次上往往编写一些行为级的模块并通过仿真加以验证,其主要目的是考虑系统总体的性能和各模块的指标分配,并非实现具体的电路,往往不需进行综合及其以后的步骤。而当设计的层次比较接近底层时,行为描述往往需要用电路逻辑来实现,这时的模块不仅需要通过仿真加以验证,还需进行综合、优化、布线和后仿真。总之,具体电路是从底向上逐步实现的。EDA工具往往不仅支持HDL描述,也支持电路图输入,有效地利用这两种方法是提高设计效率的办法之一。
模块设计流程主要由两大主要功能部分组成。
● 设计开发:即编写设计文件→综合布局布线→投片生成这样一系列步骤。
● 设计验证:也就是进行各种仿真的一系列步骤,如果在仿真过程中发现问题就返回设计输入编辑器进行修改。
(3)对应具体工艺器件的优化、映像和布局布线。由于各种ASIC、CPLD和FPFA器件的工艺各不相同,因而当采用不同厂家的不同器件来实现已验证的逻辑网络表文件(EDIF文件)时,需要不同的基本单元库与布线延时模型与之对应才能进行准确的优化、映像和布局布线。基本单元库与布线延时模型由熟悉本厂工艺的工程师提供,再由EDA 厂商的工程师编入相应的处理程序。而三防平板方案逻辑电路设计师只需用文件说明所用的工艺器件和约束条件,EDA 工具就会自动根据这一文件选择相应的库和模型进行准确的处理,从而大大提高设计效率。
2 三防平板方案Verilog HDL和VHDL的比较
Verilog HDL和VHDL都是用于逻辑设计的硬件描述语言,并且都已成为IEEE标准。VHDL于1987年成为IEEE标准,Verilog HDL则在1995年才正式成为IEEE标准。之所以VHDL比Verilog HDL早成为IEEE标准,这是因为VHDL是美国军方组织开发的,而Verilog HDL则是由一个普通的民间公司开发的,基于Verilog HDL的优越性,才成为IEEE标准,因而具有更强的生命力。
这里的比较不是要判断哪一种语言好些,因为这样的判断没有实际意义,且不同的语言有其特定的适用环境,必须要将语言和它的使用领域相结合才能得出有意义的结论。
一般的硬件描述语言可以在三个层次上进行电路描述,其描述层次依次可分为行为级、RTL级和门电路级。VHDL的特点决定了它更适合于行为级(包括RTL级)的描述,有人称它为行为描述语言;而Verilog HDL属于RTL级硬件描述语言,通常更适合RTL级和更低层次的门电路级描述。
由于任何一种硬件描述语言源程序最终都要转换成门电路级,才能被布局布线器或适配器所接收,因此 VHDL 源程序的综合通常要经过行为级→RTL 级→门电路级的转化。而Verilog HDL源程序的综合过程要略简单一些,只需要经过RTL级→门电路级的转化。
与Verilog HDL相比,VHDL是一种高级描述语言,适用于电路高级建模,比较适合于FPGA/CPLD目标器件的设计,或间接方式的ASIC设计。而Verilog HDL语言则是一种较低级的描述语言,更适用于描述门电路,易于控制电路资源,因此,更适合于直接的集成电路或ASIC设计。
三防平板方案VHDL和Verilog HDL的共同特点是:能形式化地抽象表示电路的结构和行为,支持逻辑设计中层次与领域的描述,可借用高级语言的精巧结构来简化电路的描述,具有电路仿真与验证机制,以保证电路设计的正确性,支持电路描述由高层到低层的综合转换,便于文档管理,易于理解和设计重用。VHDL和Verilog HDL的主要区别在于逻辑表达的描述级别。
三防平板方案VHDL虽然也可以直接描述门电路,但这方面的能力却不如Verilog HDL语言,而Verilog HDL语言在高级描述方面不如VHDL。Verilog HDL的描述风格接近于电路原理图,从某种意义上说,它是电路原理图的高级文本表示方式;VHDL最适于描述电路的行为,然后由综合器根据功能要求来生成符号要求的电路网络表文件。
三防平板方案Verilog HDL的最大优点是易学易用,入门容易,只要有C语言编程的基础,设计者就可以在2~3个月的时间内掌握这种设计技术。VHDL 语言入门相对较难,一般很难在较短的时间内真正掌握其设计技术,但在熟悉以后其设计效率明显高于 Verilog HDL。两者生成的电路性能也不相上下。由于VHDL和Verilog HDL各有所长,市场占有量也相差不多。
目前,大多数高档EDA软件都支持VHDL和Verilog HDL混合设计,因而在工程应用中,有些电路模块可以用VHDL设计,其他电路模块则可以用Verilog HDL设计,各取所长,已成为EDA应用技术发展的一个重要趋势。