• 1
  • 0
分享

  1,名词解释

  FPGA(Field-Programmable Gate Array),即现场可编程门阵列

  以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局布线,快速的下载到 FPGA 上进行软件测试,是现代 IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。

  专用集成电路

  英文全称:Application Specific Integrated Circuit 简称ASIC

  专用集成电路是为特定用户或特定电子系统制作的集成电路。数字集成电路的通用性和大批量生产,使电子产品成本大幅度下降,推进了计算机通信和电子产品的普及,但同时也产生了通用与专用的矛盾,以及系统设计与电路制作脱节的问题。同时,集成电路规模越大,组建系统时就越难以针对特殊要求加以改变。为解决这些问题,就出现了以用户参加设计为特征的专用集成电路,它能实现整机系统的优化设计,性能优越,保密性强。

  RTL code: Register-Transfer-Level code

  通常由VHDL/verilog两种语言进行描述

  RTL仿真器

  就是使用Verilog语言进行RTL级代码的编写。RTL是寄存器传输级的意思,包括了可综合的数据流级和行为级,是最常用的编程风格。

  这一行业都是使用Verilog语言编程,对输入信号进行采集、处理等工作,然后控制各种外围部件,和单片机差不多,只不过资源丰富一点、速度快一点、功能强大一点而已;或者是设计ASIC,并进行验证

  HDL是一种硬件描述语言(HDL:Hardware Discription Language)

  HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

  VHDL全名Very-High-Speed Integrated Circuit Hardware Description Language

  诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。 VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司支持,在电子工程领域,已成为事实上的通用硬件描述语言。

  Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language)

  以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

  Synopsys

  是为全球集成电路设计提供电子设计自动化(EDA)软件工具的主导企业。为全球电子市场提供技术先进的IC设计与验证平台,致力于复杂的芯片上系统(SoCs)的开发。

  2,FPGA测试工具软件介绍

  随着FPGA(Field Programmable Gate Array)器件的应用越来越广泛且重要,

  FPGA的软件测试技术也得到了广泛重视和研究。基于FPGA可编程的特性,应用独立的软件测试(工厂软件测试)需要设计数个软件测试编程和软件测试向量来完成FPGA的软件测试,

  确保芯片在任何用户可能的编程下都可靠工作。

  自1984年Xilinx公司发明FPGA至今,FPGA已经历了十几年的发展历史。

  在这十几年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到90年代的25万个可利用门,乃至现在,国际上现场可编程逻辑器件的著名厂商又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。

  目前FPGA软件测试工具分为:

  · Certify基于多个FPGA的分割、物理综合及调试工具;

  · Leda RTL Checker编码规则检查器;

  · VCS RTL Verification数字逻辑仿真验证工具;

  · Formality等效性检测工具;

  · PrimeTime,门级静态时序分析;

  · Identify Pro 全设计可视化的调试工具。

  · Certify基于多个FPGA的分割、物理综合及调试工具

  Certify可以确保得到最佳的RTL验证的性能。这是唯一的一个能够同时做多个FPGA之间的时延分析和物理综合的FPGA原型验证的工具--优化了整个原型验证的性能,而不是单独的FPGA.使用Certify,用户只需花费几天的时间就可以把用来验证的RTL代码转到多片可以完成相同功能的FPGA上去。与此相比,传统的方法则要花数月的时间。使用Certify,可以在不到一个月的时间内建立完成一个完全基于FPGA的硬件原型验证,这只是硬件仿真器价格的一小部分,同时还可以得到极佳的验证性能。Certify已经可以支持所有的硬件原型验证系统,如可重构原型验证硬件盒,标准的原型验证预定义板。

  Certify中的物理综合工具Synplify Premier使用最小的逻辑资源满足设计人员需求,FPGA供应商如Xilinx,Altera,Actel也建议自己的工程师及客户选择该工具进行项目的综合。Premier 区别于传统的逻辑综合技术,在综合的同时完成了整体的布局,并进行预布线操作,输出的网表带有布局信息,到后续vendor的工具可完成布线,大大提升了逻辑的性能,用最小的逻辑资源跑最快的速度。

  Synplify Premier的流程与传统的逻辑综合流程完全一致,只是在MAPPING的过程中完成了整体布局及预布线动作,几乎所有的工作量都有软件在后台完成,不会增加工程师额外的工作量。同时又增加了可视化的物理级别的分析界面,可以非常清晰的了解自己的设计在芯片当中的布局,有助于提升整体的运行时间。

  LEDA是一种可编程代码设计规则检查器

  它提供全芯片级混合语言(Verilog和VHDL)处理能力,从而加快了复杂设计的开发。LEDA预装的检查规则大大地增强了设计人员检查HDL代码的能力,包括可综合性,可仿真性、可软件测试性和可重用性。使用LEDA,可以对硬件设计的仿真和综合进行预检查,消除设计流程中的瓶颈,其中Verilog代码设计规则可确保按内部或外部工具要求优化代码 。LEDA提供的设计规则可提高Synopsys工具的性能。

  主要特点:

  · 支持Verilog/VHDL混合语言的设计;

  · 包含先进的硬件设计推测和层次化检查的能力,确保设计人员对特殊硬件结构(包括时钟、寄存器、锁存器)进行规则检查;

  · 包括预装全面的设计规则检查和规范集;

  · 针对Synopsys工具性能优化的HDL代码检查,以确保与工具(如Design Compiler、VCS, Formality, Synplify )的最新功能要求兼容。

  VCS RTL Verification数字逻辑仿真验证工具

  VCS 数字逻辑仿真器和VCS MX混合HDL语言仿真器都是Synopsys的智能RTL验证解决方案的基石。VCS是业界领先的仿真器,支持本征断言(native assertion)描述、自动软件测试平台生成技术(testbench)、以及代码和断言覆盖引擎,确保智能化验证的实现。VCS中本征代码支持(Native)技术确保了设计验证的效率、性能和质量,并缩短了验证周期。VCS中的本征代码技术实现了在单一工具中,支持可验证性设计(DFV),及覆盖率驱动和约束的随机激励生成。其本征对断言的支持和所包含的丰富的断言检查工具库保证了设计人员能够方便地采用DFV技术来查找错误和提高验证质量。此外,断言可以作为设计要求重复利用,在Synopsys的混合RTL规则验证产品Magellan中进行形式验证。

  VCS对专用集成电路(ASIC)生产商的建模和仿真签核(Sign-off)提供了支持。  VCS对统一的设计和验证语言标准SystemVerilog提供支持。

  对于要求在RTL环境中使用SystemC模型进行验证的设计团队,VCS提供了支持OSCI SystemC的直接内核接口(DKI)和支持System Studio的直接内核接口(DKI)。

  主要优势:

  · 本征软件测试平台(testbench)、断言和完备的覆盖率软件测试技术,为Verilog 和混合HDL验证带来2-5倍的性能提升;

  · 为SystemVerilog设计和基于断言的验证提供支持,确保更高的设计和验证效率;

  · 提供最高的性能和容量,加快产品上市周期;

  · 采用单个统一工具,实现Verilog和混合HDL RTL及SystemC的支持,支持所有主要的UNIX和Linux平台 。



