FPGA测评系统建议

 

1.系统名称

 

FPGA测评系统

 

2.系统用途

 

    随着设计日趋复杂,设计成本的大幅飙升,大规模集成电路的设计和验证需要更加高级的工具和方法保障一次性成功。FPGA电路设计包括从源代码输入到硬件调试的诸多步骤,每个环节的设计缺陷和验证不充分,都会给后续的环节埋下隐患。这些隐患会逐渐放大,以至于到最终会花费更多的时间成本和人力成本去解决。因此采纳工业界的最佳设计方法学和验证方法学是唯一能提高开发效率,保障设计一次成功的基础。FPGA电路设计验证系统软件主要用于多语言设计输入、网表分析、故障分析定位、逻辑测试、综合编译、布线,能够对HDL语言描述的模块、代码文件、规则或严重错误规则进行检查。大规模集成电路设计验证系统可以在以下方面大大提高现有的设计效率:多语言输入、代码静态分析、设计功能仿真和调试、网表级时序分析和软硬件协同验证等方面。

 

3.主要功能及典型技术指标

 

    FPGA电路设计验证系统主要包含FPGA开发及自动编译、仿真、调试和测试开发流程功能模块以及硬件仿真加速系统。支持代码覆盖率分析和FPGA自动故障诊断。系统开发套件包含一个授权。该系统支持如下技术特性。

1)支持VHDL与Verilog混合设计;

2)支持RTL代码规则、代码覆盖、功能覆盖等分析检查;

3)支持RTL代码仿真验证;

4)支持网表分析;

5)支持网表仿真验证;

6)支持网表时序验证;

7)支持硬件加速仿真验证;

8)支持硬件系统协同网表仿真验证;

9)支持RTL代码的SVA断言生成的验证流程,从而缩短验证周期;

10)支持代码/数据的追踪、波形查看、覆盖率检查、断言验证和存储空间可视化;

 

4.系统组成和各部分功能

4.1系统组成

名称用途应用阶段厂家

Codesign系统架构级分析ESL阶段Space codesign

CyberworkbenchC转RTL和C与RTL等效性检查ESL阶段NEC

Vincent platform(包含vlinter,vchecker)用于rtl代码的规则和跨时钟域检查RTL阶段vSync

PropSynSVA断言自动生成RTL阶段Avery

ConstraintCraftSDC设计约束文件管理、除错、优化和生成Netlist阶段Incentia

Modelsim用于RTL/网表级的功能仿真、覆盖率检查、代码调试和软硬件协同仿真RTL/netlist 阶段mentor

TimeCraft静态时序分析工具Netlist阶段Incentia

Vivado design suit用于RTL/网表级的综合、布局布线RTL/netlist 阶段xilinx

FPGA Prototyping软硬件协同仿真的硬件平台,提供业界标准接口硬件协同验证阶段S2c

 

4.2系统工作原理

 4.2.1系统架构分析

Space Codesign 把电子系统设计与仿真、结构选择、组件分区与映射(到硬件和/或者软件中)、调试、监控以及系统自动生成等当前最新的技术集成到一个统一的开发环境中。得益于这个集成的开发系统,在您的设计过程中使用Space Codesign 提供的电子系统级 (Electronic System Level) 技术解决方案,可以降低开发成本,开发周期以及其他不确定性。在设计中使用了电子系统级技术,开发过程被简化,被自动化。所以,您可以把宝贵的设计时间更多的投入到应用方便而不是浪费在系统结构构思方面。高水平的抽象提高了模拟速度,使得您能够很快的实现设计需求。我们通过结构组件的模拟来快速的做性能分析,同时保证精度。Space Codesign 的技术解决了SystemC 语言与TLM-2.0 复杂性问题来实现二者的互通性(IEEE 1666)。它为软件和硬件协同设计推出了一种统一的编程语言。这种新的编程语言有效地减少了我们在系统集成、软件和硬件的调试以及系统描述等方面的花费的精力。Space CodesignTM SIMTEK 技术能够助您在FPGA 或者ASIC 上进行

实现之前,为您创造一个完整的虚拟平台系统。为保证更快的模拟速度,

Simtek 可以按照不同精度水平来实现SystemC TLM-2.0 虚拟平台的自动生

成。

时限函数保证映射决策

