主要内容

算法验证与费尔源块

这个例子展示了如何验证一个HDL设计快速、高效地使用FPGA-in-the-Loop (FIL)。试验台是合成与测试设计(DUT),结果是下载到FPGA板,并与费尔测试运行。使用费尔这个过程使高速测试生成和处理的刺激,结果回归模型进行分析。金宝app这个例子为一个图像处理用例执行这些任务。

需求

这个示例所需的工具:

  • 信号处理工具箱

  • FPGA设计软件

  • 一个支持的FPGA开发金宝app板及配件(ML403董事会不支持这个例子)。关于硬件支持的更多信息,请参阅金宝app金宝app支持FPGA器件FPGA验证

  • 使用以太网连接:千兆以太网适配器安装在主机上,千兆以太网交叉电缆

  • 连接使用JTAG: USB导火线I或II为英特尔FPGA板电缆和驱动程序。Digilent®JTAG电缆和司机Xilinx FPGA板。

  • 连接使用PCI Express®: FPGA板安装到主机的PCI Express插槽。

Sobel边缘检测

sobel_edge_hardware子系统是该算法合成为一个FPGA。包含图像的刺激是一个gif文件(一个停车标志)。在这个例子中FPGA内部的移动图像的算法,创建一个费尔块FPGA设计。

采取的步骤来实现这一技术在模型中fil_sobel_model。在这个模型中,gif文件包含一个查找表和一个计数器是用来扫描图像中的线条和发送他们的算法。费尔的块添加到模型与行为并行块,使直接检查FPGA对行为模型的输出作为一个简单的例子的结果分析。单击该按钮打开模型。

生成HDL代码

如果你有HDL编码器,可以生成代码使用HDL工作流顾问或“SobelEdge_FPGA”子系统配置参数界面(见HDL编码文档了解更多信息)。

如果你没有HDL编码人员,您可以使用预生成的HDL文件在当前目录中。

建立了FPGA设计软件

在使用FPGA-in-the-Loop之前,确保你的系统环境访问FPGA设计软件的设置正确。您可以使用函数hdlsetuptoolpathFPGA设计软件添加到当前MATLAB系统路径。

配置和构建FPGA-in-the-Loop

费尔向导指导您在构建FPGA-in-the-Loop所需的配置设置。用以下命令启动向导:

filWizard;

1。在硬件选项,选择FPGA开发板连接到您的主机电脑。如果有必要,你也可以定制高级选项下的董事会IP和MAC地址。点击下一个继续。

2。在源文件中,添加以下HDL文件设计源文件生成的表使用浏览

SobelEdge_FPGA。DualPortRAM_128x9b vhd。vhd DualPortRAM_128x9b_block。vhd sobel_edge_eml。vhd sobel_edge_hardware。vhd SobelEdge_FPGA_pkg。vhd u_d_ram。vhd u_d_ram_block.vhd

检查顶级旁边的复选框SobelEdge_FPGA。点击下一个继续。

3所示。DUT的I / O端口的输入和输出端口信息,如端口名称、方向、宽度和高密度脂蛋白的端口类型是自动生成的文件。端口类型,如时钟和数据,生成基于端口的名称;你可能在必要时改变选择。对于这个示例,生成的端口类型是正确的,你可以点击下一个

4所示。在Build选项,指定费尔输出文件的文件夹。您可以使用这个例子的默认值。点击构建。点击构建使费尔FPGA-in-the-Loop模拟向导来生成所有必需的文件和执行以下操作:

  • 生成一个费尔块在一个新的模型®模型金宝app

  • 打开一个命令行窗口编译FPGA项目和生成FPGA编程文件

FPGA项目编译过程需要几分钟。当这个过程完成后,系统提示您关闭命令行窗口。现在关闭这个窗口。

配置费尔块

准备FPGA-in-the-Loop模拟,遵循以下步骤配置费尔块。

1。打开模型试验台fil_sobel_model并将生成的费尔块复制到模型。

2。双击费尔块打开块面具。点击负载编程的FPGA编程文件生成的。

3所示。在运行时选项下,改变超频的因素为1。这指定每一个输入值由FPGA时钟采样一次输入更改之前的值。

4所示。输出帧大小设置为20000。

5。在费尔块面具,单击信号属性选项卡。改变数据类型对着干活布尔匹配的数据类型行为Sobel块。

5。点击好吧关闭块面具。

结果

在这个示例中提供的模型将比较结果的行为阻止与FPGA。您可以运行该模型,观察等效。你也可以观察行为的相对模拟性能仿真和费尔仿真通过创建一个新的模型只包含行为路径和另一个只包含路径与费尔块。单独运行每个模型使用:

抽搐;sim (your_model_name);toc

你可以看到费尔更快。这种速度的增加是因为只有一个费尔对20000个样本函数调用而行为模型需要20000函数调用来处理所有的数据。因此你会得到更好的性能,如果图像的大小更大。这一步总结这个例子。