本示例向您展示如何使用HDL Verifier™设置一个FPGA-in-the-Loop (FIL)应用程序。该应用程序使用Simulink®和FPGA金宝app开发板来验证比例-积分-导数(PID)控制器的HDL实现。在本例中,Simulink生成电机金宝app的期望位置,并对该PID控制器控制的电机进行仿真。
除了列出的MathWorks产品外,其他需求包括:下载188bet金宝搏
FPGA设计软件(Xilinx®ISE®设计套件,或Xilinx®Vivado®设计套件,或Intel®Quartus®II设计软件,或Microsemi®Libero®SoC设计软件)
支持的FPGA开发板之金宝app一。支持的硬金宝app件,请参见金宝appFPGA校验支持的FPGA设备.
使用以太网连接:主机上安装千兆以太网适配器,千兆以太网交叉电缆
使用JTAG连接:用于Intel FPGA板的USB Blaster I或II电缆和驱动器。Digilent®JTAG电缆和驱动器用于Xilinx FPGA板。
使用PCI Express®连接:将FPGA板安装到主机PCI Express插槽中。
先决条件:
MATLAB®和FPGA设计软件既可以安装在您的计算机上,也可以安装在网络可访问的设备上。如果您使用来自网络的软件,则需要在计算机中安装第二个网络适配器,以便为FPGA开发板提供专用网络。要了解如何安装网络适配器,请参阅计算机的硬件和网络指南。
如果您正在使用PCI Express连接进行模拟,则跳过此步骤和步骤2。如果您还没有设置PCI Express连接,请使用支持包安装软件来指导您完成PCI Express设置。金宝app
使用以下步骤来设置您的FPGA开发板。
确保电源开关没关从.
将交流电源线接到电源插头上。将电源适配器线缆插入FPGA开发板。
使用交叉网线将FPGA开发板上的以太网连接器直接连接到计算机上的以太网适配器。
使用JTAG下载线连接FPGA开发板和计算机。
确保FPGA开发板上的所有跳线都处于出厂默认位置,Microsemi PolarFire除外,因为需要特殊设置。看到安装Microsemi极化火评估套件(Microsemi FPG金宝appA板的HDL验证支持包).
如果您正在使用JTAG连接进行模拟,则跳过此步骤。为了与以太网连接,您的计算机上必须有一个千兆以太网网络适配器才能运行此示例。
在Windows®上,执行以下步骤:
打开控制面板.
类型查看网络连接在搜索栏。选择查看网络连接在搜索结果中。
右键单击到FPGA开发板的连接图标并选择属性从弹出式菜单。
下此连接使用以下项中,选择因特网协议第4版(TCP/IPv4)并点击属性.
选择使用如下IP地址:.集IP地址192.168.0.1。如果网络上的另一台计算机正在使用该地址,请将其更改为该子网上的任何可用IP地址,例如192.168.0.100。这是您的主机地址。设置子网掩码255.255.255.0。您的TCP/IP属性现在应该与下图所示相同:
在Linux®:
使用ifconfig命令设置本地地址。例如:
% ifconfig eth1 192.168.0.1
在本例中,eth1是Linux计算机上的第二个以太网适配器。检查您的系统,确定哪个以太网适配器连接到FPGA开发板。本端IP地址设置为192.168.0.1。如果网络上的另一台计算机正在使用该地址,请将其更改为该子网上的任何可用IP地址,例如192.168.0.100。
1.搭建FPGA设计软件
在使用FPGA-in- loop之前,请先设置访问FPGA设计软件的系统环境。你可以使用这个函数hdlsetuptoolpath将ISE、Vivado、Quartus或Libero SoC添加到当前MATLAB会话的系统路径中。下面给出了每个工具的示例命令行。如果是不同的,用实际的可执行文件代替。
对于使用ISE设计软件的Xilinx FPGA板,请执行以下命令:
hdlsetuptoolpath (“ToolName”,“Xilinx ISE”,“路径”,“C: \ Xilinx ISE \ 13.1 \ ISE_DS \ \ bin \ nt64 \ ise.exe”);
对于使用Vivado设计软件的Xilinx FPGA板,执行以下命令:
hdlsetuptoolpath (“ToolName”,“Xilinx Vivado”,“路径”,“C: \ Xilinx \ Vivado \ 2016.4 \ bin \ vivado.bat ');
对于Intel板,运行:
hdlsetuptoolpath (“ToolName”,Altera Quartus II,“路径”,“C: \ \ 16.0 \负责第四的\ bin \ quartus.exe ');
对于Microsemi板,运行:
hdlsetuptoolpath (“ToolName”,Microsemi Libero SoC,“路径”,“C: \ Microsemi \ Libero_SoC_v11.8 \设计\ bin \ libero.exe”);
2.打开fil_pid模型。
该模型包含一个用基本Simulink块实现的定点PID控制器。金宝app该模型还包含由该PID控制器控制的直流电机模型,以及作为输入刺激的所需直流电机位置。
现在运行这个模型,观察在瞄准镜中期望和实际的电机位置。
通过以下步骤启动FPGA-in-the-Loop向导:
打开应用程序
图库和选择费尔向导
从代码验证、验证和测试
部分。
或者,您也可以在MATLAB命令提示符中输入filWizard命令。
filWizard
设置FPGA开发板的FIL选项。
1.指定向导将生成filsimulink块还是FILSimulation MATLAB系金宝app统对象。对于本例,选择金宝app为FIL模拟金宝app仿真软件。
2.为董事会的名字,选择与主机相连的FPGA开发板。如果您的电路板不在列表中,请选择以下选项之一:
“获取更多单板…”下载FPGA单板支持包(此选项将启动支持包安装程序)。金宝app
“创建自定义板…”,为特定的FPGA板创建FPGA板定义文件(此选项将启动新FPGA板管理器)。
3.选择用于模拟的连接。可用的连接方式有Ethernet和JTAG。并非所有单板都支持这两种连接方金宝app式。
4.仅以太网连接:如果您将计算机的IP地址更改为与192.168.0不同的子网。如果默认的单板IP地址192.168.0.2被其他设备占用,请扩容高级选项然后改变单板IP地址根据以下准则:
子网地址一般为单板IP地址的前三个字节,需要与主机IP地址保持一致。
单板IP地址的最后一个字节不能与主机IP地址相同。
单板的IP地址不能与其他计算机的IP地址冲突。
例如,如果主机IP地址是192.168.8.2,那么可以使用192.168.8.3。不要改变单板MAC地址.
5.可选:如果您想更改DUT时钟频率从默认值(25MHz),您可以展开高级选项然后改变FPGA系统时钟频率(MHz).
6.点击下一个继续。
指定要在FPGA中实现的HDL设计。
1.单击Add并浏览到您在Prepare Example Resources中创建的目录。
2.在pid_hdlsrc目录中选择以下HDL文件:
Controller.vhd
D_component.vhd
I_component.vhd
这些是要在FPGA板上验证的HDL设计文件。
3.在源文件表中,选中文件行上的复选框Controller.vhd以指定该HDL文件包含顶级HDL模块。
“FIL向导”自动填充顶级模块名称字段中显示所选HDL文件的名称;在这种情况下,控制器.在本例中,顶级模块名与文件名匹配,因此不需要更改它。如果顶级模块名称和文件名不匹配,您将在此对话框中手动更正顶级模块名称。
点击下一个继续。
FIL向导解析Controller中的顶级HDL模块Controller。vhd获取所有I/O端口并在DUT中显示它们I / O端口表格解析器试图通过查看端口名称自动确定可能的端口类型,并在port Type下显示这些信号。
1.查看端口清单。如果解析器为任何给定端口分配了不正确的端口类型,您可以手动更改信号。对于同步设计,请指定时钟、复位或时钟使能信号。在本例中,FIL向导将自动正确地填充表。
2.点击下一个继续。
1.对于HDL输出control_signal改变数据类型来定点,标志来签署而且部分长度来28.这将使生成的FIL块将FPGA待测设计(DUT)的输出信号设置为正确的数据类型。
2.点击下一个继续。
1.为输出文件指定文件夹。对于本例,使用默认选项,即名为Controller_fil在当前目录下。
的总结显示FPGA工程文件和FPGA编程文件的位置。您可能需要这两个文件进行高级操作。
2.点击构建启动构建过程。
在构建过程中,会发生以下操作:
在新的模型中会生成一个名为Controller的FIL块,如下图所示。不要关闭这个模型。
在新模型生成后,FIL向导将打开一个命令窗口,FPGA设计软件将在其中执行合成、拟合、位置和路由、时序分析以及FPGA编程文件生成。
当FPGA设计软件过程完成时,命令行窗口中的一条消息告诉您可以关闭窗口。关闭窗口并执行下一步。
在fil_pid模型中,替换控制器子系统,并在新模型中生成FIL块。修改后的fil_pid模型现在如下图所示:
1.开关FPGA开发板电源在.
2.双击fil_pid模型中的FIL块,打开块掩码。
3.在打开的块掩码中,单击负载.
如果您的单板通过JTAG线缆与上位机连接正常,则会弹出提示窗口,提示FPGA编程文件加载成功。点击好吧取消这个对话框。
4.仅以太网连接:可以通过ping测试FPGA板与主机是否连接正常。启动命令行窗口,输入以下命令:
C:\MyTests> ping 192.168.0.2
如果您在设置网络适配器时更改了板卡IP地址,请将192.168.0.2替换为您的板卡IP地址。如果千兆以太网连接已经正确建立,您应该会看到来自FPGA开发板的ping应答。
1.在“FIL块掩码”中,单击信号的属性选项卡。
2.验证数据类型HDL信号的control_signal是32岁的fixdt (1 28).如果不是,那就改变它。
3.点击好吧关闭块掩码。
1.开始模拟fil_pid模型。
2.仿真完成后,在范围内查看电机期望位置和实际位置的波形。注意,FIL模拟的结果应该与您在其中进行模拟的Simulink参考模型的结果相匹配金宝app准备示例资源.