我们集成的软件环境为被模拟的硬件提供真实的嵌入式开发:

 自动生成 C/C++嵌入式软件;

 精确指令仿真;

 在硬件设计就绪之前开始开发软件;

 根据您的软件开发来优化硬件,创造基于软件的产品;

 多种实时操作系统选择(uC,VxWorks,RTEM,etc.)。

通过系统分区进行拓展开发

Space CodesignTM 环境为结构开发提供自动分区支持:

 代码模块可以直接由 Elix(函数级设计技术)中导入;

处理器以及硬件加速器的分配;

 

Cyber WorkBench设计套件,可提供全新的超高生产力设计方法和新一代基于C/C++的设计。相比采用传统方法而言,用户可将生产力提升10-15 倍。

有别于将大部分设计精力用在设计流程后端的传统RTL设计,基于C语言的设计可缩短验证、实现和设计收敛的开发周期,使设计人员能够集中精力 开发差异化逻辑。该流程包括:

 

快速生成平台连接设计以及必要的软件协议栈。

使用高层次设计快速开发差异化逻辑。此外,还能支持广泛的优化设计复用。

与RTL相比,可利用高级语言显著缩短验证时间。

Cyber WorkBench 设计套件通过每天交付更多设计结果,以及帮助减少所需的设计迭代次数,加速实现过程。共享的可扩展数据模型在编译时间和内存空间占用方面都是无可匹敌的,而且能够对功耗、时序和资源利用率等关键设计指标进行早期分析。凭借这些设计指标,可以在设计流程早期阶段对设计和工具设置进行修改,因为修改得越早,迭代速度就越快而且对系统性能的影响也更大。

使用高级设计方法,能够在 C/C++ 层面将迭代推得更高,实现更快速且影响更大的迭代,其影响和必要性远远大于最后的布局布线收敛迭代。

HL与RTL一致性检查

HL是指更高阶层的设计阶段,通常指的就是ESL设计阶段。ESL流程一般是指先于芯片硬件研发,利用C/C++/SystemC建立一个抽象芯片模型,用于研究模拟真实芯片,并且可以在这个时候软件开发就可以介入。由于以下原因,ESL流程在工业界逐渐成为主流:

1、功能验证

ESL模型仿真更快,是RTL仿真速度的10-1000倍,可以完成更快更全面的功能验证,常用作可运行的设计规范,又称作验证基准模型,或参考模型。

2、虚拟平台

由于芯片之上的软件应用日渐复杂,针对芯片的驱动/应用软件研发一般要求与芯片研发同步,这就要求在流片之前,有一个该芯片的虚拟模型,又称虚拟平台。

3、算法/体系结构研究

功能验证是通过ESL模型和RTL模型的协同仿真完成的,即:利用相同的输入,分别仿真运行两个模型,然后检查运行结果是否相同。实际上,协同仿真是在验证两个模型(ESL和RTL)是否等价。

CYBER WORKBENCH可以实现C/C++到Verilog转换的等价性验证,其等价验证的功能与协同仿真一样:验证两个模型是否等价,但CYBER WORKBENCH利用的是形式化方法,简单说,CYBER WORKBENCH会读入ESL和RTL的源程序,根据程序语言的语义,建立形式化模型,并利用多种数理逻辑/代数方法,证明两个模型相等。

1、证明成功:则两个模型相等,即对于所有可能的输入,两个模型输出都相同。

2、证明失败:CYBER WORKBENCH会给出导致不等的反例(输入激励),用于侦错(debug)。结合自身强大的debug能力,可以快速的发现bug的原因。

 

4.2.2代码规则检查和跨时钟域检查

 Vincent 平台的构成

 Vincent平台由以下几个部分组成:

 vLinter模块:

 vLinter是一个FPGA设计的代码检查模块,它可以对verilog,vhdl,system-verilog进行检查,汇报一些可能的设计结构问题。客户可以定义自己需要检查的代码规则。vLinter是一个通用的HDL语言的设计规则检查工具。在FPGA设计领域,团队开发与设计复用不可避免,IP设计工程师,整合设计工程师或验证工程师能够容易读懂相互的代码非常重要。设计流程的复杂与设计工具的多样化也要求代码风格能够满足一些约束条件,以避免在后续步骤出现意想不到的问题。因此,符合标准的HDL代码成为FPGA项目的“通用语言”。

 vLinter读入硬件描述源代码,根据用户定义的设置分析代码,输出警告和错误报告。通过这个检查过程,FPGA设计工程师可以:

•编写语法与语义正确的硬件描述

•缩短在其它EDA工具上花费的时间,比如模拟,综合,DFT等

•在设计早期发现可能存在的错误,减少设计过程的反复

•产生可读性强,易于维护的代码,方便协同工作

•提高代码的可重用价值与重用的便利性

 vLinter提供完善的设计规则检查支持

vLinter提供丰富的设计规则库供FPGA设计团队选择:

•支持Verilog 最新标准的语义语法规则检查

•支持VHDL 最新标准的语义语法规则检查

•支持System Verilog规则检查

•支持规则违反提示连接到对应源代码

vLinter支持常用的lint、openmore、morelint等规则集,支持ERC的规则检查,在进行设计源码编译的时候进行代码规则的检查,vLinter的运行不需仿真器,综合器或其它EDA工具同时运行。

 

vChecker模块:

 vChecker模块式Vincent的主要模块,它提供对整个FPGA设计的代码进行CDC的检查,可支持5千万门以上的设计、高频设计(时钟频率达到1G及以上)和支持最新的设计工艺器件。它主要提供如下功能:

 •提供寄存器级(RTL)和门级(Gate)的错误分析 (综合前和综合后)

•支持 VHDL, Verilog and SystemVerilog (或者混合语言)

•指导设计人员完成整个分析流程

•快速区分跨时钟情况

•将正确的和非正确的同步电路进行分类

•正确鉴别常用的同步电路

•鉴别和验证第三方厂商(Altera/Synopsys/Xilinx...)提供的同步电路

•鉴别由vGenerator产生的同步电路或者其他第三方工具的同步电路结构

•鉴别和验证非同步的reset

•对设计可靠性进行评分

•对于已鉴定的错误的同步电路设计,提供正确的建议电路,并且可以连接vGenerator工具产生

•产生约束条件给综合和布局布线工具

•支持不同的操作系统

•图形化的界面进行同步电路设计的浏览

•可直接连接到RTL代码

 

 vChecker界面简洁,包含三个区域,项目区域,结果区域和源代码/电路图显示区域。vChekcerk可以直接读入Xillinx,Atlera等厂商的工程文件,将设计文件一次性加载进来,免去像其他工具那样需要重新建立文件清单后者脚本进行加载,大大简化使用难度。

vChecker会自动分析设计中的时钟树并且构建相关的时钟域,并且根据用户的设置,比如要求的平均无故障时间和时钟频率等等的约束条件,来计算出设计中存在的同步问题,并且以不同颜色来显示可信赖的同步电路,不可靠的同步电路和没有添加同步电路的跨时钟域情况。并且会提供一个全局的平均无故障时间进行参考。用户可以展开每一条的CDC 的data path来查看这条跨时钟域路径的代码或者电路图,只需要展开某一条路径进行双击,就可以叫出相关的CDC 路径的电路图。

 vChecker可以自动识别和验证一些供应商提供的IP,通常这些IP是看不到他们内部代码的,类似一个黑盒子。vChecker自动验证用户的电路和这些IP之间是不是存在CDC的问题。另外,有些供应商提供的IP里面就是多时钟域的设计,并且包含正确的同步电路,如果这些无法鉴别的话,将影响到整个设计平均故障的计算。vChecker可以自动识别altera,xillinx等FPGA厂商提供的设计IP。

vChecker的运行速度很快,借由vsync独有的静态计算引擎可以在5分钟内分析几百万门的设计。vChecker还有层次化的分析功能,针对于更大规模的设计,可以通过层次化的设计模块分析来加速分析的过程。

 

vGenerator模块:

 vGenerator模块是Vincent平台最具特色的模块,它可以为开发者提供丰富的同步电路模型,供用户选择,可以为每一个设计接口和每一个跨时钟域的设计提供可靠的解决方案。vGenerator模块根据用户的同步需求,自动提供相关的同步电路解决方案给用户,并且告知不同同步电路的平均无故障时间和所需资源。vGenerator的主要功能包括:

a)通过设计定义引导用户进行时钟同步设计

b)支持不同的接口协议

c)产生多种可信赖的同步解决方案并且建议其中较好的方式

d)为选择的同步方案产生仿真模型(simulation mode)

e)产生综合约束条件

f)针对不同的同步方案提供丰富的IP数据库:

point-to-point, vNoC, Reset synchronization, Clock gating and switching

g)支持不同的操作系统

h)支持多种FPGA设计流程:

oXilinx (ISE and Synplify)

oAltera (Quartus II and Synplify)

oLattice (ispLEVER)

oActel (Libero)

i)支持多种 ASIC 设计流程:

oSynopsys (DC)

oCadence

j)可以快速转化到指定的ASIC工艺

 传统的方式需要设计人员自己去编写相关同步电路代码,这是一个手工的过程,容易出现代码错误和引入新的问题。vGenerator模块只需要设计人员输入相关的同步电路的规格,就可以自动生成所需的同步电路,并可以自动生成相关的verilog,vhdl代码,RTL/Gate级的仿真模型,synthesis(综合)和布局布线(APR)约束条件和断言(assertion)文件。

 vGenerator模块在根据用户的同步电路的规格,可以提供几种同步电路的供客户选择,并且指出每种同步方案的平均无故障时间,所需要的资源,波形图,所选同步电路的示例图等等相关的信息。

 vGenerator模块是和其他传统的CDC工具最大的不同,传统方式只是简单的检查CDC同步电路是否存在以及简单的CDC的正确性,不会提供给用户解决问题的途径。vGenerator完全解决了这个问题,依靠自身提供的,历经企业和军工验证过的同步电路模型库,帮助客户解决手工产生同步电路的问题,并且保证所产生的同步电路的质量可靠。

 

vLib模块:

vLib模块用于整合整个设计进行相关的功能仿真,包含CDC同步电路的功能仿真。vLib可以实现:

 •设计系统级别亚稳定性处理验证 

•与第三方验证工具整合 (Modelsim, Active-HDL, NCSIM, VCS, etc.) 

•针对于CDC电路的亚稳态进行功能模拟 

•False/Static CDC 设计路劲的验证 

•数量众多的操作模式 

•支持RTL和门级的仿真

 

vTest模块:

vTest模块是Vincent平台的衰减测试套件。衰减测试( Regression test—)的目标似乎确保相关的CDC同步电路的解决方案不会引入新的问题。vTest有一个项目管理机制,将会实时的弹出新的问题并且对应旧的方案进行追踪调试。vTest支持:

•持后台运行模式

•版本发型的签发

•自动重建IP的新平台版本

 

4.2.3设计仿真验证

 Avery的断言综合工具PropSyn用于解决复杂验证环境中的断言自动产生,它只需要根据设计的RTL代码,自动识别设计中的微结构,从而自动产生微结构相关的断言和覆盖率测试代码,其不像其他工具需要复杂的testbench和仿真结果来创建断言。因此,帮助客户以最少的迭代次数创建完备的断言。

PropSYN使用形式验证的方法提取设计的微体系结构并生成一组全面的覆盖率模型。PropSYN自动识别超过12种 微结构的硬件功能,用户可以选择从60多种以上类型的断言属性和覆盖率测试代码。PropSYN除了支持全自动模式外,也支持一个交互式设计属性查询用户界面,帮助添加用户创建自定义属性。

另外,系统级集成链接,由于成百上千的管教链接,造成系统集成是一项非常大的挑战。PropSYN连通性检查验证基于用户输入的连接是否正确规范(方便的输入格式如XML或Tcl)。检查指定的管脚为直接支持,有条件链接和延迟连接方案。PropSYN生成链接属性断言和报告,然后以形式验证的方式证明连接属性和链接条件的正确性。

PropSYN的主要特点包括:

1)自动生成微体系结构模型的错误检查属性和覆盖率属型/覆盖率群断言;

2)生成的覆盖率属性和覆盖率群断言,易于帮助用户发现testbench /testcase中存在的测试盲点;

3)只需要RTL级代码,不需要testbench和仿真波形;

4)允许用户根据需求,自定义错误检查属性,覆盖率属性/覆盖率群的断言;

5) 允许客户对芯片的管脚链接的正确性进行检查,自动产生检查的断言;

