(多图) 用智能的调试与综合技术隔离FPGA设计中的错误
时序和功能性错误的可视检查
FPGA设计和调试工具还有一大优点,就是能显示RTL和网表级原理图。举例来说,具有互动调试功能的原理图查看器能够显示设计的RTL和网表原理图,便于您进行观察并将时序报告和VCD 数据(设计在开发板上运行时产生)关联至RTL源文件。查看器包含一个RTL视图,用来以图示的方式描述设计。该视图在综合RTL编译阶段后提供,由技术独立的加法器、寄存器、大型多路选择器和状态机等组件构成。通过RTL原理图,您可以交叉探测原始RTL,对不符合预定规范的设计进行调整,同时也可以探测到约束编辑器,从而更简便地更新和指定约束(图1)。
要将错误操作的源头追溯到RTL,您可以利用RTL调试器在RTL原理图上方实时插入观察到的操作数据。
原理图查看器包括一个网表级技术视图,用于显示综合后的实际设计实现情况。在HDLAnalyst 原理图查看器中,该视图基于查找表、寄存器和DSP slice 等基本的赛灵思器件原语。您可在原理图中对路径进行交叉探测,追溯到原始的RTL以及综合后和布局布线后的最终时序报告,以便分析和提高整体性能。
在FPGA中原型设计的ASIC 门控时钟结构并非FPGA实现中的必要环节,这会导致FPGA资源使用效率低下。解决该问题的有效办法就是用FPGA综合软件转换时钟。
大型设计的调试
在大型设计中探测所有信号是不可能,因为生成的数据量极为庞大,而且探测数据所需的额外调试逻辑也太大。片上调试方法的一个常见弊病是难以提前预测需要对哪些信号进行探测和监控。
一些调试软件通过分治法能够在一定程度上解决这个问题。利用多路复用的采样组,设计人员可以有选择性地进行采样并通过多路复用的路径和共享的IICE 在信号组之间切换。这种方法增加了可观察的信号和条件,而且不会增加数据存储要求。您可以即时切换感兴趣的信号组,不必花时间进行重新调整或重新综合新的设计。
不幸的是,在探测和采样数据时用使的调试IICE 逻辑会占用包括存储器BRAM 在内的芯片资源。您可在SRAM 存储卡中对IICE 采样数据进行片外存储,以减少片上BRAM 的使用。这种方法的另一个好处是能增加采样数据的深度。
【分页导航】