硬件描述语言现状及发展前景探讨论文

时间:2022-11-03 09:07:00

导语:硬件描述语言现状及发展前景探讨论文一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

硬件描述语言现状及发展前景探讨论文

关键词:ASIC硬件描述语言芯片系统

摘要:从数字系统设计的性质出发,结合目前迅速发展的芯片系统,比较、研究各种硬件描述语言;详细阐述各种语言的发展历史、体系结构和设计方法;探讨未来硬件描述语言的发展趋势,同时针对国内EDA基础薄弱的现状,在硬件描述语言方面作了一些有益的思考。

现在,随着系统级FPGA以及系统芯片的出现。软硬件协调设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计结合。硬件描述语言为适应新的情况,迅速发展,出现了很多新的硬件描述语言,像Superlog、SystemC、cynlibc++等等。究交选择哪种语言进行设计,整个业界正在进行激烈的讨论。因此,完全有必要在这方面作一些比较研究,为EDA设计做一些有意义的工作,也为发展我们未来的芯片设计技术打好基础。

一、目前HDL发展状况

目前,硬件描述语言可谓是百花齐放,有VHDL、Superlog、Verilog、SystemC、CynlibC++、CLevel等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却莫衷一是,难有定论。

而比较一致的意见是,HDL和C/C++语言在设计流程中实现级和系统级都具有各自的用武之地。问题出现在系统级和实现级相连接的地方:什么时候将使用中的一种语言停下来,而开始使用另外一种语言?或者干脆就直接使用一种语言?现在看来得出结论仍为时过早。

在2001年举行的国际HDL会议上,与会者就使用何种设计语言展开了生动、激烈的辩论。各方人士各持己见:为Verilog辩护者认为,开发一种新的设计语言是一种浪费;为SystemC辩护者认为,系统级芯片SoC快速增长的复杂性需要新的设计方法;C语言的赞扬者认为,Verilog是硬件设计的汇编语言,而编程的标准很快就会是高级语言,Cynlibc++是最佳的选择,它速度快、代码精简;Supedog的扞卫者认为,Superlog是Verilog的扩展,可以在整个设计流程中仅提供一种语言和一个仿真器,与现有的方法兼容,是一种进化,而不是一场革命。

当然,以上所有的讨论都没有提及模拟设计。如果想设计带有模拟电路的芯片,硬件描述语言必须有模拟扩展部分,像VerilogHDL-A,既要求能够描述门级开关级,又要求具有描述物理特性的能力。

二、几种代表性的HDL语言

2.1VHDL

早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行VHDL的开发。1987年。由IEEE(In,stituteofElectricalandElectro-nicsEngineers)将VHDL制定为标准。参考手册为IEEEVHDL语言参考手册标准草案1076/8版,于1987年批准,称为IEEE1076-1987。应当注意,起初VHDL只是作为系统规范的一个标滞,而不足为设计而制定的。第二个版本是在1993年制定的,称为VHDL-93,增加了一些新的命令和属性。

虽然有“VHDL是一个4亿美元的错误”这样的说法。但VHDL毕竟是1995年以前唯一制订为标准的硬件描述语言,这是它不争的事实和优势;但同时它确实比较麻烦,而且其综合库至今也没有标准化,不具有晶体管开关级的描述能力和模拟设计的描述能力。目前的看法是,对于特大型的系统级数字电路设计,VHDL是较为合适的。

实质上,在底层的VHDL设计环境是由VerilogHDL描述的器件库支持的,因此,它们之间的互操作性十分重要。目前,Verilog和VDHL的两个国际组织OVI、Ⅵ正在筹划这一工作,准备成立专门的工作组来协调VHDL和VerilogHDL语言的互操作性。OVI也支持不需要翻译,由VHDL到Verilog的自由表达。

2.2VerilogHDL

VenlogHDL是在1983年,由GDA(GateWayDesignAu-tomation)公司的PhilMoorby首创的。PhilMoorby后来成为Verilog-XL的主要设计者和Cadence公司的第一合伙人。在1984“1985年,PhilMoorby设计出了第一个名为Venlog-XL的仿真器;1986年,他对VerilogHDL的发展义作出了另一个巨大的贡献:提出了用于快速门级仿真的XL算法。