6)支持单个文件和层次化的方式产生断言;

7)自动产生断言源文件和相应绑定文件;

7)使用方式简单,易于创建各类断言。

 ModelSim是业界最优秀的HDL语言仿真器,它提供最友好的调试环境,是唯一的单内核支持VHDL和Verilog混合仿真的仿真器。是作FPGA/ASIC设计的RTL级和门级电路仿真的首选,它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段。全面支持VHDL和Verilog语言的IEEE标准,支持C/C++功能调用和调试,具有快速的仿真性能和最先进的调试能力,全面支持UNIX、Linux和Windows平台(包括64位)。

ModelSim的主要功能和指标需求包括:

内建单内核仿真器支持Systemverilog、SystemC、PSL、SVA、VHDL、Verilog以及混合语言的设计

支持Windows 32 & 64 bit和Linux OS

集成化支持功能覆盖率检查与分析

高性能的RTL和Gate-level仿真速度

支持用SystemVerilog和SystemC实现高层次testbench设计与调试

高性能集成化的混合语言调试环境加速对混合验证语言(System Verilog、SystemC、PSL、VHDL、Verilog)的交叉调试与分析

支持自动/手动设计划分,支持多核仿真

支持高容量覆盖率统一数据库的来加强覆盖率驱动验证

    ModelSim内建单核仿真器 ModelSim支持Systemverilog、SystemC、PSL、VHDL、Verilog,具有高性能集成化的混合语言调试环境加速对混合验证语言的交叉调试与分析;内建约束求解器支持Constrained-random激励生成,以实现Testbench-Automation;支持基于PSL、SVA的功能验证,支持业界最著名的0-in Checkware断言库功能验证;集成化支持功能覆盖率检查与分析;具有高性能的RTL和Gate-level仿真速度。

    ModelSim完全支持所有的标准语言,GUI界面可支持所有语言以及各种抽象级别的调试。支持OVM和UVM。使用OVM和UVM类库进行搭建的验证仿真环境会被识别为整个层次化仿真平台的一部分。

    ModelSim高级仿真器是业界领先的高性能仿真器,通过优秀的全局编译和仿真优化算法,将SystemVerilog和VHDL的仿真以及SystemVerilog和VHDL混合语言的RTL仿真性能提高了10倍。可将所有这些激励产生方式和功能覆盖结合起来,通过自动产生激励,来界定功能执行的情况。根据功能覆盖表(SVA 或PSL)的反馈情况,工程师可以对约束条件进行调整,以覆盖到一些测试盲点。与直接手动编写数百条直接测试激励相比,这种自动化方法极大地提高了效率。ModelSim将所有的覆盖数据收集起来——包括code coverage, assertion ,formal,和functional coverage——写入到统一高效的Unified Coverage DataBase (UCDB), 以备测试平台或验证管理使用。

 

