Synplicity公司最近表示,Foundry Networks使用了其Identity RTL debugger产品快速定位在FPGA设计中的bug。在使用Identity工具的最初6周,就发现了设计中的3个错误,而每个错误都是在一天或更少得时间内被发现和定位。如果使用过去劳动力强度很大的方法,Debug将耗费10到100倍的时间。
Foundry Networks公司是为大公司和服务机构提供交换,路由和网络管理解决方案的领导供应商。产品包括:层2/3的Lan Switches,层3的Backbone Switches,层4~层7的Web Switches,和超级路由器。
据介绍,过去,Foundry使用传统的技术调试它的FPGA。传统的调试方法首先是观察出现的错误情况,再推断可能的原因。针对该情况,编写特殊的Verilog测试用例来发现bug,而且根据需要不时对测试工具进行修改,然后用测试用例和测试工具进行调试,最后,进行仿真。该过程经常要花费几天的运行时间。最好的情况是,经过几天后,bugs被找到。但是,很多情况下,测试用例被证明是错的,或者输入激励的特殊组合导致仿真过程中bug不能出现,然后,整个过程又需要重新开始,又是经过一段时间得出一个不确定的结果。
Foundry的工程师安装了Identity软件,只经过一个小时的培训,就能够熟练的使用它。然后,他们就可以使用该工具在RTL原码上调试他们的硬件原型,不用依赖于劳动强度很高的测试用例和工具,以及很耗时的仿真。使用Identity工具后,可以让FPGA自己进行分析。他们设置FPGA监控怀疑的信号,并为那些信号指定特殊的“断点”值。当触发条件满足时,bug发生前和发生后一段时间内的信号和状态信息被保存在FPGA的内存中,而且通过JTAG可以被加载。通过在标准的波形观测窗口中对这些信号进行观察,或者最多再使用相关工具,工程师可以逐渐找到bug的根本原因。
“在我们使用Identity软件的最初6周内,我们发现和定位了3个设计中的bug。” Foundry Networks ASIC开发部主管Richard Grenier说,“在每种情况下,问题都会在一天内解决。如果使用传统的test_bench的方法,将会花费10到20倍的时间。”
由于所有的FPGA都是Foundry产品的内含物,因此,使用Identity工具,为Foundry产品的上市节约了多达数周的时间。其中的一个例子是发现了已经交付的系统中的一个bug,从而减小了可能由于数周延迟带来的对顾客关系的损害。
不像其它网络公司,对于一些高价值的产品,Foundry公司使用FPGA技术并非作为ASICs的原型,而是在产品中直接使用了这些FPGA。一个原因是为了在竞争激烈的网络市场中加快产品的上市时间,另一个原因是增加了设计修改的灵活性,因为IEEE标准改变或顾客应用过程中可能暴露出前期设计中没有发现的bug都会导致设计的修改。
“在FPGA设计中使用Identity工具,两个成功的情况是,我们将关键产品上市的时间提前了数周。还有一个例子是发现和定位了一个顾客反映的bug。顾客很高兴我们能够如此迅速的解决问题。对于Foundry,保持强有力的顾客关系是很关键的。
“在明显的逻辑bug发现的过程中,Identity的开发工具也证明了它可以很好的分离出软件bug,例如对于FPGA控制寄存器的错误编程,” Grenier说,“该类错误如果使用传统的test-bench 检查,可能导致错误的测试代码反而会带来正确的结果,因此,不利于Bug被发现。”
Richard Grenier总结说:“Identity的产品是我们Foundry CAE工具的一个很好的补充。Identity使我们在发现和收敛FPGA设计中的bug上有了极大的提高。”
京公网安备 11011202001138号
