主要内容

hdlverifier.FPGADataReader

从生活FPGA为捕获数据MATLAB工作空间

描述

hdlverifier.FPGADataReader系统对象™与生成的HDL IP核心运行在一个FPGA板从FPGA MATLAB来捕获信号®

hdlverifier.FPGADataReader系统对象不能直接创建。使用它,运行FPGA数据捕捉组件发生器并生成您自己的自定义FPGADataReader系统对象。您可以直接使用生成的对象,或者使用包装器工具,FPGA数据捕获,设置触发条件,捕捉条件,和数据类型,并获取相关的数据。

在创建系统对象之前,你必须之前生成定制的数据捕捉组件。你还必须有生成的IP代码集成到您的项目部署到FPGA。对象通过JTAG或以太网与FPGA通信电缆。确保所需的电缆连接板和主机之间的。

一个工作流的概述,请参阅数据采集流程

请注意

或者,而不是使用一步定义的方法来执行操作系统对象,您可以调用对象的参数,就好像它是一个函数。例如,y =步骤(obj, x)y = obj (x)执行相同操作。

创建

直流= mydc创建一个定制的对象,直流从设计,捕捉数据运行在一个FPGA。mydc您指定的组件名称吗FPGA数据捕捉组件发生器工具。

属性

全部展开

如果启用了一个触发条件,但高密度脂蛋白IP核心并不检测条件,数据捕获请求超时后指定的秒数。如果数据捕获将中止,没有数据返回给MATLAB。

当你使用数据采集工具,该属性将被忽略。使用停止按钮在弹出窗口中止捕获使用该工具。

指定复发捕捉的数量。这个值必须是2的幂,不能超过样本深度。当指定样本的深度,考虑windows你计划的数量配置读取数据时,因为他们一起每个捕获窗口的窗口深度的影响。的窗口深度样本深度除以捕获的窗口数量。指定样本深度FPGA数据捕捉组件发生器工具。

例如:如果样本深度4096年捕获的窗口数量4,那么每个捕获窗口有一个窗口的深度1024年

指定引发阶段的数量。从1到这个值必须是一个整数,在那里是设定的马克斯触发阶段参数的FPGA数据捕捉组件发生器工具。当你指定马克斯触发阶段参数,考虑引发阶段的最大数量的计划配置捕获数据的触发条件。

例如,如果马克斯触发阶段4,然后NumTriggerStages可以1,2,3,或4

默认情况下,时钟周期触发时检测到的第一个样本捕获缓冲区。你可以改变的相对位置触发检测周期内捕获缓冲区。默认触发位置意味着触发发生之前捕获一些样品。你可以设置这个参数从0到一个整数窗口深度1、包容。当触发位置=窗口深度1,最后的样本对应的周期触发发生时。有关更多信息,请参见触发器

将此属性设置为真正的启用捕获在高密度脂蛋白IP核心条件逻辑。使捕获条件逻辑来使用一个条件来控制数据捕获从FPGA。高密度脂蛋白的IP核心评估捕获条件在每个时钟周期内,只捕获的数据满足捕获状态。捕获条件的更多信息,请参阅捕获的条件

依赖关系

要启用该参数,FPGA数据捕捉组件发生器工具,选择包括捕获条件逻辑

捕获模式指定为这些选项之一:

  • “阻止”——数据捕获对象块MATLAB在检索获取的数据。在捕获模式,JTAG资源分配给FPGA数据捕获或AXI经理。

  • 非阻塞的——数据捕获对象并不阻止MATLAB同时检索获取的数据。在这种捕获模式,您可以使用FPGA数据捕获和阿喜同时经理。

如果你的开发板有多个FPGA或多个JTAG连接,数据采集软件不能检测的位置FPGA在JTAG链。指定这些高级参数包含数据获取定位FPGA IP核心。

先进的董事会设置

指定这个属性如果不止一个JTAG电缆连接到主机。未指定时,对象将自动检测JTAG电缆类型,按照这个顺序:

  • FPGADataReader首先搜索Digilent对象®电缆。

  • 如果没有找到Digilent JTAG电缆,它搜索一个FTDI电缆。

  • 如果发现两个相同类型的电缆,该对象返回一个错误。指定JTAGCableName解决它。

  • 如果发现两个不同类型的电缆,将优先考虑Digilent电缆。使用一个FTDI电缆,设置该属性“FTDI”

依赖关系

要启用这个特性,FPGA数据捕捉组件发生器工具,设置连接类型参数JTAG

JTAG电缆用于数据采集、名称指定为一个特征向量。使用这个参数时,董事会与两个相同类型的JTAG电缆

依赖关系

