智能调试与综合技术隔离FPGA设计中的错误浅析
2014-01-21 来源:电源网
如果您的FPGA设计无法综合或者没能按预期在开发板上正常工作,原因往往不明,要想在数以千计的RTL和约束源文件中找出故障根源相当困难,而且很多这些文件还可能是其他设计人员编写的。考虑到FPGA设计迭代和运行时间的延长,设计人员应该在设计流程的早期阶段就找出可能存在的诸多错误,并想方设法重点对设计在开发板上进行验证。
在特定条件下采用更智能的技术来隔离特定错误,找到问题电路的源头并渐进式修复错误,这很重要。为了节省时间,您可以对时钟、约束和模块级接口进行初步设置检查以确保符合设计规范,这样就不必在综合与布局布线(P&R)时浪费大量时间。
Synopsys公司的Synplify Premier 和Synplify Pro FPGA设计工具以及Identify RTLDebugger 等产品能帮助设计人员完成上述工作。这些工具的特性使得设计人员能快速隔离错误,有效缩短运行时间,并减少开发板启动所需的迭代次数。
精确找到开发板上的问题
如果开发板出现明显的功能性错误,要缩小查找问题根源的范围可能会相当困难。为了进行设计调试,我们应当创建附加电路并保留某些节点,以便我们对设计运行时得到的数据进行探测、检查和分析。下面我们就看看如何用板级调试软件来查找错误。
按下列四步法并利用RTL调试器,您能精确查找问题,并对信号和关注的条件采样,然后将观察结果关联至原始RTL,从而将问题锁定在RTL规范或约束设置范围内。
第一步:指定探测。在RTL中明确要监控哪些信号和条件。在此要声明您所感兴趣的观察点(要观察的信号或节点)和断点(RTL控制流程声明,如IF、THEN 和CASE 等)。
第二步:通过探测构建设计。利用附加的监控电路——即用于根据您的监控要求捕捉并导出调试数据的智能内部电路仿真器(IICE)——对FPGA设计进行综合。
第三步:分析和调试。设计综合完成之后,运行设计并用RTL调试器观察数据。在开发板上运行测试时,观察点和断点共同触发数据采样,使您能在您所关注的非常明确的条件下观察并调试特定节点的电路的行为。您可将观察到的采样数据写入VCD 文件并将其关联到RTL。
第四步:渐进性修复错误(incrementaLfix)。一旦找到了错误所在,就可以通过分级、渐进式流程在RTL或约束中渐进地进行修复。
- MathWorks 和 NXP 合作推出用于电池管理系统的 Model-Based Design Toolbox
- 意法半导体先进的电隔离栅极驱动器 STGAP3S为 IGBT 和 SiC MOSFET 提供灵活的保护功能
- 全新无隔膜固态锂电池技术问世:正负极距离小于0.000001米
- 东芝推出具有低导通电阻和高可靠性的适用于车载牵引逆变器的最新款1200 V SiC MOSFET
- 【“源”察秋毫系列】 下一代半导体氧化镓器件光电探测器应用与测试
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- 艾迈斯欧司朗发布OSCONIQ® C 3030 LED:打造未来户外及体育场照明新标杆
- 氮化镓取代碳化硅?PI颠覆式1700V InnoMux2先来打个样
- 从隔离到三代半:一文看懂纳芯微的栅极驱动IC