4.2.4综合、布局布线、约束管理和时序分析

  Vivado设计套件,是Xilinx公司推出的集成设计环境。包括高度集成的设计环境和新一代从系统到IC级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。集成的设计环境——Vivado设计套件包括高度集成的设计环境和新一代从系统到IC级的工具,这些均建立在共享 的可扩展数据模型和通用调试环境基础上。这也是一个基于AMBA AXI4 互联规范、IP-XACT IP封装元数据、工具命令语言(TCL)、Synopsys 系统约束(SDC) 以及其它有助于根据客户需求量身定制设计流程并符合业界标准的开放式环境。赛灵思构建的的Vivado 工具把各类可编程技术结合在一起,能够扩展多达1 亿个等效ASIC 门的设计。

    Vivado设计套件可用于不同类型的设计。根据不同设计类型,所涉及的Vivado 设计套件流程和特性会有所不同。Vivado设计流程中RTL 源文件、IP 核或第三方综合网表通过实现步骤编译而成,其结果随后可用于编程和调试FPGA 器件。

    Xillinx公司的Vivado 设计套件可提供在性能、运行时以及内存消耗方面具有极大优势的最佳实现工具,帮助用户更快收敛更大、更高性能的设计。Xilinx 编译了有关超快设计方法的一系列广泛的方法推荐规范。方法推荐规范的核心是 Vivado 提供的详尽的分析报告功能。这些报告有助于设计人员从报告到原理图及器件视图,以及 RTL 代码(其中目标是推测的)的精确线路进行交叉探测。时序分析引擎包括高度可定制的查询,其可带来调试时序收敛挑战。

    Vivado设计套件基于分析的布局布线技术能提高设计收敛的可预测性,同时优化多个变量,包括时序 (T) 以及互联相关参数,如拥塞 (C) 和线长 (W)。分析放置器使 Vivado Design Suite 领先竞争对手整整一代的水平。

    Vivado 设计套件中的基于C 语言的高层次综合(HLS) 工具可以使用C、C++、System C 和OpenCL 语言描述设计中的各种DSP 功能。可以利用Vivado HLS 工具创建并验证C 代码,使用较高级的语言对算法描述、数据类型、规格描述等内容进行抽象,使用不同参数进行多次实验以优化性能和面积,可以结合使用HLS 和基于C 语言的测试平台仿真直接从RTL 设计环境中生成的RTL。HLS 还能自动使用多个最优化的代码库,并通过math.h 支持浮点算法。C 到RTL(C-to-RTL) 综合将基于C 语言的设计转换为RTL 模块,该模块可与设计其它部分一起打包和实现,随后被实例化到RTL 设计或IP 集成器中。

    Vivado Design Suite 可通过增加每天的工作量来加速实现,同时帮助消除反复实施的繁琐。Vivado 的分析性放置器运行速度比同类竞争解决方案翻了两番,内存占用减半。

    Vivado 布局布线引擎的可预测行为方式。 与其它竞争解决方案相比,其整体运行时间缩短了 4 倍,同时它还能以更少的迭代来实现更紧密的设计收敛。

    Vivado Design Suite 的运行时间优势随设计复杂性的增加而提升,具体为:

布线复杂性:衡量设计拥塞程度的参数。布线复杂性通常随设计中网的平均扇出提高。

系统逻辑单元密度:设计逻辑实现所用器件、资源的百分比。

请注意,实现过程中工具可能会占用更多透传布线资源 (route-through resource)。

Vivado 基于分析的布局布线技术在数学上找到能够优化密度(线长)和布线性(拥塞)的实现解决方案。因此 Vivado 实现了竞争优势,结果如下:

Vivado 的运行时间和器件利用率优势与设计复杂性呈函数关系。

Vivado 能够对布线复杂性较高的设计方案进行布线,器件密度提高 20% 乃至更多,而同类竞争解决方案则达到了算法的极限。

Xilinx UltraScale™ 架构提供了真正独立的 LUT,用 Vivado 布线能实现极高的利用率。同时对设计进行布局布线,满足时序要求。Vivado 布局布线技术能充分满足高密度高挑战性设计需要,也能实现较高的 LUT 利用率,帮助用户在器件中获得更多逻辑。对比逻辑单元(LC)数量和大小相似的器件,Xilinx UltraScale FPGA 能通过 Vivado 高级算法集成更多逻辑。对于高度复杂的设计而言,Vivado Design Suite 是唯一的实现解决方案。由于 Vivado 的分析性布局布线针对较短线长进行了精心优化,因此设计从内在上能降低动态功耗。此外,Vivado 的默认高级功耗优化功能加上工艺和架构的功耗优化技术也让 7 系列器件系列相比同类竞争解决方案而言将功耗节省 35%。

 

Incentia的TimeCraft平台主要用于解决复杂ASIC/SOC/FPGA设计中的逻辑实现,静态时序分析,时序修复,功耗分析和静态功耗降低的问题。目前军工的ASIC/SOC/FPGA设计越来越复杂,实现的功能越来越多,运行的频率越来越高,所使用的时钟数目也越来越多,因而不可避免的带来快速的综合实现,时序收敛和功耗的问题。Incentia平台提供专利化的高效技术来帮助设计人员解决上述的设计和测试瓶颈。Incentia的TimeCraft平台是一个完整的,快速的,精确的针对FPGA/SoC时序收敛的解决方案,包括了从设计综合,时序分析,时序优化,设计反馈等一个完整的时序收敛功能链。从而可以从根本上解决上文提出的现有的问题。

TimeCraft有两个核心功能模块,一个是TimeCraft-power_analysis(PA)和TimeCraft-constraint_management(CM)。详细介绍见下面的技术指标。

