完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
随着FPGA器件体积和复杂性的不断增加,设计工程师越来越需要有效的验证方。时序仿真可以是一种能发现最多问题的验证方法,但对许多设计来说,它常常是最困难和费时的方法之一。过去,采用标准台式计算机的时序仿真是以小时或分钟计算的,但现在对某些项目来说,在要求采用高性能64位服务器的情况下,其测试时间却要几天甚至几周。这样,这种方法首先消弭了采用FPGA带来的上市时间和实施成本方面的好处。
FPGA设计和验证工程师当今面临的最大挑战之一是时间和资源制约。随着FPGA在速度、密度和复杂性方面的增加,为完成一个完整时序验证,不仅对人力也对计算机处理器和存储器提出了更多更高的要求。另外,对设计和验证工程师来说(许多情况可能是同一个人),这为在更短的时限内,以更大信心对当今的FPGA设计在第一次就可实施彻底成功验证提出了更艰巨的挑战。 |
|
相关推荐
4个回答
|
|
时序仿真的重要性
为确保设计可以工作及能连续稳定工作,当今的FPGA既需要功能又需要时序仿真。FPGA设计的复杂性在增加,而传统的验证方法论又不再有效。过去,在FPGA设计流中,模拟并非一个重要阶段。但眼下,却成为最关键的步骤之一。当采用类似Xilinx的Virtex-5 FPGA Family等更先进FPGA设计时,时序仿真就变得尤其重要。 |
|
|
|
传统的FPGA验证方法是:
1.功能模拟 在验证过程中,功能模拟是个非常重要的部分,但不应是唯一部分。当进行功能模拟时,它只对RTL设计的功能性进行测试。它不包括任何时序信息,它也不考虑由实现和优化对原初设计造成的改变。 2. 静态时序分析/形式验证 许多工程师认为为校验设计是否满足时序要求,只需进行静态时序分析。将此作为唯一时序分析方法有很多缺陷。静态分析无法发现当设计动态运行时,才能发现的任何问题。静态分析仅能显示该设计作为整体是否可满足设置和保持要求且一般仅达到施加的时序约束的水平。在实际系统中,动态因素可造成FPGA的时序违规。例子之一是块RAM(Block Ram)冲突。在FPGA器件中,随着双端口块RAM(Dual Port Block Rams)的引入,应留心避免同时读/写同一个区域,否则,读取的数据会不正确。静态分析工具将永远无法发现该问题。类似,若有被误读的时间规范(timespec),静态时序分析也将难以发现此问题。 3. 在系统测试 |
|
|
|
实际上,每位工程师都依赖该方法进行最终测试。若设计能在板上工作且通过了各种测试,则该设计就将被发布。这肯定是个非常好的测试,但它也许没能发现全部问题。有时,在一些边界情况(corner-case)被发现前,设计需运行相当长的时间。诸如时序违约等问题并非在所有芯片中都以相同方式显露出来。当发现这些问题时,设计通常已交到用户手中。这意味着为找出此问题所导致的高成本、停工期和挫折感。为能正确完成在系统测试,必须清除全部硬件故障,其中包括与SSO相关的问题、交叉干扰以及其它与板卡关联的问题。若在启动在系统测试前,有需要连接的外部接口,则将延缓产品的上市时间。
从上可知,传统的验证方法不足以进行完整的系统验证。有充足理由进行动态时序分析。 时序仿真是可在其中进行动态分析的唯一方法。许多工程师有令人信服的理由拒绝进行时序分析。一些主要担心问题是: 它很费时; 为执行验证,需要大量存储器和处理器资源; 为没有办法重复使用取自功能模拟的测试基准,必须创制新测试基准; 为因为整个网络表是展开的,所以设计调试成为一件琐事,另外,没办法及时定位问题所在; 为时序仿真显示最坏情况的数量,设计本身可能足够超脱,不至于如此兴师动众; 为并非所有子模块都是在一个环境下进行编程的; 为无法将在各个不同场所编程的部分分开,因为这些部分的设计师应是那些为能进行验证从而对设计有更深刻把握的人。 这些都是正当的关注,这也就是为什么下一节将讨论工程师能做些什么以克服其中某些问题的原因。 |
|
|
|
在时序仿真中采用Netgen以获得精准结果
Xilinx提出了一种革命性方法以从Netgen中得到用于动态分析匹配的静态时序分析数和时序数。与-pcf 开关一起运行Netgen并指向一个有效PCF文件将确保得自Trce和Netgen的数将互相匹配。 在时序计算时,所有新Xilinx架构都利用了相对最小数(Relative Minimums)的好处。利用相对最小数意味着在设置计算以及相反的保持计算时,将采用最大时钟延时和最小数据延时。目前的模拟器不支持使用相同SDF文件中分别取自MIN域和MAX域的数。基于该限制,Xilinx需要两个不同的模拟-- 一个用于设置,另一个用于保持。 Netgen编写SDF 文件,所以,当运行SDFMAX模拟时,将利用最大时钟延时和最小数据延时。SDFMAX保证设计能满足目标器件的设置要求。当运行SDFMIN模拟时,利用最小时钟延时和最大数据延时。SDFMIN保证设计能满足目标器件的保持要求。 改进时序仿真体验 当描述时序仿真时,“总体大于部分的总合”这样一句常语几乎可被反过来说成:“部分的总合大于总体。”后一句话总结了本节所要阐释的内容。为缩短时序仿真所用的时间,我们将不得不依靠“分割后各个击破”的方法。对一个大的展开网络表来说,完成任何形式的验证都将是件费时和枯燥的任务。因此,采取的措施是将网络表分割为多个小部分。 该方法论并非是数字逻辑领域的一场革命,它是一种渐进的沿革。自从HDL出现后,设计师一直喜欢采用基于部分组件的模拟而非整个大设计。问题是,没办法将此手段引入时序仿真。这与在FPGA实现中,在保持层次中所取得的进展不再一样。其基于的理念很简单。许多设计创生于若干更小模块,而验证在各个子模块层次进行。 |
|
|
|
只有小组成员才能发言,加入小组>>
2894 浏览 3 评论
27697 浏览 2 评论
3472 浏览 2 评论
3982 浏览 4 评论
基于采用FPGA控制MV-D1024E系列相机的图像采集系统设计
2332 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 15:13 , Processed in 0.662317 second(s), Total 83, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号