调试新系统设计的一个典型问题是软件算法会出现错误,但软件和GDB调试器无法看到可能产生错误的组件的内部逻辑。
例如,新系统设计可以与新板上的新定制存储器组件接口。
编写软件存储器测试以执行硬件上的标准步进,所有设置,所有清晰,随机模式等存储器测试。
当软件检查例程读回它不期望的值时,会发现错误。
问题是在软件域中可能无法确定错误是在写侧,读取侧,数据总线适配,组件接口等。这是Reveal可以提供帮助的地方。
- 创建一个Reveal Inserter项目,捕获有问题的信号,例如从组件读取数据总线。
- 使用可由软件检查例程设置的顶级信号触发器,例如驱动错误LED的GPIO网络。
- 然后,软件可以在检测到错误后立即设置该GPIO位,并触发Reveal以捕获跟踪。
- 由于数据总线活动将在触发之前发生,因此将触发点设置在捕获缓冲区的末尾(90%)。
- 这将允许您检查检测到的错误周围存在的硬件信号。
- 从该示例中,如果读取数据总线已经显示损坏的数据,则可以将监视点移动到组件的内部逻辑或FPGA I / O中,以查看数据是否进入FPGA有效或损坏。
在同时使用Reveal和MSB调试器时,以下步骤提供了最大的成功。
。使用ispVM下载设计
。将Reveal Logic Analyzer连接到设计
。启动MSB调试器
。运行检测错误的可执行程序
。在看到错误指示灯(LED输出)后,停止调试器或在LED置位后设置断点。
。在MSB完成暂停调试器并收集状态信息后,Reveal将看到触发器已发生并上传跟踪数据以进行分析
没有回复内容