我正在研究一个通过pcie连接的fpga控制器。调试硬件的唯一方法是使用chipscope。所以我通过我的驱动程序执行命令,并检查来自fpga的信号。
问题是,每当我想要检查信号以调试项目时,构建项目并将其加载到fpga中需要花费大量时间。
有没有更简单的方法来调试连接到pcie的fpga?
有没有一种方法可以模拟所有的pcie信号,而不需要运行fpga?
发布于 2014-07-25 01:41:00
您可以做的一件事是将PCIe事务的跟踪捕获到缓冲区中,然后将其读出,并在模拟期间将其作为刺激在测试台中重放。
您可以使用BRAM或可能的FPGA连接的DRAM作为缓冲区。
您可能需要一个替代路径来读取缓冲区。Xilinx有一个JTAG to AXI master,您可以使用它来读取缓冲区。或者,如果你的PCIe是稳定的,你可以这样读出来。
发布于 2014-09-25 08:17:52
正如在一些评论中提到的,您希望在模拟中而不是在硬件中进行详细的调试。通过chipscope进行调试的循环时间,确定问题,提出一组新的信号来探测、重新编译和将新代码推入FPGA。与模拟中的调试相比,这是一个非常痛苦的过程。
如果您正在尝试调试PCIe,您可以从商业供应商或可能从OpenCores获得PCIe BFM,也可以使用描述的捕获缓冲区。
如果您正在尝试调试自己的逻辑,而PCIe只是因为它是设备的接口,那么您最好编写自己的BFM,将事务驱动到内部逻辑,就好像它是PCIe核心一样。在sim中重现问题,在那里进行调试,一旦你有了良好的代码覆盖率和一套像样的通过测试,就回到FPGA。
https://stackoverflow.com/questions/24553746
复制相似问题