用多片FPGA进行ASIC设计验证的分区和综合技术
基于FPGA的ASIC设计

基于FPGA的ASIC设计基于FPGA(现场可编程门阵列)的ASIC(应用特定集成电路)设计是一种常见的设计流程,用于快速验证和验证系统级功能和性能。
FPGA 允许工程师根据特定应用的需求来编程硬件,从而提高系统设计的灵活性和可重构性。
在本文中,我们将讨论基于FPGA的ASIC设计的过程以及其优点和挑战。
ASIC设计是一种定制化的设计,旨在完全适应特定应用的要求。
与通用处理器相比,ASIC设计可以提供更高的性能,更低的功耗和更小的面积。
然而,ASIC设计的开发成本和时间通常更高,制造过程也更加复杂。
为了降低设计风险和成本,工程师通常会选择在FPGA平台上验证ASIC设计。
基于FPGA的ASIC设计可分为两个主要阶段:验证和实施。
验证阶段旨在验证设计的功能和性能,并最小化设计错误的概率。
在验证阶段,工程师使用HDL(硬件描述语言)编写设计,并使用仿真工具进行功能和时序仿真。
设计经过全面测试后,可以将其加载到FPGA中进行验证。
实施阶段旨在将验证过的设计转化为ASIC所需的物理布局和电路。
在此阶段,设计需要进行综合和布局布线。
综合是将HDL代码转换为逻辑门级电路的过程。
布局则涉及将逻辑电路映射到硬件资源上,以及确定电路元素的位置。
布线是将电路中的逻辑连接物理化的过程。
基于FPGA的ASIC设计有几个显着的优点。
首先,FPGA可从验证开始,快速迭代验证设计,从而缩短设计周期。
其次,FPGA提供了一种更灵活的开发平台,可以在设计期间进行功能和性能调整。
此外,对于小型项目,FPGA还可以免去制造和测试ASIC的成本和风险。
最后,基于FPGA的ASIC设计还可以为设计团队提供更多的实践经验,为制造期间的问题做好准备。
然而,基于FPGA的ASIC设计也面临一些挑战。
首先,FPGA平台通常比ASIC平台更昂贵,因此对于大项目,可能会导致较高的开发成本。
其次,尽管FPGA可以快速验证和协助设计,但ASIC设计的实施过程可能会很复杂。
asic电路设计 -回复

asic电路设计-回复ASIC电路设计是现代集成电路设计的一种重要领域,它指的是专门为特定应用定制的集成电路设计。
本文将从什么是ASIC电路设计、ASIC电路设计的流程以及ASIC电路设计的应用领域三个方面进行详细的阐述。
首先,我们来了解什么是ASIC电路设计。
ASIC是Application Specific Integrated Circuit的缩写,翻译过来就是“特定应用的集成电路”。
与通用的微处理器或FPGA不同,ASIC电路是根据特定的应用要求进行设计与制造的。
它的主要特点是定制性强、功耗低、成本相对较高以及性能稳定。
ASIC电路设计分为前段设计和后段设计两个阶段,前段设计负责功耗估算、逻辑分组、布局等工作,后段设计则负责物理实现、时序分析、验证等工作。
接下来,我们来介绍ASIC电路设计的流程。
ASIC设计流程包含多个阶段,其中主要包括需求分析、架构设计、逻辑设计、物理设计以及验证等环节。
首先,需求分析阶段是指对于要设计的ASIC电路进行需求的梳理、分析和整理。
这一阶段可以通过市场调研、行业需求分析等方式来完成,从而明确ASIC电路的功能要求、性能指标、接口标准等。
接下来,架构设计阶段是指根据需求分析得出的要求,对整个电路进行总体的设计规划。
在这一阶段,设计师需要考虑到有效的电路结构、适配周边系统、最小化功耗、统一管理等因素。
然后,逻辑设计阶段是将架构设计得到的电路特性转化为逻辑元件的网络连接。
这一阶段的主要工作是基于功能需求,将模拟电路中的逻辑、时序和控制要素转化为由逻辑门和寄存器组成的逻辑结构。
随后,物理设计阶段是将逻辑设计翻译为几何结构,并通过全局布局、详细布局和布线等过程来生成最终的物理设计图。
这一过程涉及到算法、工具和约束的选择,以及布局和布线的优化。
最后,验证阶段是对设计的ASIC电路进行功能验证和时序验证。
这个阶段通常有两个层次的验证,分别为门级验证和模块级验证。
在验证过程中,设计师需要通过仿真、测试和调试来确保ASIC电路的正确性和稳定性。
FPGA原型验证过程中的ASIC到FPGA的代码转换技术

