系统对象生成与费尔向导
步骤1:设置FPGA设计软件工具
第二步:开始费尔向导
在MATLAB命令窗口中,输入以下:
> > filWizard
要恢复以前的会话,使用这个命令:
filWizard (“。/Subsystem_fil/子系统_fil.mat”)
步骤3:设置费尔选项系统对象
(这个页面是费尔™系统对象。对于仿真金宝app软件®块费尔选项,看看步骤3:设置费尔选项为费尔块。)
在费尔选项页面:
费尔仿真与:选择
MATLAB系统对象
。董事会的名字:选择一个FPGA开发板。如果你还没有下载一个高密度脂蛋白校验™FPGA板支持包,看到的金宝app下载FPGA板支持包金宝app。(如果您没有看到任何板上市,那么你还没有下载支持包)。金宝app如果你打算自己定义一个自定义的董事会,明白了FPGA板定制。
FPGA-in-the-Loop连接:费尔模拟连接方法。下拉菜单中的选项更新根据连接方法支持您所选择的目标板。金宝app如果目标板和HDL验证器支持的连接,你可以选择金宝app
以太网
,JTAG
,或串行总线
。高级选项:
当您选择一个以太网连接,你可以调整董事会IP和MAC地址,如果必要的。
选项 指令 董事会的IP地址 使用这个选项设置董事会的IP地址如果没有默认的IP地址期间)(192.168.0.2。
期间)如果默认董事会IP地址(192.168.0.2使用由另一个设备,或者你需要一个不同的子网,改变董事会IP地址按照以下指南:
子网地址,一般前三个字节的IP地址,必须相同的子网主机IP地址。
最后一个字节的IP地址必须不同于主机IP地址的最后一个字节。
董事会IP地址不能与其他计算机的IP地址冲突。
例如,如果192.168.8.2主机IP地址,那么您可以使用192.168.8.3,如果可用。
董事会MAC地址 在大多数情况下,您不需要改变董事会的MAC地址。如果你超过一个FPGA开发板连接到一个主机,改变董事会MAC地址的任何额外的董事会,这样每个地址是独一无二的。你必须有一个为每个董事会独立的网卡。
改变董事会的MAC地址,点击董事会MAC地址字段。指定一个地址不同于属于其他设备连接到你的电脑。获得董事会MAC地址为一个特定的FPGA开发板,参考标签贴在黑板上或咨询产品文档。
FPGA系统时钟频率(MHz):输入一个目标时钟频率。对于英特尔董事会和Xilinx ISE-supported板,金宝app
filWizard
检查请求的频率对那些可能请求的董事会。如果所请求的频率为这个委员会是不可能的,filWizard
返回一个错误,表明另一种频率。Xilinx Vivado-supp金宝apported板,或PCI Express®板,filWizard
不能检查的频率。合成工具做出最大的努力尝试请求的频率,但可以选择另一种频率如果指定的频率是不可以实现的。默认值是25
MHz。在FPGA上启用数据缓冲:选择这个选项来提高模拟性能。选中时,费尔利用位FPGA在框架缓冲区以太网数据包处理模式。明确该参数BRAM资源稀缺时你的设计。只可用于以太网连接。
点击下一个。
步骤4:增加高密度脂蛋白源文件系统对象
(这个页面是费尔系统对象。模型块H金宝appDL源文件,请参阅步骤4:为费尔块增加高密度脂蛋白源文件。)
在源文件页面:
指定要cosimulated HDL设计FPGA。这些文件是HDL设计文件验证FPGA板上。
表示源文件通过点击添加。使用文件选择对话框中选择文件。
费尔向导试图识别源文件类型。如果任何文件类型不是你期望什么,你可以改变它的选择文件类型下拉列表。可接受的文件类型有:
硬件描述语言(VHDL)®
Verilog®
网表
Tcl脚本
约束
其他人
“他人”是指:
对英特尔来说,文件指定为
其他
被添加到FPGA的项目,但是他们没有影响生成的块。例如,您可以把一些评论自述
文件并将其包括在这个文件列表。Xilinx文件指定为
其他
可以是任何文件Xilinx ISE所接受。伊势的文件扩展名来确定如何使用这个文件。例如,如果你添加foo.vhd
并指定名单其他
,伊势会将该文件视为一个硬件描述语言(VHDL)文件。
指定哪些文件包含顶级HDL文件。
复选框的行包含高层高密度脂蛋白HDL文件模块列标题顶级。费尔向导会自动填充顶层模块名称与选定的HDL文件的名称。如果顶层模块名称和文件名称不匹配,您可以手动改变顶层模块名称的对话框。表明顶层模块名称,然后再继续。
(可选)来显示源文件的完整路径,复选框标题显示源文件的完整路径。
点击下一个。
第五步:验证DUT I / O端口系统对象
(这个页面是费尔系统对象。仿真软件金宝app,请参阅第五步:验证DUT费尔块的I / O端口。)
在DUT的I / O端口页面:
检查端口清单。费尔向导解析高层高密度脂蛋白模块获取所有I / O端口和DUT的I / O端口表中显示它们。解析器试图确定端口的端口类型名称。然后,向导将显示这些信号端口类型。
确保所有输入/输出/复位端口/时钟是我们预期的映射。如果解析器分配任何港口的不正确的端口类型,您可以手动改变的信号。为同步设计,指定一个时钟,重置,或者,如果需要的话,一个时钟使信号。这个表中指定的端口类型必须与HDL代码相同。必须有至少一个输出端口。
选择手动输入端口信息添加或删除信号。
点击再生重新加载表与原端口定义(从HDL代码)。
点击下一个。
第六步:为系统对象指定输出类型
(这个页面是费尔系统对象。模型块输金宝app出类型,请参阅第六步:为费尔块指定输出类型。)
在输出类型页面:
指定输出数据类型。向导指定数据类型。如果任何输出数据类型不是你期望什么,手动改变类型。
选择从:
定点
整数
逻辑
数据类型可以取决于指定的宽度。
您可以指定输出类型
签署
,无符号
,或部分长度
。点击下一个。
第七步:指定为系统对象构建选项
(这个页面是费尔系统对象。仿真软件金宝app,请参阅第七步:指定为费尔块构建选项。)
在构建选项页面:
指定输出文件的文件夹。您可以使用默认选项。通常默认是一个子文件夹命名的顶层模块,坐落在当前文件夹。
的总结显示的位置伊势项目文件和FPGA编程文件。你可能需要这两个文件的高级操作费尔块面具。
第八步:启动建设
点击构建启动费尔系统对象的一代。
费尔向导生成以下文件:
在
。/
文件夹,MATLAB函数命名最高级的
_fil /
,在那里最高级的
_programFPGA.m最高级的
高密度脂蛋白顶级的名称。这个文件包含的代码FPGA编程文件下载到FPGA。函数最高级的_programFPGA %加载FPGA filProgramFPGA比特流(Xilinx, / dir / mybitstream。一点',1);结束
MATLAB文件命名
,在那里最高级的
_fil.m最高级的
高密度脂蛋白顶级的名称。这个文件包含一个类定义来自hdlverifier.FILSimulation
并初始化私有属性。这个文件位于当前文件夹。下面是一个示例使用费尔向导生成的类定义文件从DUT命名
fft8
。classdef fft8_fil < hdlverifier。FILSimulation% fft8_fil is a filWizard generated class used for FPGA-In-the-Loop % simulation with the 'fft8' DUT. % fft8_fil connects MATLAB with a FPGA and cosimulate with it by % writing inputs in the FPGA and reading outputs from the FPGA. % % MYFIL = fft8_fil % % FIL syntax: % % [out1, out2, ...] = MYFIL(in1, in2, ...) connect to the FPGA, % write in1, in2, ... to the FPGA and read out1, out2, ... from % the FPGA % % fft8_fil methods: % % release - Allow property value and input characteristics changes, and % release connection to FPGA board % clone - Create fft8_fil object with same property values % isLocked - Locked status (logical) % programFPGA - Load the programming file in the FPGA % % fft8_fil properties: % % DUTName - DUT top level name % InputSignals - Input paths in the HDL code % InputBitWidths - Width in bit of the inputs % OutputSignals - Output paths in the HDL code % OutputBitWidths - Width in bit of the outputs % OutputDataTypes - Data type of the outputs % OutputSigned - Sign of the outputs % OutputFractionLengths - Fraction lengths of the outputs % OutputDownsampling - Downsampling factor and phase of the outputs % OverclockingFactor - Overclocking factor of the hardware % SourceFrameSize - Frame size of the source (only for HDL source block) % Connection - Parameters for the connection with the board % FPGAVendor - Name of the FPGA chip vendor % FPGABoard - Name of the FPGA board % FPGAProgrammingFile - Path of the Programming file for the FPGA % ScanChainPosition - Position of the FPGA in the JTAG scan chain % % File Name: fft8_fil.m % Created: 26-Apr-2012 18:18:06 % % Generated by FIL Wizard properties (Nontunable) DUTName = 'fft8'; end methods function obj = fft8_fil %THE FOLLOWING PROTECTED PROPERTIES ARE SPECIFIC TO THE HW DUT %AND MUST NOT BE EDITED (RERUN THE FIL WIZARD TO CHANGE THEM) obj.InputSignals = char('Xin_re','Xin_im'); obj.InputBitWidths = [10,10]; obj.OutputSignals = char('Xout_re','Xout_im'); obj.OutputBitWidths = [13,13]; obj.Connection = char('UDP','192.168.0.2','00-0A-35-02-21-8A'); obj.FPGAVendor = 'Xilinx'; obj.FPGABoard = 'XUP Atlys Spartan-6 development board'; obj.ScanChainPosition = 1 ; %THE FOLLOWING PUBLIC PROPERTIES ARE RELATED TO THE SIMULATION %AND CAN BE EDITED WITHOUT RERUNING THE FIL WIZARD obj.OutputSigned = [true,true]; obj.OutputDataTypes = char('fixedpoint','fixedpoint'); obj.OutputFractionLengths = [9,9]; obj.OutputDownsampling = [1,0]; obj.OverclockingFactor = 1; obj.SourceFramieSize = 1; obj.FPGAProgrammingFile = 'S:\MATLAB\demo\fft8_fil\fft8_fil.bit'; end end end
费尔向导打开一个命令窗口。
在这个窗口中,FPGA设计软件进行合成,健康,PAR和FPGA编程文件生成。
当这个过程完成后,在命令窗口消息提示您关闭该窗口。
步骤9:集成和模拟
创建系统对象
创建一个自定义FILSimulation
从类定义文件系统对象派生使用费尔向导。这个代码片段创建类的实例并初始化所有属性。
MYFIL =最高级的_fil
如果你生成费尔系统对象的HDL工作流顾问,你不太可能需要调整任何设置。如果你使用费尔向导生成的费尔系统对象,您可能需要调整一些设置。你可以调整任何可写属性使用这些方法之一:
改变属性的设置方法:
MYFIL.set (“FPGAProgrammingFile”、“c: \ \ filfiles工作”)
直接设置的属性:
MYFIL.FPGAProgrammingFile = c: \ \ filfiles工作的
编辑
直接。如果你编辑最高级的
_fil.m。m
文件,在工作区中实例化的对象,如果你这么做了。
对象属性的详细信息,请参阅hdlverifier.FILSimulation
。
加载到FPGA编程文件
你可以计划FPGA使用programFPGA
函数,或programFPGA
费尔系统对象的方法。如果你尚未执行指导硬件设置在装货前,做现在的编程文件。
programFPGA
功能:。/最高级的_fil /最高级的_programFPGA
programFPGA
方法:MYFIL.programFPGA
MYFIL
的一个实例吗FILSimulation
对象。
运行仿真
调用MATLAB代码的系统对象。
像平时一样MATLAB代码运行。确保你已经完成了指导硬件设置在开始之前。
第一次调用对象与FPGA板建立沟通。