|
技术文库首页
|
编程
|
IC
|
晶体管
|
精解
|
中频
|
其它
|
电源
|
基础
|
电脑
|
无线
|
液晶
|
微波
|
空调
|
手机
|
|
热水器
|
电动车
|
LED屏
|
焊机
|
您现在的位置: 华玉生活网 >> 技术文库 >> 基础 >> 正文>> 繁體中文

系统级设计和验证语言的发展趋势

 1 前言

 解决系统级设计问题首先要解决系统及功能的描述问题。系统级设计语言的竞争正在如火如荼的展开。需要一种语言能够描述包括嵌入的软件和模拟电路在内的整个系统。而现在的寄存器级的硬件描述语言将成为硬件设计的汇编语言。设计和验证工程师将只在关键的部分利用他们取得较高的性能,而一般情况下将主要利用系统及语言进行设计和验证。

  本文将对当前出现的系统级设计和验证语言及其发展趋势进行全面地综述,在第2节和第3节将分别综述系统及设计语言和验证语言的发展情况。第4节论述当前主流的验证方法。

  2 系统级设计语言

  2.1 对系统级设计语言的要求

  系统级设计的特点是:更多更复杂的功能集成和综合、功能模块或IP核,包含存储器、处理器、模拟模块、接口模块和高速、高频输入输出及软件模块,因此要考虑软件和硬件的划分、优化等协同设计和协同验证问题。根据系统级设计的特点,人们普遍认为系统级设计语言应当具有如下的特点:

  1)具有形式化的语义。

  2)支持特别领域规范的集成。

  3)支持描述系统和部件的计算模型的复合。

  4)支持更加抽象的建模。

  5)支持对于限制信息的表示和集成。

  6)从设计规范到设计实现整个设计过程中一致地、连续地探索设计空间。

  7)支持在具体领域和多个交叉领域的预先分析和验证。

  2.2 系统级设计语言的发展

  21世纪初期是系统级设计语言发展变化最迅速的时期。各种系统设计语言 如雨后春笋,已经出现的系统级语言可以分成3类。

  第一类是通过对于经典语言的扩展得到的语言如SystemVerilog[1]。SystemVerilog 在向高层次发展方面,对于原来的Verilog进行了根本性的修改。他混合了Verilog, C/C++和 CoDesign AutomaTIon′s SuperLog 给设计者提供了最强的能力。SystemVerilog是对于IEEE 13642001 Verilog的扩展,以便辅助提供产生并验证抽象的系统结构级的模型。在接口方面突出的特点是在高层抽象可以实现模块的连接。类似于C语言的结构,如断言结构支持性质的检验。主要扩展的目的是使得Verilog语言能够支持大规模的设计并达到更高级的抽象。他还借用了C的数据类型 “char”,“int”等。凡是C的编码可以直接用在Verilog模型和验证程序中。这类对传统语言扩展的方法的优点是有利于设计者的平稳过渡,但是主张完全用C语言作为系统级语言的人们怀疑这种“改良”的方法在进行模拟时的效率不能得到满意结果。

  第二类是利用软件领域的语言和方法,如C/C++,Java,UML等等。主张用C/C++作为系统级设计语言的人们认为随着时间的推移,最终将会利用C的自动编译程序和其他自动化的工具来实现从C/C++的模型到芯片的编译。在目前工具不完善的情况下必须进行人工逐步求精的设计。也就是说,目前C/C++要扩展硬件表达成分而不是只在算法级描述。例如 SpecC(the University of California, Irvine),ardwareC(Stanford University)HandelC(原先是在 Oxford University,现在转移到Embedded Solutions Ltd)SystemC++(C Level Design Inc)SystemC(Synopsys Inc)Cynlib(CynApps)等。可以把这些语言分成2类:一类是在标准C语言上进行扩充,以SpecC为代表;另一类是利用C++可扩充性,以SystemC为代表,他提供一组硬件的基本元件,这些元件可以扩充,以便在更高的层次上支持硬件。这2种互补的方法都在4个层次上即算法、模块、按照周期(cycle accurate)和寄存器传输(RTL)级别上支持硬件描述。在SystemC20之前,有些人认为SystemC是侧重于模拟,SpecC是侧重于规范和结构建模,以综合和验证为目标,但是在SystemC20之后,这些说法也不准确了,因为现在的SystemC2.0已经能够支持所有系统级的要求。 SystemC填补了在传统的HDL和基于C/C++的软件开发方法之间的鸿沟。他包含C++类库和一个模拟内核,这个内核用来产生行为级和寄存器级的模型。有领先的EDA厂家管理和支持,并与商用的综合工具相结合。他支持通用的软件和硬件开发环境。

  我们认为,和C相比,C++显然是比较好的选择。因为C++是可以扩展的,也因为硬件中的并发概念易于用类库表示,C++面向对象的本质与HDL的分层次特性可以很好地对应。

  人们也在讨论Java是否可以作为系统及语言和高级硬件描述语言的问题[2]。例如LavaLogic先提出JHDL,他把Java语言的描述转换成为综合的HDL程序,再用所提供的工具变成门级的描述。拥护Java作为系统级描述语言的人认为Java可以提高描述和运行效率,与现在的HDL相比,能够以很简短的程序表达高层的概念。C/C++具有内在的表达并发能力,相反Java可以用线程显式的表达并发。但是Java不支持模板和操作符过载,因此可能产生大量的过程调用。

  第三类是全新的系统级语言。例如Rosetta,用这一个语言,用户可以描述几乎任何工程领域的行为和限制,包括模拟、数字、软件、微流体和机械等。但是并不能代替和实现Verilog,VHDL和C等。他由美国DARPA开发,目的是给设计者提供描述大型的、复杂的计算系统,特别是混合多种技术的系统的能力,他可以在高层次上定义、捕获和验证系统的限制条件和需求条件及其部件。他提供定义和结合多个领域的语义模型,进行建模和分析。他的语义是形式化的、可以扩展的,并且能适应新系统的要求。

  Rosetta 的设计方法学是基于一种多面体的小平面(facet)的概念。facet是部件或系统的模型,他提供所关心领域具体的信息。为了支持异构系统的设计,每个小平面提供具体领域的词汇和语义。他用来从不同角度定义系统的视图,然后把不同的小平面组合起来构成部件的模型。部件的模型再组合成系统的模型。

  Rosetta的 facets语法对于现有的硬件描述语言的用户来说,应当是容易熟悉的。他的语法和VHDL几乎是一样的。该语言设计的主要难点是要把多个领域的信息统一在一种设计活动中。对于不同的领域,例如模拟、数字、机械、和光部件,Rosetta 提供了定义和理解系统的机制。不仅如此,他还提供对于扩展新领域进行建模的技术,这对于将来语言的发展非常重要。不能正确理解不同领域的交互作用经常是引起系统失败的根源。因此Rosetta提供显式的交互建模和评价这些交互的方法。

  3 系统级验证语言

  3.1 基于事务的验证和基于断言的验证

  验证语言的提出需要说明基于事务的验证和基于断言的验证。解决所谓系统芯片的“验证危机”,策略之一是基于事务处理的验证(TBV),事务是概念上单一的数据或控制的转移,这种转移有事务的开始时间,结束时间和所有相关的信息确定,这些信息和事务一起存储,作为事务的属性。事务处理可以是简单的存储器读写,也可以是具有复杂的结构数据报在网络信道中的传送。把验证的层次从信号层次提高到事务处理层次,让测试具有更直观的方式,有利于测试产生、纠错过程和功能覆盖的度量。设计系统结构不是想象使能信号和地址总线如何工作,而是想象数据如何在系统中流动和存储。TBV就是这种高层次设计过程的自然展开。定性的验证过程包含3个步骤:测试生成、设计查错和功能覆盖分析。每个阶段都要提高到事务处理的抽象层次。可以用Verilog语言的task 来构成事务。这对于基本的测试也许还可以接受,但是当要产生复杂的数据结构、复杂的测试方案,动态的测试生成时,就会产生太多的限制。高级验证语言(HLV)例如近年来开发TestBuilder(C++)、Vera和 E等,就是要解决这些复杂的问题。

  基于断言的验证(ABV)是把形式化方法集成到传统模拟流程中的一种有效的方法。设计团队在RTL设计中插入设计意图(断言)并且进行模拟,然后用形式化技术检查断言,限制条件,也就是合法接口行为的断言,和其他断言同时一同参加模拟。断言检查的结果改进模拟的有效性。即使利用传统的模拟验证,断言也可以大大提高模拟的效率。基于断言的验证要由用户写出断言,断言表示要验证的性质,因此需要性质描述语言。例如逻辑和时序方面的性质。这些也是验证语言要解决的问题。

  3.2 目前的系统级验证语言概况

  IC设计和EDA 界需要一种标准化的具有公开接口的验证方法学,在2000年,Open Verilog InternaTIonal和VHDL International联合,组成了Accellera组织。其目的就是在系统、半导体和设计工具企业,推动、开发和培育新的国际标准。以便加强以语言为基础的设计自动化进程。面对几个在语法和语义方面都不够完善的形式性质描述语言,Accellera进行了一个选举过程,4个候选的语言是 Motorola的CBV,IBM的 Sugar,Intel的 ForSpec 和Verisity的e 语言。经过讨论,集中到Sugar和 CBV上,在2002年4月选定了IBM的Sugar 2.0[3]。Sugar 2.0的获胜造成了Accellera组织的分裂,包括Cadence在内的多数EDA工具供应商支持Accellera 的决定。另外一部分则转向支持Syopsys的 OpenVera 2.0。作为一种真正的工业标准语言,Sugar 2.0语法和语义很简单明了。基本上是基于线性时态逻辑语言(LTL),他是由基于分支时态逻辑(计算树逻辑CTL)的Sugar1.0演化而来的。其关键思想是利用一种扩展的正则表达式的构件。因此对于形式验证领域来说,理解Sugar是很容易的。

  Sugar语言是由IBM的Haifa 实验是经过8年研究开发的[4],是一种说明性的形式化性质规范语言。其语义是严格的,但是易于理解和使用。可以用类似定理的形式 描述要验证的属性,这些描述可以作为模型检验和定理证明的输入,也可以做模拟程序中检查程序的输入。Sugar由4层结构组成:

  布尔层由布尔表达式构成。

  时态层描述逻辑值随时间变化的性质。

  验证层由一些指示词描述验证软件如何利用时态的性质。还有些验证指示词假设某种性质成立。验证层也提供把Sugar的语句分成验证单元的方式。

  模型层提供对于输入行为进行建模的方法,对于辅助信号和变量进行 说明并定义其行为。模型层也可以定义为时态层的性质和实体的名字。

  Sugar具有3种风格,分别对应于硬件描述语言Verilog,VHDL和环境描述语言EDL( IBM的RuleBase 模型检验器使用的语言)。采用不同风格时,在布尔层和模型层的 语法可以不同,但是在时态层和验证层相同。

  OpenVera 1.0 是Synopsys捐献出来公开的验证语言。对于模拟,他已经具有描述断言的能力。Synopsys公司和Intel公司的ForSpec相结合后产生的OpenVera 2.0也能够支持形式化验证。和Intel公司联合推出OpenVeraForespec 作为工业标准的断言语言,但是因为对于工程师来说难以接受,因此被拒绝。但是其概念还是有特点的。他的目标是作为一种支持模拟和形式验证的性质描述语言。从ForSpec借用的构件和操作包括“assume”,“restrict”,“model”,“assert” 等,这些都为形式化验证服务。语言成分“ assumeguarantee”可以把断言作为模块的性质,在高层上又作为监视器。OpenVera 用来描述断言时可以精确的描述在多个周期时间的时序行为。硬件描述语言例如Verilog和 VHDL是用来描述硬件的过程行为。这种过程模型难以有效地表述在多周期的时态行为。利用Ope nVera的断言语言OVA,用户可以方便直观地描述输入输出行为、总线协议以及其他复杂的硬件行为和关系。和硬件描述语言的描述比较,要简洁3~5倍。和Sugar语言的4级结构相比,OpenVera 2.0分为5个主要的级别:

  上下文(环境)帮助定义断言的辖域(或作用域)。

  指示词描述所要检查或监视的性质。

  布尔表达式。

  事件表达式表示时间序列。

  公式表示表述时间序列之间的关系。

  Sugar和 Open Vera 2.0 有2个层次是相同的,即布尔层和时态层。这些层构成了断言的核心。他们的差别在其他层次上面。OpenVera 2.0 重视性质的细致结构,用户能和断言深入交互,以便考察和探索形式验证的知识。Sugar的另外2个层次服务于性质的“格式化”,而简化与用户的交互。总之,不管用那种语言,Open Vera 2.0 或者Sugar,他们都提供了高效验证复杂系统芯片的手段。

  4 对于当前验证方法的评述

  目前的设计验证方法迅速发展,设计和验证语言层出不穷。但是以下的观点和结论是明确的:

  1)形式化方法取得了长足进展,特别是等价性检验已经集成到标准验证流程中。模型检验技术以及定理证明等还不能成为设计环境的主流验证方法的主要原因有[3]:

  ①缺乏广泛接受的性质描述语言。

  ②缺乏商业化的工具。

  ③至今缺乏有效地使用形式化方法学的指导原则。

  ④在改变验证方法带来的收益是否明显的问题上还在观望。

  2)形式化方法还需要和传统的方法相结合才能发挥作用。设计和验证方法的进步应当是渐进的,不可能革命性的改变。因此在可以预见的几年内,混合验证方法应当成为主流的验证方法。断言对于表示接口限制、设计性质和设计假设都具有很深刻的作用和影响。这些会对发现过去的方法不能发现的设计错误做出贡献。特别适合测试覆盖结合起来可以极大的改进验证效率。

  3)基于断言的验证是结合形式化验证和传统的模拟验证可行的途径[5]。支持这种途径的统一的设计和验证语言是SystemVerilog。他是在新的Verilog语言标准上扩充系统描述构件而开发的一种过渡性的系统级设计语言。该语言可以统一的描述复杂的设计和测试方案( testbenches)。SystemVerilog支持多级接口设计和断言,充分利用了当前的设计验证技术和实践。他后向兼容verilog,具有继承性,与其同时成为一个结合设计和验证的语言。该语言已经得到很多EDA厂商和用户的支持,预计将会流行起来。