原型验证过程中的ASIC到FPGA的代码转换技术对ASIC设计进行FPGA原型验证时,由于物理结构不同,ASIC的代码必须进行一定的转换后才能作为FPGA的输入。
现代集成电路设计中,芯片的规模和复杂度正呈指数增加。
尤其在ASIC设计流程中,验证和调试所花的时间约占总工期的70%。
为了缩短验证周期,在传统的仿真验证的基础上,涌现了许多新的验证手段,如断言验证、覆盖率驱动的验证,以及广泛应用的基于现场可编程器件(FPGA)的原型验证技术。
采用FPGA原型技术验证ASIC设计,首先需要把ASIC设计转化为FPGA设计。
但ASIC 是基于标准单元库,FPGA则是基于查找表,ASIC和FPGA物理结构上的不同,决定了ASIC代码需要一定的修改才能移植到FPGA上。
但应该注意到这只是由于物理结构不同而对代码进行的转换,并不改变其功能,因此对代码的这种修改只能限制在一定范围内。
基本原理基于FPGA原型验证的流程由于FPGA的可编程特性,基于FPGA的原型技术已经被广泛采用。
和仿真软件相比,FPGA的硬件特性可以让设计运行在较高的频率上,加速仿真。
另一方面,可以在ASIC芯片设计前期并行设计外围电路及应用软件,缩短了芯片验证周期。
FPGA原型验证和其他验证方法是不同的,任何一种其他验证方法都是ASIC验证中的一个环节,而FPGA验证却是一个过程。
由于FPGA与ASIC在结构、性能上各不相同,ASIC是基于标准单元库,FPGA用的是厂商提供的宏单元模块,因此首先要进行寄存器传输级(RTL)代码的修改。
然后进行FPGA器件映射,映射工具根据设置的约束条件对RTL代码进行逻辑优化,并针对选定的FPGA器件的基本单元映射生成网表。
接着进行布局布线,生成配置文件和时序报告等信息。
当时序能满足约束条件时,就可以利用配置文件进行下载。
如果时序不能满足约束,可通过软件报告时序文件来确认关键路径,进行时序优化。
可以通过修改约束条件,或者修改RTL代码来满足要求。
芯片fpga验证流程

芯片fpga验证流程1. 原理图设计FPGA验证的第一步是进行原理图设计,即将设计的电路拆分成逻辑门、时钟、控制器等基本部件,并将这些部件根据需要布局和布线。
由于FPGA具有可编程性,因此一般使用HDL(Hardware Description Language)语言进行设计和模拟。
2. 仿真验证在进行FPGA设计之前,需要进行仿真验证,以保证设计的正确性。
使用仿真工具对设计的电路进行模拟,可以快速检测出设计中的错误和不足之处。
仿真验证需要注意时钟同步、数据传输、芯片会场布局等问题。
3. 物理验证在完成电路的设计后,需要进行物理验证。
其中包括板级布局、芯片级布局、测试访问机制等物理设计。
在这一阶段中,需要考虑布局对时序、信号完整性和电磁干扰等方面的影响。
4. 静态时序分析静态时序分析是验证在各种情况下FPGA系统的信号传输时间是否能满足硬性时序要求的一项关键任务。
这一过程通常包括设置时钟时延、根据门级网络实现和约束文件添加关键路径等。
5. 时钟分析时钟是FPGA设计中非常重要的元素,“时钟域过渡捕捉”是指当信号从一个时钟域转到另一个时钟域时,捕捉到信号的过程。
在FPGA设计过程中,出现时钟域过渡捕捉错误会导致系统不可预测的行为,因此时钟分析是不可或缺的一步。
6. 功耗分析FPGA芯片设计中,功耗一般分为静态功耗和动态功耗。
在FPGA设计的过程中,需要对功耗进行有效控制,以确保芯片设计能够满足功耗规格和限制。
这一步骤的目标是将功耗保持在可行范围内,同时确保电路的性能和功能稳定。
7. 芯片测试和验证芯片测试和验证是FPGA设计流程中的最后一步,用于确定芯片设计的正确性、性能和可靠性。
在芯片测试和验证过程中,需要进行硬件测量和软件测试,依据测试结果对设计进行修改和纠正,直到达到设计要求。
以上就是FPGA验证流程的主要步骤。
在实际工作中,还需要根据实际情况进行调整和修改,以达到最佳的验证效果。
fpga的设计与验证实例