要启用这个特性,FPGA数据捕捉组件发生器工具,设置连接类型参数JTAG

FPGA在JTAG扫描链的位置,指定为一个正整数。

依赖关系

要启用这个特性,FPGA数据捕捉组件发生器工具,设置连接类型参数JTAG

指令寄存器的长度在FPGA之前,指定为一个非负整数。

依赖关系

要启用这个特性,FPGA数据捕捉组件发生器工具,设置连接类型参数JTAG

FPGA的指令寄存器的长度后,指定为一个非负整数。

依赖关系

要启用这个特性,FPGA数据捕捉组件发生器工具,设置连接类型参数JTAG

指定JTAG的时钟频率,MHz。在Xilinx®fpga, JTAG时钟频率是33岁或66 MHz。JTAG频率取决于电缆的类型和所支持的最大时钟频率FPGA板。金宝app

依赖关系

要启用这个特性,FPGA数据捕捉组件发生器工具,设置连接类型参数JTAG

指定的互联网协议(IP)地址以太网端口FPGA板作为dotted-quad价值。设备的IP地址必须是一组四个数字组成的范围从0到255的整数,由三个点。

依赖关系

要启用这个特性,FPGA数据捕捉组件发生器工具,设置连接类型参数以太网

指定用户数据报协议(UDP)端口号的FPGA板作为一个整数从255年到65535年。

依赖关系

要启用这个特性,FPGA数据捕捉组件发生器工具,设置连接类型参数以太网

对象的功能

checkStatus 检查当前状态的FPGA数据捕获非阻塞模式
克隆 创建hdlverifier.FPGADataReader系统对象与相同的属性值
collectData 从FPGA收集获取的数据在非阻塞模式
displayCaptureCondition 显示整体捕获条件
displayDataTypes 显示所有捕获信号的数据类型
displayTriggerCondition 显示整体触发条件
isLocked 锁定状态
launchApp FPGA数据捕捉应用程序打开
释放 JTAG接口的版本控制
setCaptureCondition 为每个信号值配置比较
setCaptureConditionCombinationOperator 配置操作,将单个信号值比较组合成整体捕获状态
setCaptureConditionComparisonOperator 配置操作符比较中的单个信号值捕获状态
setDataType 配置数据类型的数据捕获的信号
setNumberofTriggerStages 配置数量的触发阶段用于捕获数据
setRunImmediateFlag 配置数据捕获立即运行没有任何触发条件
setTriggerCombinationOperator 配置操作,将单个信号值比较组合成整体触发条件
setTriggerComparisonOperator 配置操作,比较各个信号值在触发条件
setTriggerCondition 配置每个信号值比较
setTriggerTimeOut 配置最大数量的FDC IP核时钟周期内触发条件必须发生在引发阶段
一步 捕获一个缓冲的数据从高密度脂蛋白IP核心FPGA上运行
停止 停止FPGA数据捕获在非阻塞模式下执行基于当前状态

例子

全部折叠

这个例子展示了如何使用hdlverifier.FPGADataReader系统对象™捕获的数据通过JTAG连接设计运行在一个FPGA。的hdlverifier.FPGADataReader系统对象提供了一种编程方式来配置和捕获数据。生成一个对象通过使用FPGA数据阅读器系统FPGA数据捕捉组件发生器工具。然后直接使用生成的系统对象设置数据类型和触发条件和捕获数据。

生成hdlverifier.FPGADataReader系统对象

生成一个定制的hdlverifier.FPGADataReader系统对象,打开FPGA数据捕捉组件发生器通过输入以下命令在工具MATLAB®命令提示符。使用这个工具,您必须有一个现有HDL设计和FPGA的项目。

generateFPGADataCaptureIP;

这个示例使用生成的对象,mydc,定义了数据捕获两个信号。信号一个1位和信号吗B是8位。这两个信号也可以用于触发条件。样本深度是4096个样本。配置hdlverifier.FPGADataReader这两个信号系统对象操作,遵循这些步骤。

  1. 添加一行港口通过单击表添加按钮一次。

  2. 名字的第一个信号一个第二个信号B

  3. 位宽的两个信号18,分别。

  4. 指定生成的IP名称作为mydc

  5. FPGA供应商赛灵思公司

  6. 样本深度4096年

  7. 马克斯触发阶段2

这个图显示了这些工具设置。

生成hdlverifier.FPGADataReader系统对象,单击生成。一份报告显示了生成的结果。将生成的IP代码集成到现有的FPGA项目并将其部署到FPGA。该系统通过JTAG电缆与FPGA通信对象。确保JTAG电缆连接板和主机。

去的目录hdlverifier.FPGADataReader系统生成对象。