随着Verilog-XL算法的成功,VerilogHDL语言得到迅速发展。1989年,Cadence公司收购了GDA公司,VerilogHDL语言成为Cadence公司的私有财产。1990年,Cadence公司决定公开VerilogHDL语言,于是成立了OVI(OpenVerilogInternaUonal)组织,负责促进VerilogHDL语言的发展。基于VerilogHDL的优越性,IEEE于1995年制定了VerilogHDL的IEEE标准,即VerilogHDL1364-1995;2001年了VerilogHDL1364-2001标准。在这个标准中,加入了VerilogHDL-A标准,使Verilog有了模拟设计描述的能力。

2.3Superlog

开发一种新的硬件设计语言,总是有些冒险,而且未必能够利用原来对硬件开发的经验。能不能在原有硬件描述语言的基础上,结合高级语言c、c++甚至Java等语言的特点,进行扩展,达到一种新的系统级设计语言标准呢?

Superlog就是在这样的背景下研制开发的系统级硬件描述语言。Verilog语言的首创者PhilMoorby和PeterFlake等硬什描述语言专家,在一家叫Co-DesignAutomation的EDA公司进行合作,开始对Verilog进行扩展研究。1999年,Co-Design公司了SUPERLOGTM系统设计语言,同时了两个开发工具:SYSTEMSIMTM和SYSTEMEXTM。一个用于系统级开发,一个用于高级验证。2001年,Co-Design公司向电子产业标准化组织Accellera了SUPERLOG扩展综合子集ESS,这样它就可以在今天Verilog语言的RTL级综合子集的基础上,提供更多级别的硬件综合抽象级,为各种系统级的EDA软件工具所利用。

至今为止,已超过15家芯片设计公司用Superlog来进行芯片设计和硬件开发。Superlog是一种具有良好前景的系统级硬件描述语言。但是不久前,由于整个IT产业的滑坡,EDA公司进行大的整合,Co-Design公司被Synopsys公司兼并,形势又变得扑朔迷离。

2.4SystemC

随着半导体技术的迅猛发展,SoC已经成为当今集成电路设计的发展方向。在系统芯片的各个设计中,像系统定义、软硬件划分、设计实现等,集成电路设计界一直在考虑如何满足SoC的设计要求,一直在寻找一种能同时实现较高层次的软件和硬件描述的系统级设计语言。

systemC正是在这种情况下,由Synopsys公司和CoWare公司积极响应目前各方对系统级设计语言的需求而合作开发的。1999年9月27日,40多家世界着名的EDA公司、lP公司、半导体公司和嵌入式软件公司宣布成立“开放式SystemC联盟”。着名公司Cadence也于2001年加入了systemC联盟。SystemC从1999年9月联盟建立初期的0.9版本开始更新,从1.0版到1.1版,一直到2001年10月推出了最新的2,0版。

三、各种HDL语言的体系结构和设计方法

3.1SystemC

实际使用中,systemc由一组描述类库和一个包含仿真核的库组成。在用户的描述程序中,必须包括相应的类库,可以通过通常的ANSIc++编译器编译该程序。SystemC提供了软件、硬件和系统模块。用户可以在不同的层次上自由选择。建立自己的系统模型,进行仿真、优化、验证、综合等等。

3.2Supeflog

Superlog集合了Verilog的简洁、c语言的强大、功能验证和系统级结构设计等特征,是一种高速的硬件描述语言。

①Verilog95和Verilog2K。Superlog是VerilogHDL的超集,支持最新的Verilog2K的硬件模型。

②c和c++语言。Superlog提供c语言的结构、类型、指针,同时具有C++面对对象的特性。

③Superlog扩展综合子集ESS。ESS提供一种新的硬件描述的综合抽象级。

④强大的验证功能。自动测试基准,如随机数据产生、功能覆盖、各种专有检查等。

Superlog的系统级硬件开发工具主要有Co-DesignAu-mmation公司的SYSTEMSIMTM和SYSTEMEXTM,同时可以结合具它的EDA工具进行开发。

