电子书

第四章

基于fpga的调试与验证


部分

FPGA开发板的调试和测试设计

算法的最终测试是它是否按照硬件中指定的方式执行。使用MATLAB和Simulink,您可以在FPGA开发板上测试算法实现的各种方法。

  • 您可以将待测设计(DUT)编程到开发板中,并使用MATLAB或Simulink会话作为测试平台运行测试,允许您将硬件原型置于一系列刺激之下,同时以交互方式可视化结果。
  • 为了快速调试和测试DUT,您可以在感兴趣的内部信号上插入探针,在硬件原型测试期间捕获信号,然后检索信号以便在MATLAB中查看和分析。
  • 您可以通过对其axi4可访问寄存器的读/写访问,从MATLAB交互式地控制编程到FPGA板中的IP核。

这些方法提供不同级别的交互性和可见性,以满足您的各种测试和验证需求。

部分

使用fpga在环进行基于硬件的验证

使用fpga在环(FIL)测试,您可以使用MATLAB或Simulink中的黄金参考模型对硬件实现进行背靠背测试。

使用FIL,您可以将DUT编程到来自Xilinx、Intel或Microchip的开发板中,并像在HDL协同模拟中一样应用测试平台。MATLAB或Simulink测试台在主机上执行,向开发板传递信号或从开发板传递信号。与HDL协同仿真相比,FIL可以提供硬件加速测试。

该工具自动化了设置和执行FIL测试的所有步骤,包括使用Xilinx Vivado、Intel Quartus编译DUT®或Microchip Libero®SoC;编程开发板;通过JTAG、以太网或PCI-Express建立通信。

超过50块板支持Xilinx, Intel, Microchip和其他公司的FIL,并且您可以扩展FIL以使用自定义板。

部分

FPGA数据捕获信号

fpga在环测试有两个条件,影响它可以最有效地使用:

  • 主机和开发板之间的通信意味着DUT必须以较低的速率进行计时。
  • DUT的所有输入必须源于MATLAB或Simulink,因此输入不能来自其他开发板的输入。

当您希望快速运行测试而不局限于来自主机的输入时,可以使用FPGA数据采集(4:09)可以提供更好的选择。

使用FPGA Data Capture,您可以生成IP核来探测FPGA实现的特定内部信号,并将它们保存到本地内存中。然后可以将信号带入MATLAB或Simulink中进行查看和分析。

如果您正在使用HDL Coder来生成RTL,您可以在Simulink模型中添加测试点,以指定应该检索模型的哪些信号,而不管它们位于模型层次结构中的哪个位置。

使用FPGA Data Capture,您可以定义触发条件并指定保留的数据样本数量,以便调试硬件实现。信号可以被视为逻辑分析仪窗口,该窗口提供了用于测量和计算信号的游标和其他工具。

部分

读取和写入寄存器和DDR内存

很多时候,您需要对FPGA开发板上的可访问axi4的寄存器或内存进行读/写访问。举个例子,当你测试一个用可编程逻辑实现的新IP核时。

在这种情况下,工程师通常需要为Arm编写C代码®仅用于通过访问AXI4寄存器来测试内核。这样的C代码可以进行测试,但最终会被丢弃。

MATLAB AXI Master(40)特性使您能够从MATLAB会话读取或写入寄存器或DDR内存,使您能够扩展MATLAB分析脚本进行测试,并避免仅为测试而编写嵌入式C代码。

读取和写入寄存器和DDR内存
Baidu
map