fpga的设计与验证实例FPGA的设计与验证实例FPGA(Field-Programmable Gate Array),又称现场可编程门阵列,是一种逻辑门的集合,能够在任何时间重新编程以实现不同的功能。
FPGA 的设计与验证是FPGA开发过程中非常重要的一环,本文将以“FPGA的设计与验证实例”为主题,一步一步回答相关问题。
第一步:设计目标与规划在进行FPGA的设计与验证前,我们首先需要明确设计的目标和规划。
设计目标可以是各种不同的应用需求,比如数字信号处理、通信系统、图像处理等。
根据不同的目标,我们需要选择合适的FPGA型号、资源配置和设计方法。
第二步:设计框架与功能分解在明确设计目标和规划后,下一步是确定设计框架和进行功能分解。
设计框架可以采用硬件描述语言(HDL)如Verilog或VHDL等,通过将设计分解成多个模块,层次化地组织并描述设计功能。
第三步:模块设计与实现在功能分解后,我们需要对每个模块进行具体的设计与实现。
模块设计可以采用HDL语言描述模块的输入、输出以及内部逻辑。
同时,我们还需要选取适当的时钟频率,设计和实现时序逻辑。
第四步:系统级设计与验证完成各个模块的设计与实现后,我们需要进行系统级设计与验证。
系统级设计可以通过连接各个模块,形成一个完整的系统。
然后,我们可以使用仿真工具,如ModelSim等,对系统进行功能验证,以确保系统能够按预期工作。
第五步:综合与布局布线在系统级验证通过后,我们需要进行综合与布局布线。
综合是将设计转化为FPGA上的逻辑网表,布局布线则是将逻辑网表映射到FPGA的物理资源上。
这个过程中,我们需要注意资源的分配和布线的优化,以保证设计的性能和可靠性。
第六步:时序分析与时序约束在综合和布局布线后,我们需要进行时序分析与时序约束。
时序分析是检查设计是否满足时序要求的过程,时序约束是指定设计中各个信号的时间要求。
通过时序分析与时序约束,我们可以找出设计中的潜在问题并进行优化。
asic的设计流程

