目录
功能验证
功能验证(functional verification),是电子设计自动化中验证数字电路是否与预定规范功能相符的一个验证过程,通常所说的功能验证、功能仿真是指不考虑实际器件的延迟时间,只考虑逻辑功能的一个流程。功能验证的目标是达到尽可能高的测试覆盖率,被测试的内容要尽可能覆盖所有的语句、逻辑分支、条件、路径、触发、状态机的状态等,同时在某些阶段还必须包括对时序的检查。在较小型的电路设计中,设计人员可以利用硬件描述语言来建立测试平台(通常这是一个顶级模块),通过指定测试向量来检验被测模块在各种输入情况下,检验对应的输出是符合要求。但是,在更大型集成电路设计项目中,该过程会耗费设计人员较大的时间和精力。许多项目都采用计算机辅助工程工具来协助验证人员创建随机测试激励向量。其中,硬件验证语言在建立随机测试和功能覆盖方面具有显著的优势,它们通常提供了专门用来进行功能覆盖和产生可约束随机测试激励向量的数据结构。除了上面讲述的这种通过输入测试向量的方式,功能验证还可以通过形式等效性检查(形式验证)、断言等方式来进行,达到更高的功能覆盖率。.
查看 通用验证方法学和功能验证
Cadence
華電腦股份有限公司(Cadence Design Systems, Inc;NASDAQ:CDNS)成立於1988年,是EDA(電子設計自動化)軟體與工程服務的重要廠商,主要提供設計積體電路(IC)、系統單晶片(SoC)、以及印刷電路板(PCB)所需的軟體工具與矽智財(IP),涵蓋類比/數位/混合電路設計、驗證、封裝/PCB設計等各領域。.
硬件验证语言
件验证语言(hardware verification language, 缩写为 HVL)是一种用硬件描述语言(HDL)编写、用于电子电路设计验证的编程语言。硬件验证语言通常具有类似C++或Java这样高级语言的特点,同时又提供硬件描述语言那样的位运算功能。许多硬件验证语言能够生成带约束的随机激励,并提供了功能覆盖结构,来辅助设计人员进行复杂的硬件验证。 SystemVerilog、OpenVera和SystemC是最常用的硬件验证语言。其中,SystemVerilog更是将硬件描述语言与硬件验证语言合并到单一标准。.
硬件描述语言
在电子学中,硬件描述语言(hardware description language, HDL)是用来描述电子电路(特别是数字电路)功能、行为的语言,可以在寄存器传输级、行为级、逻辑门级等对数字电路系统进行描述。随着自动化逻辑综合工具的发展,硬件描述语言可以被这些工具识别,并自动转换到逻辑门级网表,使得硬件描述语言可以被用来进行电路系统设计,并能通过逻辑仿真的形式验证电路功能。设计完成后,可以使用逻辑综合工具生成低抽象级别(门级)的网表(即连线表)。 硬件描述语言在很多地方可能和传统的软件编程语言类似,但是最大的区别是,前者能够对于硬件电路的时序特性进行描述。硬件描述语言是构成电子设计自动化体系的重要部分。小到简单的触发器,大到复杂的超大规模集成电路(如微处理器),都可以利用硬件描述语言来描述。常见的硬件描述语言包括Verilog、VHDL等。.
类库
在了解了“-zh-cn:类;zh-tw:類別;-”在-zh-cn:程序设计;zh-tw:程式設計-中的定义后,--(Class library)是指一个类的集合。 一组在多个工程中可能会被重复使用的--,可以作为一个-- 共享给其他相关的开发者。as,swf和swc都是常见的-- 分配形式。.
查看 通用验证方法学和类库
面向对象程序设计
面向对象程序设计(Object-oriented programming,缩写:OOP)是種具有物件概念的程式編程典範,同时也是一种程序开发的抽象方针。它可能包含資料、、程式碼與方法。对象則指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,物件裡的程序可以訪問及經常修改物件相關連的資料。在物件導向程式編程裡,電腦程式會被設計成彼此相關的物件。 面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。目前已经被证实的是,面向对象程序设计推广了程序的灵活性和可维护性,并且在大型项目设计中广为应用。此外,支持者声称面向对象程序设计要比以往的做法更加便于学习,因为它能够让人们更简单地设计并维护程序,使得程序更加便于分析、设计、理解。反对者在某些领域对此予以否认。 当我们提到面向对象的时候,它不仅指一种程序设计方法。它更多意义上是一种程序开发方式。在这一方面,我们必须了解更多关于面向对象系统分析和面向对象设计(Object Oriented Design,简称OOD)方面的知识。許多流行的程式語言是物件導向的,它們的風格就是會透由物件來創出實例。 重要的物件導向程式語言包含Common Lisp、Python、C++、Objective-C、Smalltalk、Delphi、Java、Swift、C#、Perl、Ruby 與 PHP等。.
SystemVerilog
在现代的集成电路(尤其是超大规模集成电路)的设计和验证流程中,SystemVerilog是一种由Verilog发展而来的硬件描述、硬件验证统一语言,前一部分基本上是2005年版Verilog的扩展,而后一部分功能验证特性则是一门面向对象程序设计语言。面向对象特性很好地弥补了传统Verilog在芯片验证领域的缺陷,改善了代码可重用性,同时可以让验证工程师在比寄存器传输级更高的抽象级别,以事务而非单个信号作为监测对象,这些都大大提高了验证平台搭建的效率。 SystemVerilog已经被采纳为电气电子工程师学会1800-2009标准,并获得了主流电子设计自动化工具供应商的支持。虽然没有哪一个仿真系统能够声称自己完全支持SystemVerilog语言参考手册(Language Reference Manual, LRM)里介绍的所有语言结构,要改善测试平台的互操作性相当困难,但是推进跨平台兼容性的研究开发工作已经在进行。若干种验证方法学相继出现,以预定义类的形式对测试平台模块进行标准化,如今最新的基于SystemVerilog的验证方法学为通用验证方法学。这一方法学主要包括开放源代码的类库以及支持可重用测试平台、开发验证IP核的预置格式。许多第三方提供商则开始推出基于SystemVerilog的验证IP核。.
明導國際
明導國際公司(Mentor Graphics)是一家从事电子设计自动化的跨國公司。该公司于1981年创立,其总部位于美国俄勒冈州的威尔森维尔市(Wilsonville)。它在全球范围大约有4400名雇员,年收入大约10亿美元。2004年,它在电子设计自动化领域排名第三。 2016年11月14日,西門子公司同意以每股37.25美元現金價格、總價約45億美元,收購IC設計自動化(EDA)與電路板/電子系統設計軟體供應商明導國際。.
查看 通用验证方法学和明導國際
测试平台
测试平台(test bench),或称测试台,是用于验证软件设计正确性、可靠性的一种虚拟的环境。测试平台通常包含信号输入、数据处理、验证、输出几个部分。对于小型的数字电路设计,工程师可以使用硬件描述语言来搭建测试平台。如果遇到大型集成电路项目,由于所需的测试向量相当复杂,为了达到更高的语句、分支、条件、路径、触发、翻转覆盖率,很多情况需要使用更加先进的直接随机测试方法。硬件验证语言针对随机测试的建立和功能覆盖率的提高,则提供了专用的数据结构供工程师使用。.
查看 通用验证方法学和测试平台
新思科技
新思科技股份有限公司(,Synopsys Inc.)是一家从事电子设计自动化软件开发的公司。目前為全球第一大电子设计自动化软件供應商。该公司的首个并且最为人所知的产品是一款被称为“设计编译器(Design Compiler)”的逻辑综合工具。新思科技提供的其他产品,大多应用于专用集成电路(application-specific integrated circuit)。产品包括逻辑综合,行为综合,硬件描述语言模拟器以及晶体管级电路模拟器。这些模拟器包括协助芯片和计算机体系的逻辑设计的运行和调试环境。总部位于美国加利福尼亚州的山景城,现任首席执行官为公司的创办人阿特·德吉亚斯博士。.
查看 通用验证方法学和新思科技