ASIC规划在尺度和杂乱性上不断添加,现代FPGA的容量和功用的新进展意味着这些规划中的2/3能够运用单个FPGA进行建模。但是,这些规划中依然保存有1/3(那便是说,一切ASIC规划中的1/9)要求一个依据多个FPGA的原型开发板。
在不太悠远的曩昔,对ASIC规划团队而言,在这类情况下首要的解决计划便是在内部树立他们自己的定制多个FPGA的原型开发板。但是,今日,运用现成的多个FPGA原型开发板——例如,由Synplicity公司的原型开发同伴出产的开发板——与适宜的规划东西相结合能够节约数周时刻,否则的话将花费几个月的验证时刻以及在NRE费用上花费数万美元。
本文首要评论了ASIC验证能够选用的首要技能。接着,文章考虑了与运用一个现成的产品比较,树立一个定制的多个FPGA的原型开发板的优势和缺点。终究,论文介绍了现在最先进的用于验证大型规划的切割和归纳规划东西,其选用内部开发或现成的多个FPGA的原型开发板。
可供选择的验证技能
今日高端ASIC,例如那些在手机、通讯、图形子体系以及信号处理运用中运用的,常常包含多个CPU和DSP内核,其结合了硬件加速器、外围设备、接口和存储器办理内核。(因为这些评论的意图,术语ASIC被假定包含了ASSP和SoC器材。)所以,为了满意芯片的商场需求,尽或许早的在规划阶段开发、端口、集成、调试和验证任何嵌入式软件的内容。
ASIC的RTL全功用验证——其自身与任何嵌入式软件——是ASIC规划进程中最消耗时刻和最困难的部分之一。计算标明今日ASIC规划中的70%要求重制。除了费用极端贵重之外,重制能够引起项目失掉其商场空间,这将严峻危害公司的名誉和金融底线。
对ASIC规划者敞开的三个首要验证选择是仿真,模仿和FPGA原型开发。
*仿真:依据软件的仿真被广泛运用,但即便在一个实在的高端(而且,相对贵重)的计算机渠道运转时,其运转比实践的ASIC硬件慢六到十个数量级,这使得其成为一项极大花费时刻而且功率极差的技能。为了供给整个体系的尺度知道,软件仿真能够典型地到达只是几Hz适当的速度(那便是,规划的体系时钟相对实在时刻每秒钟的几个周期)。实践上,这意味着只是在一小部分规划中能够完结广泛的软件验证。
*模仿:依据硬件的模仿是另一个可供选择的办法,但它依然比实践的ASIC硬件至少慢三个数量级,因为很多的有关的复用技能将验证速度减慢到只是500 KHz到2 MHz。此外,这种办法在预算和资源方面(依赖于模仿器的巨细,每个持平的门电路本钱能够从25美分到一美元)是极端贵重的。规划者需求的是一种可供选择的办法,这将答应他们以较低的危险和本钱投放商场。
*依据FPGA的原型开发:在许多情况下,“快速”验证规划是必要的。例如,就视频处理芯片来说,部分验证或许包含评价视频输出流的片面质量。相似地,在嵌入式软件中验证硬件要求极高的速度。其答案便是运用运转在10到80 MHz速度下的多个FPGA原型开发板,其持平于(或适当于)实在时刻的ASIC速度(“实在鼓励输入,实在呼应输出”)。当将规划定制开发板与运用现成的开发板进行比较时,后者——当与恰当的规划东西结合时——能够削减数周时刻,否则的话,将花费数月的验证时刻而且(在每个持平的门电路为一美分的典型值下)节约数万美元的NRE费用。
所关怀的同样是,除了供给一个软件开发渠道和硬件的软件验证之外,该公司规划ASIC简略地要求尽或许快的完结规划的悉数功用;例如,证明硬件能够进行商业展现。
全定制与现成的原型开发板
大约在本文写作前的三至五年,一切多个FPGA的原型开发板是“树立你自己的”全定制种类。相反,今日有着很多现成的多个FPGA的原型开发板供货商集体。
供给一些参阅,传统的硬件模仿现在的商场是每年一亿美元。比较起来,在曩昔几年中,没有任何人实在注意到,现成的多个FPGA的原型开发板工业现已增加到硬件模仿商场规模的四分之三。
工程师以为任何通用的都是次最优的。现实上,工程师常常期望树立他们自己的定制原型开发板,因为他们以为其功用将更好,他们信任与实在的国际接口将更简略,这些接口将更接近于他们想要的,他们以为这将削减项目本钱,而且这将削减产品推向商场的时刻。让我们顺次列出这些观念:
*更好的功用:在包含了两个或三个以上FPGA的原型开发板情况下,定制完结办法将超越它的现成对应物的功用是十分不或许的。这是因为规划这样一块电路板要求十分高水平的常识和经历,这只能经过在几年内规划数代这样的电路板得到进步。
*消除立异:假如一项ASIC规划合适单个的FPGA,然后规划和完结一块定制的电路板是相对简略的。比较起来,在一项要求两个FPGA的ASIC规划的情况下,该问题变得十分令人感兴趣;而且,当运用三个或更多的FPGA时,作业变得按指数规则添加杂乱性。
*消除接口:假如一项ASIC规划合适单个的FPGA,然后有一些令人信服的原因来规划定制电路板。其间一个原因是,在同一块卡上依照任何接口逻辑完结该FPGA通常是有意义的。但是,在多个FPGA的原型开发板的解决计划中,经过运用很闻名的现成电路板以及会集尽力在特制的接口卡规划上,接口问题简直总是很简略的。
*削减本钱:规划和完结高端多个FPGA原型开发板要求很多的专业规划工程师和地图工程师,这将比简略的购买现成的电路板添加十分大的本钱。
*削减产品推向商场的时刻:即便对一家专业规划和完结多个FPGA原型开发板的公司而言,高端电路板的制造能够很简略的花费掉9个月(而且这假定多个工程师和地图规划师分多班倒班作业)的时刻。不用惊奇,一个非专业的团队将简直必定花费更长的时刻,这能够很简略的构成项目落后于它的进度表,而且失掉它的商场空间。作为一个多个FPGA原型开发板规划问题杂乱性的比如,考虑来自Dini集团的DN8000K10电路板。Dini集团是Synplicity原型开发计划的合作同伴成员。
DN8000K10是一个USB 2.0主机逻辑原型体系,其能够用二到十六个高容量的FPGA来拼装。在其最高的装备中,该电路板能够被用于代表保存值适当于24,000,000 ASIC门的原型规划。
DN8000K10的规划和完结共花费九个月的时刻。最为该项意图一部分,六位地图工程师分两班轮班作业了几个月。终究的产品是28层的电路板,其芯片间通讯是在350 MHz下选用低压差分信号(LVDS)完结的。(在规划管脚受限的情况下,每个LVDS管脚对支撑集成的SERDES,这能够供给高达10:1的复用。)在这一杂乱度上,噪声的处理问题和信号完结性问题要求很高的常识和经历水平。这一水平的电路板彻底超越了今日现成的主动布线东西能够找到解决计划的才能的一至两个数量级;所以,每个管脚是“手艺选择”,而且每条途径是“手艺衔接”——没有运用主动布线(除了该电路板周围的外围设备之外)。
手艺切割和归纳多个FPGA规划
在手艺切割的情况下,任何ASIC中心结构(门控时钟,Synopsys的DesignWare?实例等),在原始的RTL源代码中,在进行切割之前,不得不手艺将它们翻译为与它们的FPGA持平同的代码。除其它东西之外,这直接导致了两个别离的代码流,这或许失掉同步,然后导致在FPGA原型和ASIC之间所代表的功用不同。
当开端切割处理时,工程师们测验将不同的功用模块组调集在一起,在这里每组在不同的FPGA上完结。这种组合(切割)以门级的传统办法完结。最近,一些流程支撑在RTL级分组,此刻每个分红的组经过传统的FPGA归纳东西,而且仅在这一点上,不同FPGA的实践资源利用是已知的。
一切这些计划都有一个问题,便是关于不同组的面积和资源的影响而言,工程师们是“暂时的瞎子”,这导致了许多耗时的迭代。首要,工程师依据“A模块或许将消耗‘xxx’的资源,而模块B或许要求‘yyy’的资源”而进行“预算”。这些预算是依据很多“分组”指令,然后归纳(在依据RTL切割的情况下),然后是成果的剖析,以及然后是很多的“撤销组”和“再次分组”指令来预算不同的完结办法。
该使命因为这一现实而进一步混杂,该现实便是这些原型常常被FPGA上的I/O管脚的数量所约束;一个无效的解决计划很简略消耗一个器材上100%的I/O资源,但是与此同时,只是其相对少数的内部逻辑资源能够完结。为了战胜这些I/O约束,I/O的多重分组和/或在多个FPGA中仿制同一个逻辑模块是必要的。(为了到达特定的功用方针,逻辑仿制也是常常要求的。)
假定在这种原型中运用的每个FPGA或许有超越1000个管脚,一项办理衔接的电子表格办法能很简略地包含几千个单元。家常便饭地是,记载分配给每个FPGA的模块和衔接矩阵(在不同FPGA之间的衔接)是一项深重的使命,这将是资源密集型的、耗时的以及简略犯错的。
主动切割和归纳多个FPGA规划
来自Synplicity的CerTIfy? RTL原型开发东西是业界时刻最长和最强壮的多个FPGA切割和归纳东西。很令人感兴趣的是,当CerTIfy软件在上世纪90年代晚期创立时,对ASIC规划团队而言,没有任何现成的多个FPGA原型开发板能够得到。在那时,CerTIfy软件被规划成一个ASIC团队规划他们自己的定制的多个FPGA原型开发板的辅助东西。
运用CerTIfy软件,工程师们能够界说电路板上的FPGA的数量和类型以及它们之间的互连线。随后,该数据被用于对经过多个FPGA进行ASIC规划主动地切割RTL,而且将被切割的RTL归纳成用于FPGA编程的装备文件。
一旦工程师们现已运用Certify东西来界说电路板的根本结构,来自该软件的输出之一是描绘FPGA以及它们之间衔接的网表。以Verilog来描绘的该网表的格局由Synplicity界说,而且是闻名的*.vb(Verilog模版)格局。
规划团队期望树立他们自己的定制电路板今日依然运用这种技能。这一点使得Synplicity的*.vb格局很快变成这种类型运用的现实上的工业规范。现在,每个现成的多个FPGA原型开发板供货商选用通用的*.vb文件交给他们的电路板,其作为界说每块开发板结构的输入被读入到Certify软件。
Certify东西能够选用Verilog、VHDL和混合言语进行规划。该流程中的第一个要素是选用Certify软件,主动将任何ASIC专用代码转换为适当的FPGA结构。就现在现成的多个FPGA原型开发板而言,用户简略地告诉软件运用下拉式列表框的开发板的类型,该列表框包含来自一切首要第三方供货商所供给的开发板。(换句话说,假如这是一块定制的电路板,Certify东西有才能树立一个在传输进程中的“虚拟的”多个FPGA开发板,接下来这块虚拟的开发板能够作为树立实在电路板的根底来运用。)接下来,Certify软件用于经过多个FPGA主动切割规划(图 2)。
与Certify软件严密集成在一起的是Synplicity的HDL剖析器,其以高档的层次化的模块图以及接着归纳相应的门级电路的方法,主动地发生规划的技能独立的图形视图。Certify和HDL剖析器东西在HDL源代码和模块级以及门级电路之间,支撑全双向穿插勘探,所以答应规划者在规划以及定位感兴趣的信号和逻辑功用之间,进行快速定位。除规划的各种其他视图之外,Certify软件供给一个构成原型开发板的FPGA的图形表明(第6页图3)。这些虚拟器材中的每一个有两个相关的“温度计型”显现:其反映I/O的运用和器材的其他面积/资源运用。
以I/O和相关的逻辑资源以及FPGA和在FPGA之间的布线资源的知道为根底,Certify软件能够主动地完结管脚分配和交互地履行切割——经过简略地拖曳代码模块和将它们下拉到不同的FPGA——或许两种技能能够混合运用。
Certify软件供给很多十分强壮的东西来协助切割使命。例如,接下来的切割,软件能够剖析成果和向用户提出运用Certify管脚复用(CPM)的机遇,信号的复合设置是一起复用来减轻在相关器材I/O资源上的负载。除了在多个器材上促进逻辑仿制外,Certify东西也供给位片运用,其间宽的数据途径结构能够?裂成更小的分支。此外,Certify软件供给老练的“撕裂”才能,借此将大的模块分解成更小的部分(这些部分能够顺次分配给不同的FPGA)。
作为一个候选的切割完结办法便是树立,其他十分有用的特性使其能够被命名和保存。这答运用户保持对多个可选择的切割计划的操控。这种才能能够与Certify软件的影响剖析特征一道运用,其答运用户就在该多个FPGA开发板上能够得到的面积和I/O而论,估量布局和/或移动逻辑。而不是用户不得不估测这个逻辑应该被分配给哪个FPGA,影响剖析发生关于以那个切割决定为根底的特定信息。
一旦切割现已被履行,Certify软件用于归纳与不同的FPGA器材有关的代码流。该东西运用同一个根本的归纳技能,便是起重要作用的Synplicity的主导商场的Synplify Pro? FPGA归纳引擎。例如,Certify软件充分利用Synplicity的BEST? (Behavior Extracting Synthesis Technology?)算法,其剖析RTL和在首要归纳进程前完结高档优化。而且,Certify东西以具有Synplify Pro软件的先进的归纳才能为骄傲,例如资源共享、寄存器平衡、重守时、仿制以及再次归纳。
这个进程一个要害的方面是Certify软件把不同的FPGA简略看作规划层次中一个额定的层。这意味着该东西供给针对功用优化时序途径的共同才能,甚至当这些途径跳过多个FPGA时(Certify软件也能够供给一个时序陈述,其奉告规划者原型在硬件被编程之前能够到达的功用)。
总结
树立ASIC原型规划的必要性正在不断添加,依照体系要求其完结是“飞速”地。到达这一功用水平的最节约本钱的技能便是,树立依据FPGA的原型开发。现已证明有九分之一的ASIC规划师运用多个FPGA的原型开发板,这一趋势正在不断增加。在这种情况下,人们越来越遍及运用现成的原型开发板,这来自Synplicity的原型开发同伴之一,包含Dini集团、Hardi电子、GiDel和Altera。
当运用与来自Synplicity的Certify RTL原型开发软件时,与树立定制的原型开发板比较,这些最新技能的电路板在更低的本钱上供给了更高的功用,而且削减了产品推向商场的时刻。现成的多个FPGA的原型开发板和Certify软件的组合意味着AS%&&&&&%项目能够节约数月的验证时刻,这是在一切的器材和体系层次,答应规划团队与实在的硬件比较进行测验得出的定论,而且能够在规划进程中较早的发现难以发觉的问题。经过较早的答应硬件原型用于软件开发和体系集成,能够更进一步的缩短产品推向商场的时刻。