asic的设计流程ASIC(Application Specific Integrated Circuit)是指应用特定集成电路,其设计流程通常包括以下几个步骤:需求分析、架构设计、逻辑设计、物理设计、验证和测试等。
首先是需求分析阶段。
这一阶段的目标是明确ASIC的功能需求和性能指标。
设计团队与客户或项目发起人进行充分的沟通,了解客户的需求,并根据需求制定相应的规格说明书。
规格说明书包括ASIC 的功能、性能、接口、功耗等要求。
在需求分析阶段,还需要考虑ASIC的制造工艺和成本限制。
接下来是架构设计阶段。
在需求分析的基础上,设计团队开始制定ASIC的整体架构。
架构设计决定了ASIC的功能模块划分、模块之间的接口和通信方式等。
设计团队需要根据性能和功耗要求进行权衡,选择合适的架构方案,并进行详细的设计文档编写。
然后是逻辑设计阶段。
在逻辑设计阶段,设计团队根据架构设计的要求,将ASIC的功能模块进行详细的逻辑设计。
逻辑设计使用硬件描述语言(如Verilog或VHDL)来描述电路的逻辑功能和时序要求。
设计团队需要考虑电路的时序约束、时钟域划分、数据通路设计等问题,并进行逻辑仿真和优化。
物理设计阶段是将逻辑设计转化为物理电路布局的过程。
物理设计包括芯片的布局设计和布线设计。
布局设计决定了各个模块的位置和相互之间的关系,布线设计则将逻辑电路转化为实际的物理连线。
物理设计需要考虑芯片的面积、功耗、时钟分布等因素,并进行电磁兼容性分析和时序收敛等。
验证和测试是ASIC设计流程中非常重要的一步。
验证的目标是确保设计的正确性和功能的完整性。
验证过程包括功能验证、时序验证和电气验证等。
功能验证通过对设计的功能模块进行仿真和测试,验证其是否符合规格说明书的要求。
时序验证则是验证时序约束是否满足,以确保电路能够正常工作。
电气验证则是验证电路的电气特性,例如功耗、噪声等。
测试阶段主要是通过实际的芯片测试来验证设计的正确性和性能指标。
asic 设计流程

asic 设计流程ASIC(Application Specific Integrated Circuit)是指专门为特定应用领域设计的集成电路。
ASIC设计流程指的是将一个特定的应用需求转化为ASIC电路的设计和制造过程。
本文将详细介绍ASIC设计流程的各个阶段和关键步骤。
一、需求分析阶段在ASIC设计流程中,首先需要进行需求分析。
这个阶段主要包括对应用需求的详细了解和分析,明确需要实现的功能和性能指标。
同时,还需要考虑制约因素,如成本、功耗、集成度等。
在需求分析阶段,设计团队与应用领域的专家密切合作,进行系统级的设计和规划。
他们会通过调研市场、分析竞争产品等手段,明确应用需求,并制定相应的设计目标。
二、架构设计阶段在需求分析阶段完成后,接下来是架构设计阶段。
在这个阶段,设计团队将根据需求分析的结果,确定ASIC的整体架构和功能划分。
架构设计阶段的关键是找到合适的功能模块,并确定它们之间的接口和通信方式。
通过模块化的设计思想,可以提高设计的可重用性和可维护性,并且方便后续的验证和仿真工作。
三、RTL设计阶段在架构设计阶段确定了ASIC的整体框架后,接下来是RTL (Register Transfer Level)设计阶段。
在这个阶段,设计团队将使用硬件描述语言(如Verilog、VHDL)来描述和实现ASIC的功能模块。
RTL设计阶段的关键是将功能模块转化为硬件逻辑电路。
设计团队需要仔细考虑时序和逻辑的优化,以提高电路的性能和功耗。
同时,还需要进行功能仿真和时序约束等工作,确保设计的正确性和可靠性。
四、综合与布局布线阶段在RTL设计阶段完成后,接下来是综合与布局布线阶段。
在这个阶段,设计团队将进行逻辑综合、布局和布线等工作,将RTL描述的电路转化为物理电路。
综合是将RTL描述的电路转化为门级网表电路的过程。
在综合过程中,设计团队需要进行逻辑优化和面积约束等工作,以提高电路的性能和集成度。
布局和布线是将门级网表电路映射到实际的芯片布局上的过程。
FPGA验证简介