目前军工的ASIC/SOC/FPGA设计越来越复杂,实现的功能越来越多,运行的频率越来越高,所使用的时钟数目也越来越多,因而不可避免的带来快速的时序收敛和功耗的问题。TimeCraft平台提供专利化的高效技术来帮助设计人员解决上述的设计和测试瓶颈。

设计的实现和测试过程的结合度问题。通常来说设计与测试是密不可分的两个过程,但是目前的状况一般来说是设计和测试是完全分开的。这就造成了测试对于设计的反馈只有限的帮助。

TimeCraft产品技术指标介绍

TimeCraft的Craft平台是一个完整的,快速的,精确的针对FPGA/SoC时序收敛的解决方案,包括了精确的,快速的静态时序分析,时序优化,设计反馈等一个完整的时序收敛功能链。从而可以从根本上解决上文提出的现有的问题。

TimeCraft模块:

TimeCraft是TimeCraft Craft平台的门级全芯片的极速静态时序分析工具,并且可以对设计的信号完整性进行分析。世界前十大的设计公司已经在28nm的工艺上验证了TimeCraft的时序分析功能,充分表明TimeCraft是工业级别的signoff工具。TimeCraft指标如下:

1.分布式多任务的MMMC分析模式

深亚微米的设计面临的挑战就是不同工作模式,不同工作条件和不同工作环境下的时序分析。传统方式无法同时考虑到多个工作的状态,从而造成进行反复的单个不同工作状态的模拟,造成设计迭代和时间的增加。TimeCraft支持MMMC的分布式多任务的工作方式,大大提高时序分析的效率。

2.支持NLDM,CCS,ECSM的库形式。

TimeCraft支持多个不同的设计库文件,包含synopsys的CCSM,Cadence的ECSM以及通用的NLDM库格式。它保证在只有任何一种库文件格式的情况下都可以进行准备的静态时序分析。

3.支持SDF和SPEF的设计流程,支持SOC/ASIC/FPGA设计流程。

静态时序分析的输入文件可以使SDF文件或者SPEF文件,timeCraft可以很好的利用这两种寄生参数文件,已获得准确的分析结果。

4.电压降可知的STA和SI。

Timecraft在进行时序分析的同时,它会考虑到与电压变化的信号完整性问题和静态时许分析问题。

5.CPF/UPF的支持

对于业界标准功耗文件的支持,支持主流的两大标准格式CPF和UPF,从而兼容业界两大主流的设计流程。

6.先进的LOCV,包含location based和stage based的LOCV。

LOCV(又叫AOCV),它是Location based OCV, 比普通的OCV更接近实际。普通的OCV是全局性的,是比价悲观的设定。LOCV依据path或者Level所包含的对角线distance,以及launch path和capture path经过的cell的个数stage,通过查表得到derate的值。

7.支持多电压域和多时钟域的时序分析

深亚微米的设计通常包含多电压域和多时钟域,这就需要静态时许分析工具必须考虑到多电压域和多时钟域对时序收敛的影响。TimeCraft在这方面有自己独特的技术,充分考虑到这两种设计对时序收敛的影响。

8.信号完整性的分析和SPICE仿真的精度误差范围在5%

Timecraft的信号完整性内建的知识产权算法,可以保证与spice仿真的精度误差保证在5%,从而给设计人员提供较准确地分析数据。

9.先进的信号完整性串扰降低方式

Timecraft提供高级功能来减少悲观的串扰影响,从而提高时序路径延迟

10. 高精度和高效的时钟网络延迟计算技术,保证时钟网络最大的优化。

时钟网(clock mesh)是一种网表结构,这种结构有超过一个电路实例来驱动共同的net,并且他们分享一个共同的输入源。这种结构通常可以在时钟树(clock tree)里面找到。这种结构如果不能很好的优化,将造成设计频率的降低。

11.相对于传统方法,可以达到2-5倍的运行效率,并可以获得更好的结果。

TimeCraft核心模块,一个是TimeCraft-power_analysis(PA)和TimeCraft-constraint_management(CM)。 PA是对动态功耗和静态功耗进行分析的工具,可以进行Switching,internal(SDPD),Glitch,X-transition,Static/Leakage功耗的分析,提供丰富的报告显示平均值,峰值等等分析结果,并可以导出波形进行分析。PA分析的结果可以与最终芯片测量的结果保持在10%的误差范围。

