利用现成FPGA开发板进行ASIC原型开发
时间:11-08
来源:互联网
点击:
2004年12月在一项由Synplicity公司委托的调查中,全世界超过20,000名开发者被询问关于他们的硬件辅助ASIC验证策略。其结果表明今天1/3的ASIC设计者采用FPGA原型进行验证。
即使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的复用。)在这一复杂度上,噪声的处理问题和信号完成性问题要求很高的知识和经验水平。这一水平的电路板完全超过了今天现成的自动布线工具能够找到解决方案的能力的一至两个数量级;所以,每个管脚是“手工挑选”,并且每条路径是“手工连接”——没有使用自动布线(除了该电路板周围的外围设备之外)。
即使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 DSP SoC 嵌入式 仿真 电路 USB 电子 Verilog VHDL Altera 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)