本文为特约创作,作者deve第一编验证的重要性验证,顾名思义就是通过仿真、时序分析、上板调试等手段检验设计正确性的过程,在FPGA/IC开发流程中,验证主要包括功能验证和时序验证两个部分。
为了了解验证的重要性,我们先来回顾一下FPGA开发的整个流程。
FPGA开发流程和IC的开发流程相似,主要分为以下几个部分:1)设计输入,利用HDL输入工具、原理图输入工具或状态机输入工具等把所要设计的电路描述出来。
2)功能验证,也就是前仿真,利用Modelsim、VCS等仿真工具对设计进行仿真,检验设计的功能是否正确;常用的仿真工具有Model Tech公司的ModelSim,Synopsys公司的VCS,Cadence公司的NC-Verilog和NC-VHDL,Aldec公司的Active HDL VHDL/Verilog HDL 等。
仿真过程能及时发现设计中的错误,加快了设计进度,提高了设计的可靠性。
3)综合,综合优化是把HDL语言翻译成最基本的与或非门的连接关系(网表),并根据要求(约束条件)优化所生成的门级逻辑连接,输出edf和edn等文件,导给CPLD/FPGA 厂家的软件进行实现和布局布线。
常用的专业综合优化工具有Synplicity公司的synplify /Synplify Pro、Amplify等综合工具,Synopsys公司的FPGA Compiler II综合工具(Synopsys 公司将停止发展FPGA Express软件,而转到FPGA Compiler II平台),Exemplar Logic公司出品的LeonardoSpectrum等综合工具。
另外FPGA/CPLD厂商的集成开发环境也带有一些综合工具,如Xilinx ISE中的XST等。
4)布局布线,综合的结果只是通用的门级网表,只是一些门与或非的逻辑关系,与芯片实际的配置情况还有差距。
此时应该使用FPGA/CPLD厂商提供的实现与布局布线工具,根据所选芯片的型号,进行芯片内部功能单元的实际连接与映射。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用多片FPGA进行ASIC设计验证的分区和综合技术本文将介绍,如何在专业的验证软件Certify的帮助下,实现快速有效的用多片FPGA来进行ASIC设计验证。
前言在现在复杂的ASIC设计中,校验(Verification)是最大的瓶颈。
随着先进的半导体工艺技术不断前进,随之带来的是ASIC设计规模和设计复杂度的飞速增长,这使得传统的软件仿真工具已经无法完全解决验证的问题。
而且随着越来越多的需要处理大量实时数据的应用(如视频)出现,验证技术就要求能够在接近实时频率的条件下进行验证。
现在越来越多的ASIC设计者自己设计FPGA验证板来进行ASIC设计验证。
用FPGA验证ASIC的好处是可以使软件的开发调试和ASIC的开发调试并行的进行。
ASIC的设计者在用FPGA做验证和调试的时候会面临很多挑战。
一个最大的问题就是即使是:最大容量的FPGA和复杂的ASIC相比还是太小。
这意味着设计者必须把他们的ASIC设计分割到几块FPGA中。
在作分割和FPGA综合的时候,没有工具帮他们做出好的分割决定,也很难确定验证板的参数和设计。
这样设计者只能单调乏味的在分割、综合、板上实现几个步骤中重复,浪费大量的时间。
Certify是SYNPLICITY公司的新一代设计软件,它就是针对用FPGA做ASIC验证的设计。
Certify 结合了RTL多片分割和业界最好FPGA综合技术。
它是业界的第一个也是唯一一个针对使用多片FPGA做ASIC验证的设计工具。
SOC(片上系统)ASIC 的验证方法ASIC设计者面临着一系列的压力。
他们的设计要达到最高的集成度,并且要能满足最新的工艺技术,达到最大的容量。
而且他们也不得不要考虑Time-To-Market的时间,所以要尽快的得到功能完全准确、可以工作的芯片。
由于推向市场时间的巨大压力,SOC芯片还要有软件的部分,因此同样不容许因为芯片功能没有达到准确而导致拖延软件的开发和调试。
软硬件的合作开发和调试是必须的。
EDA工业就是为了满足对新工具和新方法的需要。
高级的描述语言和高级的库极大的提高了设计者的生产力。
越来越多的IP核允许设计者使用增强功能的元件快速可靠的设计很大的设计。
瓶颈来自于验证,因为ASIC投产之前必须是正确的。
对百万门级片上系统的ASIC设计,每次投片的NRE费用是巨大的。
因此,在功能没有被验证之前不去投片是可以理解的。
而且随着设计容量的增加,充分仿真需要测试向量的数量也增加的更快。
所以现在的ASIC设计周期中,验证占了50%强。
预计将来两年的设计中,验证会达到70%。
对SOC的设计者来说,有许多的验证方法。
下图是一个比较:$10,000$1,0001000 10,000 100,0001,000,00010,000,000由上图可以看出,传统的仿真技术已经远远不能满足现在复杂的ASIC验证对速度的需要。
软件仿真器和定制的软件模型非常普及,但仅仅它们已不能满足用户的需要。
硬件加速器有比较好的性能,但是贵而且使用不方便,并且对于具有高速数据处理的一些应用,如MPEG视频处理等,仍然不能达到所需的性能。
而现在世面上更加昂贵而且更难于使用的硬件仿真器,也不能满足现在的ASIC设计的性能需要。
所以现在ASIC设计者更多的使用定制或者是可重构的验证环境来做系统验证。
验证设计的流程如下图所示:Figure 2综合/分割的瓶颈用FPGA作原型验证提供了很多好处,但同时也带来了新的难题。
把整个设计分割到多片FPGA中经常会花费很长周期,从而也延迟了整个的开发周期。
图2显示了定制的原型验证传统的设计流程。
在流程中综合和分割是分开的,互不关联。
综合的时候不会考虑到设计如何分割到多片的FPGA中,因此,不会达到所希望的速度。
分割的方法也不会反馈,不会对利用率和系统性能带来影响。
因此,设计者会在分割和综合之间反复多次。
每次的反复都会浪费时间,结果增加了验证的时间,降低了生产力。
当对源代码改动的时候,这个过程有可能再会重复多次。
更大的问题是仔细认真作出的分割不会在对多个FPGA综合的时候用到而优化系统性能。
这有可能降低验证的性能,还会迫使你使用更多更大的更昂贵的器件。
所以要真正解决问题,就需要把FPGA分割和综合结合起来,并且在RTL级就完成分割。
结合Certify 软件就能做到这样。
这避免了反复的浪费时间,加快了原型验证,缩短了验证的开发周期,使产品更快的推向市场。
Certify是建立在Synplify综合技术上的,Synplify的核心算法包括了适合每种FPGA特殊结构的综合算法,它的时序驱动的综合算法使设计可以达到尽可能高的系统速度。
这种综合算法的内核被扩展到了运用独特的分割驱动综合算法的Certify中。
有了这种方法,综合过程就基于一个确定的分割。
在多片FPGA之间的时间预算自动的被包含在分割驱动的综合算法中。
这个方法是Certify解决方案的核心,提高了验证的性能,并使得设计者可以在几乎相当于实时的速度中对其设计进行验证。
Certify的综合引擎,基于已经验证的Synplify技术,可以处理超过100万门的设计。
它同样有能力进行快速综合。
工作在450MHZ,1G内存的PC平台上的综合测试,Cerity综合分割100万门的设计到几个FPGA器件中不多于9小时。
Certify 用户接口Certify 提供了简单易用的图形用户界面(如图3),用户可以快速的产生合理的分割,并可以估计验证的速度和效率。
Certify 利用成功的HDL 分析器,自动由HDL 代码产生RTL 图,并将二者都在窗口显示。
其他的窗口显示系统验证板和FPGA 的图形说明。
Certify 中要首先要估计设计中每个模块的面积和I/O 数。
这个估计是通过调用估计模式下的综合引擎实现的;估计的结果作为RTL 块图的标注显示。
用户通过从RTL 图中选择块并把他们拖曳到目标FPGA 器件中实现分割。
Certify 直接为每个器件提供I/O 和面积利用率的百分比的反馈信息。
这就使用户可以完全控制分配及分割结果的快速反馈。
Certify 包含了强有力的“what-if”分析,用户可以通过它快速分析分割对面积和I/O 的影响。
通过在设计模块上点鼠标右键调用“what-if”分析。
利用选中的模块和所有以前分割的模块之间的互连情况,Certify 计算把选中的模块到分配到验证板上每个FPGA 时对面积和I/O 的影响,并把这个信息反馈给用户。
然后设计者可以利用这个信息把选中的模块分配到最合适的FPGA 中去,同时又保证分割的结果对面积和I/O 利用而言是合理的。
当分配完成后,Certify 利用物理分割信息驱动综合算法。
这些选择会影响电路的实现。
因此当把片内和片外的延迟及板子上的延迟时计算在内时,时序中的关键路径能够被优化。
不改变RTL 源代码而进行逻辑复制为了增加验证性能并将FPGA 之间的互连最少,Certify 让设计者不改变HDL 源代码而复制逻辑。
例如在图4-a 中,解码器的16位输出驱动三片FPGA 中的逻辑。
板子上的总线布线会导致系统速度降低,会产生版图设计的问题并需要大量的利用珍贵的I/O 资源。
相反的,在图4b 中,解码器可以被复制在三个FPGA 中的每一个。
尽管这样做会增加总的芯片面积,却减少了板子之间的互联并大大的减少了I/O 的需求。
在Certify 中,这个复制可以通过简单的在RTL视Figure 3图中拖曳解码器到版图视图中的每个FPGA 中去实现。
由于原型的主要目的是对ASIC 进行验证,仅仅因为验证的目的设计者是很不愿意改变HDL 源代码的。
事实上,很多机构中,验证小组被严格的禁止对源代码进行改动。
利用传统的综合和分割建立原型是不可能不改变源代码而在FPGA 中复制逻辑的。
这就导致了效率低的-有时是不可行的原型验证。
只有Certify 可以使设计者不改变源代码而复制逻辑,只需要把目标从RTL 视图中拖曳到目标器件就可以了。
不改变RTL 源代码而建立探测点传统的综合和分割的方法中,说明一个要被输出到FPGA 边界作为探测点的信号,需要改变HDL 源代码。
只有Certify 可以使设计者不改变HDL 代码而指定探测点,只要把信号拖曳到和FPGA 关联的管脚分配表上即可。
重复的设计流程验证的一个主要目的是快速的找到并修改原设计中的错误。
为了支持重复的验证-调试-修改-验证-调试这样的周期,验证的工具必须最佳化。
Certify 是这个设计流程的最佳工具。
除了为设计中的每个FPGA 建立门级网表,Certify 也为每个FPGA 输出HDL 源代码。
修复设计中bug 的重复过程通常被限制到设计中为数不多的模块中去。
通过Certify,只有需要重新实现的FPGA 才会被影响,这样就减少了增加设计改变所需要的时间。
关于IP 核ASIC 设计,特别是被认为是芯片上系统的一个明显趋势是设计的重用性,即那些不论是自己生产还是买回来的IP 核。
Certify 可以容易的使用它们。
如果有RTL 代码,就可以放入设计过程中去,并在一个或多个FPGA 上验证。
另一种方法是把它当作FPGA 外面的东西放入到系统中。
Certify 中,这将被认为是一个黑盒子。
这个器件在版图中被定义,然后在分割过程中被例化。
同样的方法可以例化标准的功能模块例如UART 和存贮器。
灵活选择实现方式Certify 的输出为测试板产生一个顶层的网表,为每个FPGA 产生一个可以进行布局布线的优化网表,这就使得使用者可以定义一个定制验证板,并通过布线互联器件例如I-Cube 建立验证板。
它也可以被用于流行的来自Aptix 的产品System Explorer 的输入。
System Explorer 把Certify 创立的网表作为输入,在验证板上放置器件,配置可编程的板子之间的互联,然后调用FPGA 布局布线工具执行每个器件。
Certify 支持FPGA 供应商最流行的FPGA 器件。
在Certify 的第一个发行版本中支持的有Altera 的Flex10k,Apex,ApexII,Xilinx 4k 以及Xilinx Virtex 系列。
利用Certify 可以用最流行的FPGA 器件以及几乎所有的验证板为用户提供了最灵活的实现方案选择。
Certify 将RTL 多片分割和FPGA 综合技术结合起来,是第一个也是唯一的着眼于ASIC 验证和利用多片FPGA 进行验证的综合产品。
Certify 的独特的分割驱动综合方法使得设计者达到最快的验证速度。
Certify 大大简化了ASIC 验证,减少了验证开发时间,并使其快速市场化。
Sigin[0:3] Figure4a Figure4b。