ConstraintCraft是一个设计约束文件的检查和管理工具(SDC),它可以进行SDC语义语法的检查,时序的检查(包括Timing Exception,clock, port, clock relation,clock tracer,冗余设定的检查等等),设计检查。包含70天高级规则和众多的基本规则检查。可以对层次化的SDC文件进行一致性的检查,剔除约束文件中冲突的定义。

 

4.2.5硬件协同仿真

 Tape-Out (ASIC产品)之前的系统集成测试阶段一般都会进行硬件加速仿真。硬件加速仿真的目的是利用物理硬件高速运行的特点消除软件仿真器导致的仿真性能瓶颈,使得系在FPGA和ASIC(包括SoC)等IC产品设计开发过程中,芯片烧写定型(FPGA产品)或者统仿真的速度得到成千上万倍的提高。硬件加速仿真拥有软件仿真所不具有的高速特性,因为采用硬件的方式实现验证对象,其仿真运行速度接近最终产品的现实速度。虽然硬件加速仿真方法具有高速的特性,但却是以降低调试能力为代价的,如何在高速仿真下提供更强的调试能力成为硬件加速仿真方法所关注的焦点之一。

S2C 的 Prodigy 完整原型平台为用户提供了一个全面的解决方案,使其能够在任何设计阶段、不受任何地理位置约束地对任何容量的设计进行验证。所有功能都可以按照客户的要求提供,并在任何时候进行远程访问。Prodigy 完整原型平台主要特点如下:

•最大容量的单板系统

•最灵活与可扩展的架构体系,以满足不同设计容量、应用程序和设计阶段的需求

•复杂的硬件和控制软件

•适应大规模软件和测试挑战的解决方案

•缩短设计映射到 FPGA 的时间

•领先的多颗 FPGA 深度调试功能

Prodigy 完整原型平台包含以下 FPGA 原型解决方案:

•Prodigy Logic Modules - 基于 Xilinx Virtex UltraScale, Kintex UltraScale, Virtex-7, Kintex-7 和 Altera Stratix-4器件的 FPGA原型验证系统

•Prodigy Player Pro™ – 实现设计分割到多颗 FPGA、原型系统的配置以及远程监测和控制功能

•Prodigy ProtoBridge™ – 链接 FPGA 原型验证系统至系统级的仿真环境,从而进行早期的算法/架构探究、加速设计验证和提高基于 FPGA 原型的测试覆盖率

•Prodigy™ Cloud Cube – 企业级的 FPGA 原型系统,通过装配S2C的四颗、两颗和单颗Prodigy Logic Module可支持最高32颗FPGA。

•Prodigy Prototype Ready™ 接口和配件 – 超过 80+ 的接口子板和配件,以协助客户快速的建立 FPGA 原型验证环境

Prodigy 完整原型平台的扩展 – 成功的演进路线图

Prodigy 完整原型平台将很快推出可以将大量的 FPGA 器件链接在一起、并通过云端提供更高效的系统管理、满足各种不同设计容量包含总量达 10 亿门的逻辑设计的FPGA解决方案。此外,S2C 亦将推出前所未有的允许同时对多颗 FPGA 进行深度调试的解决方案。

 

 5、系统组成

名称用途数量厂家永久价格(美金)

Codesign系统架构级分析ESL阶段Space codesign

CyberworkbenchC转RTL和C与RTL等效性检查ESL阶段NEC

Vincent platform(包含vlinter,vchecker)用于rtl代码的规则和跨时钟域检查RTL阶段

PropSynSVA断言自动生成RTL阶段Avery15万美金

ConstraintCraftSDC设计约束文件管理、除错、优化和生成Netlist阶段Incentia

Modelsim用于RTL/网表级的功能仿真、覆盖率检查、代码调试和软硬件协同仿真RTL/netlist 阶段

TimeCraft静态时序分析工具Netlist阶段Incentia

Vivado design suit用于RTL/网表级的综合、布局布线RTL/netlist 阶段xilinx

FPGA Prototyping软硬件协同仿真的硬件平台,提供业界标准接口硬件协同验证阶段S2c