如何用FPGA实现原型板原理图的验证
来源:电子工程世界 作者:—— 时间:2010-06-09 13:40
首次流片成功取决于整个系统硬件和相关软件的验证,有些公司提供的快速原型生成平台具有许多调试功能,但这些平台的价格非常高。
因此最流行的做法是根据DUT和具体应用设计复合FPGA板,验证这些板的原理图通常是很麻烦的,本文提出一种利用FPGA实现原型板原理图验证的新方法。
由于价格竞争越来越激烈,首次流片成功或只需少量的修改变得越来越重要。
为了达到这一目标,对整个系统(即硬件和相关软件)的验证成为重中之重。
业界也涌现了许多策略来帮助设计师完成RTL上的软件运行。这些策略提供了在最终硬件还在酝酿之时就开发软件的一种途径。
这种措施也许还不够,原因还有两个:一是仿真系统可能与实际系统有较大的区别,二是系统运行速度非常慢。因此可以考虑先将完整的设计映射到FPGA中,再运行目标应用程序。
这样做可能达不到最终硅片的常规指标,但可以测试整个硬件的功能,系统能够得到全面的验证,其中一些测试案例可能是在仿真中根本无法完成的。另外,可用于演示的完整系统原型在硅片成功之前就可以很好地引起客户的兴趣。
有些公司提供的快速原型生成平台具有许多调试功能。这些电路板平台具有可编程的互连,可以将FPGA插接在上面,并将DUT(被测设计)映射进这些FPGA中。但这些平台的价格非常高。
因此最流行的做法还是根据DUT和具体应用设计复合FPGA板。当然,这些板同样也能用于测试目标应用中的最终硅片。
验证这些板的原理图通常是很麻烦的,因为原理图中一些小错误会严重影响到设计进度。
原理图验证工作是人工完成的,因此错误也就在所难免。如果能够复用DUT验证环境验证电路板原理图,那么原理图验证就可以派上用场了。本文将讨论如何通过编写少量脚本和修改DUT验证环境达到这一目的。
图1:DUT由x86处理器、主桥(Host Bridge)、SDRAM控制器和PCI桥组成
方法简介
基本想法是设法对原理图进行仿真。这了做到这一点,先将原理图网表转换成Verilog网表。电路板上安装的不同元件(如FPGA、处理器、PCI卡、SDRAM等)要么用RTL代替,要么用RTL验证过程中使用的行为模型替代。值得注意的是,我们已假设整个设计的Verilog/VHDL代码是现成的。至于电路板上需要用于测试DUT的处理器、SDRAM、PCI器件等其它元件,也假设已经存在相应的BFM(总线功能模型)/模型。由于这一阶段是在功能验证之后,而这些元件需要用来测试DUT,并模拟整个系统,因此它们的等效行为模型应该在功能验证中已经得到使用,现在只是重复使用罢了,即经过少许的努力就能使用相同的环境和测试案例。
图2:包含x86处理器芯片、2个FPGA、SDRAM和1个PCI槽道的原型板
上述概念经过拓展就可以验证硅片生成板的原理图,基本的假设是设计团队拥有硅片的HDL描述。这才是要点所在。对于FPGA板,可以通过某种变通的方法配置FPGA引脚来克服由于原理图中的错误连接导致的问题,即设计师可以管理并解决这些错误。但对于准备用来测试最终硅片的板子来说几乎是不可能的。
上一篇:基于示波法的电子血压计系统设计