瑞达币购买
桂山秋竹_唐年桂2023年
桂北云雾图_唐年桂202

  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回基础】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    本站公告

    • 扫一扫,打赏给我们,谢谢!

      本站2016年12月16日起取消ruida.org.cn域名,该域名正式作废,该域名发布任何信息与本站无关。


      启用ruida.orghy928.net域名;

      瑞达网,瑞达科技网宣

    附页内镶内容
    健康养生 商场新品 股市K线、指标知识
     六种药酒配制法[11月7日]
     国公酒_散风祛湿,舒筋活络[3月8日]
     气血双补党参、麦冬、黄芪炖[11月29日]
     参桂再造丸_臂丛神经痛[11月29日]
     臂丛神经痛该怎样治疗[11月29日]
     舒筋络酊、百宝丹擦剂、参桂[11月29日]
     臂丛神经痛针灸治疗[11月29日]
     枳椇子_利水渗湿药[11月29日]
     三七、丹参、西洋参_颈椎病[8月17日]
     枸杞泡姜芽(嫩姜)的做法及功[5月20日]
     瑞达币购买
     桂山秋竹_唐年桂2023年新作品
     桂北云雾图_唐年桂2023年新作品
     广西2019年《高考指南》+《招生计
     金士科前置过滤器
     金牛前置过滤器
     USB口24系列编程器第二版含USB延
     液晶电视、液晶显示器图纸、维修
     彩电、显示器、DVD、EVD打印机等
     高清CRT彩电、显示器图纸刻录 4G
     [理财]各种短视频赚钱方法
     [会员]专业交易实战控制系统
     [理财]1分2分5分硬币回收价格表(20250123)
     [理财]1分2分5分硬币回收价格表(20230928)
     [理财]1分2分5分硬币回收价格表(20230624)
     [理财]2022 年新版1分2分5分硬币回收价格表…
     [理财]微信收款码如何开通商业版收信用卡费…
     [指标]R平方_基金指标
     [指标]标准差_基金指标
     [指标]平均回报_基金指标
    装修案例 网站建设 电器维修
     一般水电安装几个常用尺寸[1月29日]
     三相电表接法及度数的正确读…[5月8日]
     万能通用卧室房门锁更换步骤…[2月22日]
     乳胶漆的八大施工步骤及涂刷…[2月14日]
     旧墙翻新步骤及注意事项[2月14日]
     屋面防水施工工艺流程及注意…[1月16日]
     专利产品“防污吸气帽”新产…[1月8日]
     鲁班尺吉数对照表高清图片查…[10月29日]
     砂浆胶作用与危害[9月21日]
     4种处理水泥地面起砂方法[9月21日]
     网页html点击切换显示内容完[11月7日]
     动易SiteWeaver6.6网站管理系[7月31日]
     中国阴历农历JS支持 HTML网页[2月26日]
     java script error 容错处理[2月15日]
     几款还不错的网页特效显示日[2月14日]
     图片可以调大小的代码[12月14日]
     动易SW6.8网站系统改自适应支[11月20日]
     网站建设_套餐服务[12月4日]
     网站建设-费用明细[12月4日]
     不显示出来的代码[12月3日]
     联想 小新Air 14 2019笔记本…[6月15日]
     滚筒洗衣机脱水声音大原因及…[4月17日]
     智能电视不能开机强制恢复出…[1月16日]
     各大品牌智能电视机恢复出厂…[1月16日]
     洗衣机自己排水或不存水漏水…[6月15日]
     海尔冰箱出现-03还滴滴报警[5月29日]
     TCL电视通用教程安装教程[2月2日]
     TCL L43V7300A-3D液晶彩电出…[2月2日]
     先锋液晶电视LED-32B550无光…[1月17日]
     智能电视主板的应用与维修(…[1月11日]
    电器资料 下载 读书
     手机恢复出厂设置具体操作方…[3月29日]
     三个代码让电脑提速畅通秘籍[3月13日]
     视得安750D6对讲门铃工作原理…[9月13日]
     什么是量子芯片和光子芯片[5月14日]
     沃尔沃S90汽车遥控钥匙失灵的…[1月19日]
     LED显示屏瑞合信PLus单双色全…[12月22日]
     Windows 照片查看器无法显示…[8月6日]
     已经设置IE主页,但是打开还…[7月6日]
     如何调整空压机压力?空压机…[6月8日]
     剪映-视频编辑软件手机版使用…[5月28日]
     [书籍]滕王阁序_原文_注释译文_白
     [书籍]《天工开物》明代宋应星初
     [电影]《抓娃娃》高清电影
     [联想]Lenovo S540-14API Compl 
     [书籍]《墨子》原文注释译文
     [LED条屏]瑞合信单双色/全彩控制系统
     [LED条屏]LED显示屏瑞合信手机APP6.
     [书籍]全本新注聊斋志异
     [书籍]广西2023年高考指南 招生计
     [书籍]个人防护手册(第二版)
     广西高考2024~2022年历史类([6月25日]
     凤阳花鼓[3月8日]
     《滕王阁序》[3月2日]
     卷一百二十八 艺文_杂记[2月24日]
     卷一百二十七 艺文_杂记[2月24日]
     卷一百二十六 艺文_国朝[2月24日]
     卷一百二十五 艺文_国朝[2月24日]
     卷一百二十四 艺文_五言排律[2月24日]
     卷一百二十三 艺文_历朝[2月24日]
     卷一百二十二 艺文_历朝[2月24日]
    珠宝玉器 在线电视台
     鸡血石与鸡血玉有什么区别[6月12日]
     鸡血玉[6月12日]
     鸡血石 (bloodstone)[6月12日]
     什么是莫桑石(Moissanite)[6月12日]
     可以戴钻石洗澡吗[1月22日]
     钻石如何保养才好呢?[1月22日]
     PT容易花的问题和钻戒保养问…[1月22日]
     切工 钻石的雕刻艺术[1月22日]
     如何保养好钻戒[1月22日]
     钻戒保养方法[1月22日]
     中央体育台
     中央新闻台
     宁夏卫视
     湖北卫视
     西藏卫视
     辽宁卫视
     河北卫视
     北京卫视
     政法频道
     农民频道
     湖南经视
     湖 南 台
     河南频道
     湖南卫视
     兵团卫视
     江苏卫视
     旅游卫视
     湖南都市
     七彩戏剧
     动漫秀场
     游戏风云
     法制天地
     魅力音乐
     新 娱 乐
     南 方 TV
     浙江卫视
     齐鲁频道
     山西影视
     东南卫视
     上海卫视
     贵州电视台
     重庆电视台
     山东卫视
     哪吒之魔童闹海《哪吒2》在线
     《抓娃娃》在线电影
     流浪地球2剧情介绍
     《万里归途》完整版
     《阿凡达2:水之道》耗资3.1
     2021港剧《梅艳芳》5集全.HD
     误杀2 -电影-完整版视频在线
     亲爱的/亲爱的小孩/打拐/家之
     《第一炉香》-电影-完整版视
     《扬名立万》-电影-完整版视
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj