集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2712|回复: 0

基于定制FPGA的仿真器可加速IC设计

[复制链接]
小泡泡 发表于 2010-4-23 12:37:19 | 显示全部楼层 |阅读模式
新一代的仿真器中集成了定制FPGA,这种仿真器进行了优化设计,对现在的IC设计和验证正产生很大的影响。定制FPGA使得新的结构在功能上具有很大的扩展性,并结合了特殊的调试逻辑,具有比现行的FPGA仿真器更快的仿真和编译速度。在定制的FPGA中可建立规则的分层结构,这意味着可以在单个工作站上对设计进行编译而速度比传统的仿真器快5到20倍。通过在FPGA中内置逻辑分析器开关矩阵,省去了基于普通FPGA的仿真器在对检测点重新编译需要的大量时间。这些性能的提高可以成倍地提高调试效率。



当今IC的强大性能促进了一大批新产品的出现,并且这些产品的功能更强大、价格适中并易于应用。但是随着这些进步而同时带来功率和复杂度的巨大增加也使得设计、验证和最终的芯片定型过程相当复杂。深亚微米(DSM)工艺技术使得在芯片上构造更多的门电路成为可能,并能够实现包含各种IP以及存储器和软件的系统级芯片(SoC)。当然,所有这些逻辑功能模块必须无故障地长期协同工作。当一个设计进入生产阶段时,设计必须十分可靠,并确保所有的可能故障都已经排除,这个芯片能与系统协同工作,并能够满足需要的功能和性能。



在目标环境中测试设计



电路在线仿真技术正是为了解决上述问题。设计工程师采用专用的仿真软件将设计映射到可重编程的电路中,从而快速创建芯片设计的硬件模型。电路在线仿真器通过将电路分块,再把所有的块编译成数百个链接在一起的FPGA来仿真一个复杂IC的运行。最后得到的虚拟硅芯片与实际硅芯片的时序一致、功能相同,可以加入正在设计的系统中运行真正的软件。在许多应用中,不可能提前确定所有的特殊情况或最坏情况并进行测试,而由于电路在线仿真能在目标环境下测试,不存在这样的问题。这种方法相比软件仿真有重要的改进,软件仿真太慢而无法验证实际芯片的所有复杂功能,尤其对复杂的芯片,它无法模拟芯片与其他系统部件和软件之间的复杂关系。



采用电路在线仿真,设计工程师能够发现错误并立刻改进,能够观察芯片设计在其目标环境中的运行情况,甚至能在开始IC设计之前进行系统集成。仿真能够大大缩短设计的面市时间,并避免了硅片重新生产而带来的损失,降低了开发成本。



到目前为止,电路在线仿真器采用现行的商用FPGA作为构造模块,因为商用FPGA的生产批量大,生产成本很低,能提供很高的性价比。但是,在最近几年,商用FPGA的市场开始偏离了仿真的要求。






调试中的问题



商用FPGA的容量增长很快,但I/O数与门数比下降,编译时间增加。这对在商用FPGA上集成一个完整设计具有重要意义。但是,当把一个很大的设计映射到仿真器中进行验证时,这个设计被划分成数百个FPGA,器件互连所需要的I/O管脚数就成为限制容量的一个重要因素。将芯片中原始的门电路数增加200倍,仿真中可用的门电路数只能增加5倍 。



其中一个问题是在传统的FPGA中实现仿真器所要求的调试功能需要由触发器构造的扫描链结构,触发器按时序将数据从芯片传送到逻辑分析器中。这一功能在商用FPGA中占用大量的逻辑,从而减少了传统仿真器的性能,增加了成本。在仿真中可监测到的信号数量是有限的,为了改变被监测信号(在调试阶段这是经常需要的),仿真器需要重新进行编译。由于需要对包含那个监测点的FPGA进行重新编译,仅变动一个检测点将平均需要30分钟。



建立于传统FPGA的最先进的仿真器能提供一种具有完全内部可视的模式,可检测电路中的每个信号,但是通常占用达到30%的逻辑资源。



另一个问题是提供100%内部可见度的开销使信号的采样速率减小到500 kHz,因此限制了这种模式的应用场合。



以前,仿真需要寄存器传输级(RTL)到门级的映射,在进行每个设计之前采用一种硅综合工具将RTL转换为逻辑门和触发器的网表,这一过程至少需要1天;接下来是仿真映射,将门电路设计分解到数百个FPGA大小的逻辑块中;最后一步是将设计的每一部分编译到独立的FPGA中。



几年之前出现了一种新的RTL到门级映射工具,它专为仿真而优化并大大提高了在集成RTL调试环境中的运行速度,其高效率的原因在于它们不是为生产商用质量的硅片而设计的,而仅仅是为了实现功能和更快进入仿真而设计。这些新工具支持Verilog和VHDL语言,并能在获得RTL设计时就开始进行仿真。在典型的110万门的网络设计中,采用5台工作站的全部编译时间从传统方法的32个小时缩短到采用新工具的5个小时。



FPGA编译占用了编译所需的大部分时间,这些时间用于优化门的数量。传统的FPGA具有十分不规则的配置,例如,单元之间会有许多不同类型的连线。在这种不规则网络上编译一个仿真电路相当困难,需要大量的计算。而在商用FPGA应用中这不是主要问题,因为许多设计只需要1或2个FPGA,而且每星期编译1次或2次,但对仿真而言,每天都要对设计频繁地编译,而且要对几百个FPGA编译。这样的结果是需要经常耗费大量的时间和金钱采用大批的工作站或PC进行编译和仿真,增加了设计成本,而且编译工作只能在计算资源允许的情况下不定期地进行。



定制FPGA技术



基于定制FPGA技术的仿真器能够克服上述所有问题。FPGA的结构可根据仿真需要进行设计,而不是为构造SoC而设计。例如,采用定制的FPGA能使构造规则、一致的交叉条(cross-bar)连接结构成为可能。在最低级,逻辑单元类似于传统FPGA中的可配置逻辑块。其中一个差异是定制FPGA中使用6输入查询表,而传统FPGA使用4输入查询表。6输入查询表在完成复杂的仿真任务时更为有效,通常只采用一个单元就能完成在传统FPGA中需要2个单元才可完成的功能,这本身就提高了器件的仿真能力。若干独立的单元组织成同一级的L0逻辑块,L0逻辑块又组织成同一级的L1逻辑块等等(图)。



传统FPGA和定制FPGA之间另一个重要的差异是在定制FPGA中所有的逻辑块是互连的。在 Mercury Plus 电路在线仿真系统所采用的定制FPGA中,逻辑块L0与一个交叉条矩阵相连形成一个逻辑块L1;这种结构在FPGA中复制,逻辑块L1通过交叉条互连形成逻辑块L2的统一结构;同样,2级结构也在器件中复制并与一个交叉条矩阵互连。这种结构专为费时的编译任务而优化,而没有像过去那样占用额外的门。被仿真电路中较高级上的逻辑块可自然地适配到FPGA中较高级的逻辑块中。同样,每一个高级的逻辑块可根据电路功能自然地划分为较低级的逻辑块并与相邻的交叉条互连。



层次化的横木结构还提供了器件中一致的、容易预测的时延,大大减小了电路布线过程中的计算困难。这种新的结构意味着任何逻辑级之间、同一级的任何逻辑块之间以及不同级的逻辑块之间均具有固定的时延,能很容易地计算器件中任何两个逻辑单元之间的时延,只需用很少的计算进行性能优化。交叉条的长度相同意味着块的位置不同并不会对时延有太大的影响。



网络结构产生的结果是编译时间可缩短一个数量级以上。例如,编译一个110万门的网络设计需要的时间可从5个工作站上的5小时缩短为3个工作站上的1.1小时,从而可以减少大批的工作站或PC。通常,百万门级的设计可在不到1小时的时间内完成编译。设计工程师在一台或两台工作站上编译大型设计比采用仿真器对基于通用FPGA设计编译的速度快5到20倍。在许多情况下,编译工作可以在任何时刻进行,不需要通宵达旦的等待,甚至允许多个编译在一天内进行。



内置I/O多路技术



定制FPGA具有很高的管脚与门数比。一种新的设计采用了一个基于硬件的二选一I/O多路复用环以及大量的可配置逻辑块,有效管脚数加倍,同时可使用的门电路数增加了三倍。这些特点使基于定制FPGA的系统的有效容量增加到2,000万ASIC门。



定制FPGA在Mercury Plus 电路在线仿真系统中的使用也使得构造一个基于硬件的逻辑分析器成为可能,而如果在现行的FPGA中实现将占用大量逻辑资源。这种逻辑分析器由一个开关矩阵构成,能够记录被仿真电路中包括I/O在内的任何信号。



在芯片上的每一个逻辑分析器管脚上可复用多达64个信号,当然完成这种复用所需的时间排序使逻辑分析器的速度有一定的下降。用户可选择经过每一管脚进入多路交换器的信号数量(最多可达64)来确定分析器速度降低的程度。用来触发逻辑分析器的事件检测器(event detector)也集成在硅片中,避免了将信号引到芯片外。基于定制FPGA的仿真器能在任意时刻确定每个信号在被测试系统中的当前状态。通过内置在FPGA中的逻辑分析器,设计工程师能够立即改变检测点,避免编译检测点需要的过长延迟。开关矩阵能够在运行时重新将信号分配到管脚上,省去了调试过程中通常最为耗时的一步。



高仿真速度能避免很多问题



当进行仿真时,你不得不把实际的运行速度放慢到仿真器的速度。这通常不是问题,但如果超出某一限度将产生异常,从而无法精确仿真器件。采用定制FPGA能够将逻辑分析器的速度提高到2MHz,同时仍然保持100%的可见度。这一速度可对任何器件进行精确仿真,消除了通用FPGA的局限并能对每一个仿真实现真正100%的内部可见度。从而使调试效率得到很大的改善。



采用定制FPGA还有可能提供一些像设置、强制设定和释放一些诸如触发器或寄存器等存储单元的功能,而无需对这些单元进行编译。例如,在运行时,触发器或寄存器可设置或锁定为“1”或“0”,或者释放到原来状态。如果在基于现行FPGA的仿真器中实现这些功能,必须重新编译包含这些存储单元的FPGA,大约需要30分钟,无需延迟就可完成这些功能的特点大大提高了调试速度。在调试过程中,设计工程师经常对产生的问题感到很棘手,但是必须找到解决问题的方法。最好的方法通常是强制性地将信号值设为期望的值,这比改变实际设计的解决方法要快很多。你不必在某一时刻增加关断信号的门,而只需要将仿真运行到那一点并强制信号为“0”,看看是否能解决存在的问题。



基于定制FPGA的电路在线仿真器能够在几分钟内完成工作,大大地提高了调试速度。采用具有立即改变检测点能力的完整逻辑分析器、时间检测器和管脚多路复用技术,设计工程师能够立即改变检测点,避免了重新编译检测点所需的过长的延迟。



本文总结



定制FPGA消除了实现100%内部可见度对采样频率、深度和容量的限制。另外,在仿真器中还有其它几个与定制FPGA并不直接相关的性能改进,新的软硬件结构将检测数据的上传时间缩短了10倍。离线调试使得设计团队能够比以前更加有效地共享一个仿真器,大型团队对仿真器的使用效率提高了3到10倍。与采用传统仿真系统1天解决1个问题相比,这些改进使得在1天内可能查找并解决2到3个问题。



总之,从标准FPGA向专为仿真而优化的硅结构的转化能提供更高的性能和容量。新一代基于定制FPGA的电路在线仿真器能够通过提高编译速度和调试效率大大增加每天的设计循环次数。



定制FPGA的采用还提高了新一代电路在线仿真器处理未来大规模芯片的能力,同时保持以前仿真器的高精确度建模能力。这些优点结合起来可构成能大大缩短设计周期并提高整体设计效率的系统。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 00:25 , Processed in 0.091916 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表