作者:顾翔   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 摘要:我们思考,什么需要测试覆盖是“完整的”的方式,影响了我们如何测试和创建的测试用例。毕竟,一般情况下你只会为发生在你身上的情况设计测试——正常来讲,你也只能测试那些看得到的东西。是时候该脱下眼罩了。下面介绍如何能在你的产品中找到发生bug的地方,接着调整你的策略来精确地定位到它们。当我在一家保险公司工作时,我处理了大量的数据提取程序。在那段时间里,我从来没有见过一个需求文档来指明数据库关闭时应该做什么,即便大多数测试都是基于这些需求的。任何专家都可以使用需求文档并创建一个地图、要点或电子表格来构建一个“覆概率模型”。整个软件公司都存在可视化这些模型,当测试“覆盖”到这些功能时,把它们设计成...
            0 2 1818
            分享
          • 在我们自动化过程中,能否构建一个健壮和可靠的测试是UI自动化测试能否成功的关键因素之一。然而在自动化过程中试着去执行的时候,常常会出现各种不同的状况,当使用脚本定位元素或者去验证程序的运行状态时,有时候会发现找不到元素,这可能是由于突然的资源受限或者网络延迟或者机器性能等各种因素引起的响应速度太慢导致的,这时候测试报告就会返回测试失败的结果。其实元素是正常加载的,只是加载的时间晚了一点,那么遇到这种情况我们该怎么解决呢?我们需要在测试脚本中引入延时机制,来使脚本的运行速度与程序元素的加载速度匹配。通俗意义上讲,就是我们需要使脚本和程序的响应能够同步。我们有三种等待机制,强制等待、隐式等待和显式...
            0 0 2077
            分享
          •   Web测试中,浏览器作为必须的结果呈现手段,是每个测试工程师都会使用的。但是在测试中,启用浏览器进行调试,或者观察浏览器信息,却不是每个测试工程师都会注意或者是会无意间疏漏的方面。  随着越来越多的应用内容通过浏览器界面进行呈现,大量的前后端交互信息也在浏览器内体现,很多测试工程师早期在开始接触浏览器页面信息的时候,是从代码检查入手的,逐渐了解HTML代码在浏览器中配合不同属性代码,呈现不同的显示效果。  而又随着动态渲染以及新的前端框架技术的广泛应用,浏览器调试信息包含越来越多的内容,逐渐地,浏览器调试信息也成为测试工作中需要覆盖的一个方面,而在实践过程当中,浏览器调试信息查看和验证可以...
            0 0 28
            分享
          •   软件测试在职业发展上,可以概括分为“管理”和“技术”两大类。另外,软件测试还可以在质量领域发展。  1. 软件测试在管理上的发展  软件测试管理是大家比较熟悉的软件测试职业发展路线之一,比较流行的职位包括测试组长、测试经理、测试代表、测试主管、测试总监、测试部长等。不同的公司中相同职位的工作范围可能略有不同,按照管理级别的高低,大致又可分为以下三级。  · 初级软件测试管理者:测试组长  一般由有两年左右工作经验的测试工程师担当。可能会管理会管理2~5名软件测试工程师。一般来说,测试组长不会负责整个产品,只是负责其中一个或多个特性。  测试组长并不是完全的管理者。从事的管理工作大多仅集中在...
            0 0 279
            分享
          •   兼容性测试是软件开发过程中的重要环节,但如何进行有效的兼容性测试是一个需要关注的问题。下面将介绍一些常用的兼容性测试方法和技巧。  首先,要确定兼容性测试的范围。根据软件的特点和用户的需求,确定需要测试的操作系统、浏览器、分辨率、设备等。通常情况下,可以选择覆盖市场份额较高的操作系统和浏览器,以及常见的分辨率和设备。同时,还可以根据用户的反馈和报告确定一些特定的兼容性问题进行测试。  其次,要选择合适的测试工具和平台。市面上有很多专门用于兼容性测试的工具,这些工具可以模拟不同的操作系统、浏览器和设备,进行自动化测试和截图比较,节省测试时间和人力资源。同时,还可以使用真实的设备进行测试,以获...
            0 0 278
            分享
      • 51testing软件测试圈微信