这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 新的系统级设计语言

共1条 1/1 1 跳转至

新的系统级设计语言

菜鸟
2003-05-22 00:39:29     打赏
作者 Dave Kelf,Synopsys 公司   随着项目复杂程度的提高,系统级设计语言的整合趋势可以大大提高设计效率,从而为从事电子设计自动化(EDA)设计的企业带来益处。SystemVerilog和SystemC这两种语言在设计流程中的共存并无大碍,相反还可以带来显著的实际利益和经济效果。   SystemVerilog 和SystemC不久前依然被视为相互竞争的两种语言,而现在它们可以相互协作,并为实现设计和验证方法提供平滑流畅的系统。   在真实设计流程中的经验清楚地表明,这两种语言非但不是相互对立的,而且还是一种互补的关系。将两种语言在同一种环境下使用,会带来确实的利益并明显缩短项目的设计周期。   SystemC和SystemVerilog在不同的设计领域中,分别有各自的特点。两种标准的结合,将从系统设计到门级电路实现的整个设计及验证过程中,为设计人员提供一种可供选择的综合语言环境。这种结合可以看作是工具和语言相统一的发展潮流中的重要部分,这种统一是为了支持最终用户的需求,而不仅仅是为了方便工具供应商。   SystemVerilog应运而生   SystemVerilog在一种语言中结合了现代的设计和验证环境,因此消除了当今在芯片设计过程中的大量瓶颈。通过建立在Verilog的基础上,这种语言可在现有的基于Verilog的流程中加入更多的不同功能,从而使设计者在实践过程中少走弯路。   通过结合Verilog与C语言的大量最佳特性,SystemVerilog易于使用、为人们所熟悉,并能简化设计代码,提供自动化的测试平台。而且,由于SystemVerilog语言是Verilog的扩展,因此在现有环境下使用相当方便。   SystemVerilog 3.0为硬件设计团队的简化他们的设计提供了强大的基础,使模型很快生成并易于纠错。最新版SystemVerilog 3.1还为创建现代化的测试平台增加了关键的验证功能。   设计的简化与验证平台   SystemVerilog包含所有的Verilog语言规范,包括Verilog IEEE 1364委员会2001年增加的新功能。一流的综合功能、经过简化的端口处理、动态变量及各种其他功能使Verilog使用起来更加直截了当。   SystemVerilog 3.0含有枚举类型和结构等多种C语言编程功能。SystemVerilog 3.1(将于2003年年中推出)新版本将增加面向对象的概念及其他大量重要功能,从而使传统的Verilog用户在编程方面具有更全面的灵活性,这对于验证和系统建模处理是至关重要的。   SystemVerilog 3.0主要改善设计过程中的RTL编码工作,最新版中含有的各种专用功能,可以更加简明地编写可综合的RTL代码,减少设计时间和出错概率。此外,SystemVerilog的一些新功能,例如新的接口构件,使得设计人员可以创建新的设计规范,进行更高程度的抽象描述并与系统设计相结合的链接,同时大大提高设计的清晰程度。在这一层面上还引入了断言(assertion)功能,这样,设计人员可以在代码中加入规范元素,进一步提高模块级的验证自动化。(见图1)。 [img]http://bbs.edw.com.cn/UploadFile/200352116385084576.gif[/img] 图1. SystemVerilog组件   统一的验证环境能提高工作效率   如果说SystemVerilog 3.0旨在提高设计效率,那么3.1版则侧重于提高验证效率。SystemVerilog为测试平台的开发提供一个统一的语言规范。这种语言中包含全面的断言功能,这是制定测试计划的详细规范所必需的。新版本具备功能覆盖率分析的能力,并能自动地生成测试平台。它也提供强大编程功能用于的业务层测试,适用于系统描述以及和具体实现时所需的验证。SystemVerilog通过一种统一的、简单的、整合性的语言可以满足所有的验证需求。   SystemVerilog与SystemC   SystemC由于其开放的授权方式,已在设计界得到广泛认可,使得市场上不断出现大量功能强大、交互性好的基于SystemC的工具和技术。   SystemC主要优点是能够以开放的C++类库的形式,用标准的软件语言来为设计添加对系统结构的描述,从而能够处理硬件和软件的协同设计和集成。SystemC正被愈来愈多地用于生成片上系统(SoC)设计的虚拟原型。这些以SystemC或SystemVerilog编码的虚拟原型,可应用在业务层,并允许在信号的精确程度和仿真性能之间进行折衷。   尽管也含有大量允许在业务层进行建模和分析的系统级功能,但SystemVerilog主要还是用于设计实现和验证。对于从事RTL级设计和验证的工程人员来说,这种语言所具有的多种功能可以显著改善设计流程。   然而,对于当今的设计方法学来说,只满足纯粹的RTL设计的要求是不够的。嵌入式处理器的使用正在迅速增长,与之伴随发展的是解决领域问题的完整工程平台。SystemVerilog含有大量功能,可满足基于平台进行设计的要求,特别是在这一环境下对可重用已有的IP。通过使用各种接口可以方便地对标准的通信机制进行建模、通过嵌入断言可以有效地检查设计是否符合各种协议、而且C/C++语言的编程特性也可以一一对应 到HDL上去。所有这些都使得SystemVerilog在嵌入式系统的开发中易于进行数据和控制转移。   嵌入式系统的开发还需要将模型同时提供给硬件设计人员和软件专业人员。SystemC的设计考虑到了这一问题,在系统级提供了用于平台建模的有效机制。C/C++设计模型是必须为硬件和软件工程人员提供的,而且其基于硬件的功能对于高效的硬件建模是必需的。   处理这种两难的要求的最有效方法是允许这些语言共存。平台的基本构件是采用C/HDL的某种派生语言所设计的IP,它在信号或业务层进行建模。这个IP可以是系统结构层的设计模块,然后进一步细化到具体实现。验证组件也可以采取IP形式,用于在系统层生成协议流或其他标准I/O。这些IP组件可满足在系统级进行验证的要求,并且通过相应的总线功能模型可在剩下的验证过程中重用。   SystemVerilog包含一些特别的接口。通过这些接口,总线功能接口可以以一种对系统或实施工程师透明的方式进行建模。这些接口可以包含对含有对通讯有效性进行验证的断言,C/C++到HDL的转换方法以及对总线功能的编码,从而为从系统架构到具体实现建立了一个平滑的流程。这样,两种环境下的用户可以用自己习惯的方法处理模型,不必再进入另一环境。   注重对模型的使用方法而不是偏重设计语言本身,这表明SystemVerilog 和SystemC两种语言都在现代设计方法学中占有自己的位置。   Synopsys对标准化的一贯承诺   Synopsys公司认识到,同时提供对SystemC和SystemVerilog的支持对最终用户是有益的。Synopsys是SystemC的初始发起人之一。为了推动SystemVerilog的标准化进程,Synopsys还公开捐献了其OpenVera测试平台语言、常用的API和OpenVera Assertion (OVA)规范,这些使得SystemVerilog3.1的出现成为可能。在这些捐献出来的技术的基础上,SystemVerilog包含了对RTL设计进行简化所需的全部功能。   Verilog仍将是RTL设计中的主导语言。与人们的猜测相反,SystemC的出现也不会改变这一点。   用语言的功能来平衡用户的需求   现已证明,基于C语言的设计不仅可以提高生产效率,而且也是对Verilog流程的补充。SystemVerilog/SystemC的整合,使得软件团队一方面可以与高效的硬件设计和验证流程进行合作,同时还可以使用自己原来熟悉的编程语言进行工作,使得整个流程可以达到最高的设计效率。   工具和IP供应商正在为SystemVerilog提供支持。IP提供商已认识到语言的统一化所带来的益处,特别是在验证领域,语言的统一将使他们不必考虑当前支持多种语言的需求。   Accellera已推出SystemVerilog 3.0,并计划2003年中期推出 3.1版。凭借在标准背后的巨大推动力以及其自身所拥有的解决重大设计问题的潜力,这一产品必能在业内取得成功。   作者简介:   Dave Kelf现任Synopsys公司验证技术部高级市场总监。此前,曾任Co-Design Automation市场副总裁,也是Superlog语言的首创者之一



关键词: 新的     系统     设计     语言     可以     SystemVeri    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]