3.3Verilog和VHDL

这两种语言是传统硬件描述语言,有很多的书籍和资料叫以查阅参考,这里不多介绍。

四、目前可取可行的策略和方式

按传统方法,我们将硬件抽象级的模型类型分为以下五种:

(1)系统级(system)-用语言提供的高级结构实现算法运行的模型;

(2)算法级(aIgorithm)-用语言提供的高级结构实现算法运行的模型;

(3)RTL级(RegisterTransferLevel)-描述数据在寄存器之间流动和如何处理、控制这些数据流动的模型。

(4)门级(gate-level)-描述逻辑门以及逻辑门之间的连接模型;

(5)开关级(swish-level)-描述器件中三极管和存储节点以及它们之间连接的模型。

根据目前芯片设计的发展趋势。验证级和综合抽象级也有可能成为一种标准级别。因为它们适合于IP核复用和系统级仿真综合优化的需要,而软件(嵌入式、固件式)也越来越成为一个和系统密切相关的抽象级别。

目前,对于一个系统芯片设计项目,可以采用的方案包括以下几种:

①最传统的办法是,在系统级采用VHDL,在软件级采用c语言,在实现级采用Verilog。目前,VHDL与Verilog的互操作性已经逐步走向标准化,但软件与硬件的协凋设计还是一个很具挑战性的工作。因为软件越来越成为SOC设计的关键。该力案的特点是:风险小,集成难度大,与原有方法完全兼容,有现成的开发工具:但工具集成由开发者自行负责完成。

②系统级及软件级采用Superlog,硬件级和实现级均采用VerilogHDL描述,这样和原有的硬件设计可以兼容。只要重新采购两个Superlog开发工具SYSTEMSIMTM和SYSTEMEXTM即可。该方案特点是风险较小,易于集成,与原硬件设计兼容性好。有集成开发环境。

③系统级和软件级采用SystemC,硬件级采用SystemC与常规的VerilogHDL互相转换,与原来的软件编译环境完全兼容。开发者只需要一组描述类库和一个包含仿真核的库,就可以在通常的ANSIc++编译器环境下开发;但硬件描述与原有方法完全不兼容。该方案特点是风险较大,与原软件开发兼容性好,硬件开发有风险。

五、未来发展和技术方向

微电子设计工业的设计线宽已经从0.251um向0.18um变迁,而且正在向0.13um和90nm的目标努力迈进。到0.13um这个目标后,90%的信号延迟将由线路互连所产生:为了设计工作频率近2GHz的高性能电路,就必须解决感应、电迁移和衬底噪声问题(同时还有设计复杂度问题)。

未来几年的设计中所面临的挑战有哪些?标准组织怎样去面对?当设计线宽降到0.13um,甚至更小尉,将会出现四个主要的趋势:设计再利用;设计验证(包括硬件和软什);互连问题将决定剥时间、电源及噪声要求;系统级芯片设计要求。

满足来来设计者需要的设计环境将是多家供应商提供解决方案的模式,因为涉及的问题面太广且太复杂,没有哪个公司或实体可以独立解决。实际上,人们完全有理由认为,对下一代设计问题解决方案的贡献,基础研究活动与独立产业的作用将同等重要。

以后EDA界将在以下三个方面开展工作。

①互用性标准。所有解决方案的基础,是设计工具开发过程的组件一互用性标准。我们知道。EDA工业采用的是工业上所需要的标准。而不管标准是谁制定的。但是,当今市场的迅速发展正在将优势转向那些提供标准时能做到快速适应和技术领先的组织。处于领先的公司正在有目的地向这方面投资,那些没有参加开发这些标准的公司则必须独自承担风险。公务员之家

②扩展其高级库格式(ALF)标准,使其包含物理领域的信息,是EDA开发商可以致力于解决互连问题的算法,从而使电路设计者在解决设计收尾工作时,不再受到这个问题的困扰。

③制定新的系统级设计语言标准。标准化系统芯片的设计工具和语言。使SoC真正达到第三次微电子设计革命浪潮。