cdhdlsrc;

创建一个数据捕获对象使用生成的系统对象。

captureData = mydc
captureData =
mydc属性:
连接:“JTAG”IsConditionalCapture: 0 TriggerPosition: 0 NumCaptureWindows: 1 NumTriggerStages: 2超时:10 EnableCaptureCtrl: 0 CaptureMode:“阻塞”JTAGCableName:“汽车”JTAGCableType:“汽车”JTAGChainPosition: 0 IRLengthBefore: 0 IRLengthAfter: 0 TckFrequency: 15 MaxNumTriggerStages: 2

立即捕获数据

创建一个数据捕获对象。默认的触发条件是立即触发。缺省配置生成的对象不支持任何信号作为整体的一部分,触发条件。

captureData = mydc;

显示数据的捕获的信号类型。一个8位信号的默认数据类型uint8

displayDataTypes (captureData);
信号的名字:数据类型Capture_Window: uint32 Trigger_Position:布尔:布尔B: uint8

调用对象。捕获的数据立即从FPGA。

[Capture_Window, Trigger_Position dataOut] = captureData ();

捕获的数据返回的结构包含一个字段Capture_Window现场的信号Trigger_Position信号,为每个字段数据捕获信号捕获的对象。的dataOut结构包含字段一个4096年,它是一个矢量逻辑值,字段B4096年,它是一个矢量uint8值。

捕获数据触发事件

调试信号值附近的一个特定的事件,建立一个触发条件。触发条件可以由一个或多个信号的值比较。你可以把这些值比较,只有一种类型的逻辑运算符,一个操作符。

定义触发条件来捕获数据当FPGA检测到一个高价值一个与此同时,信号B大于7。

captureData = mydc;setTriggerCondition (captureData“一个”,真的,“高”);setTriggerCondition (captureData“B”真正的7);setTriggerComparisonOperator (captureData“B”,“>”);

显示整体的触发条件。

displayTriggerCondition (captureData);
触发条件是:= =高B > 7

调用指定的触发事件的对象捕捉数据。

[~,~,dataOut] = captureData ();

定义触发条件来捕获数据当FPGA检测到一个高价值一个同时信号的值B0 xax。在信号B,触发条件检查最左边的4位提供一个忽略了最右边的4位提供X(X表明位函数忽略)。

captureData = mydc;setTriggerCondition (captureData“一个”,真的,“高”);setTriggerCondition (captureData“B”,真的,“0 xax”);

显示整体的触发条件。

displayTriggerCondition (captureData);
触发条件是:= =高xax B = = 0

调用指定的触发事件的对象捕捉数据。

[~,~,dataOut] = captureData ();

dataOut返回后HDL IP核心检测从FPGA的信号触发条件。dataOut包含样本从周期检测到当触发条件。

捕获数据在多个触发事件

定义触发条件来捕获数据当FPGA检测到两个按顺序触发条件。

  • 触发条件1 -高价值一个与此同时,信号B等于7

  • 触发条件2 -高价值一个与此同时,信号B大于15

captureData = mydc;setNumberofTriggerStages (captureData 2);setTriggerCondition (captureData“一个”,真的,“高”);setTriggerCondition (captureData“B”真正的7);setTriggerCondition (captureData“一个”,真的,“高”2);setTriggerCondition (captureData“B”真的,15日,2);setTriggerComparisonOperator (captureData“B”,“>”2);

显示触发条件。默认情况下,函数触发阶段1中显示触发条件。

displayTriggerCondition (captureData);
触发条件是:= =高B = = 7

在引发阶段2显示触发条件。

displayTriggerCondition (captureData 2);
触发条件是:= =高B > 15

调用对象捕捉数据指定的触发事件。

[~,~,dataOut] = captureData ();

dataOut返回时,高密度脂蛋白IP核心检测触发条件设定后,触发第二阶段检测触发条件触发阶段1中设置,满足一组序列。

捕捉定点数据

一个8位信号的默认数据类型uint8,但在你的HDL设计,可以代表使用定点数字信号。捕获的数据的数据类型设置为丢给定点表示。

captureData = mydc;setDataType (captureData“B”6)numerictype(8日);

显示数据的捕获的信号类型。

displayDataTypes (captureData);
信号的名字:数据类型Capture_Window: uint32 Trigger_Position:布尔:布尔B: numerictype (1、8、6)

调用指定的触发事件的对象捕捉数据。

[~,~,dataOut] = captureData ();

dataOut结构、字段一个是一个向量的4096逻辑价值观和领域B4096年是一个矢量签署了8位定点值,与6分位。

版本历史

介绍了R2017a