FPGA数据采集
从现场FPGA捕获数据MATLAB工作空间交互
描述
的FPGA数据采集该工具从FPGA上运行的设计中捕获数据,并将其返回给MATLAB®工作区。您可以配置返回值的数据类型,指定捕获窗口的数量和触发阶段的数量,并设置触发器条件来控制何时捕获数据。
方法生成自定义数据捕获组件,然后再使用此工具FPGA数据捕获组件生成器工具。您还必须将生成的IP代码集成到项目中,并将其部署到FPGA。工具通过JTAG或以太网线与FPGA通信。确保单板和主机之间的线缆已经连接。
该工具是对生成的文件的包装hdlverifier。FPGADataReader
系统对象™。的FPGA数据采集Tool定义变量,fpgadc_obj
在工作空间中。如果此变量已经存在,则该工具将使用现有对象打开,并保存对该对象的修改。
有关工作流概述,请参见数据采集流程.
打开“FPGA Data Capture”
MATLAB命令提示符:输入
launchDataCaptureApp
.此函数是一个生成的脚本,与其他生成的数据捕获组件位于同一文件夹中。
参数
捕获数据
—何时捕获数据
立即
(默认)|在触发
默认设置,捕获立即
,忽略任何触发条件,并在单击时捕获数据缓冲区捕获数据.若要捕获包含FPGA逻辑中特定事件的数据,请配置触发器条件并选择在触发
.在这种情况下,数据捕获逻辑一直等到触发条件为真,然后捕获数据缓冲区。
当你点击捕获数据,一扇窗户停止按钮打开。如果您想取消捕获尝试(例如,如果触发条件没有发生),请单击停止将控制权返回给工具。当您中止捕获尝试时,不会向MATLAB返回任何数据。
输出变量名
—返回捕获数据的结构名称
特征向量
捕获的数据返回到基本MATLAB工作空间中的结构变量。每个信号返回的数据是的向量样本深度
值。每个信号都成为结构中的一个场。结构中的字段名与信号的名字.
使用逻辑分析仪显示数据
-在逻辑分析器中自动显示数据
在
|从
如果您拥有DSP系统工具箱™许可证,则会出现此选项。当您选择此选项时,在数据捕获完成后,该工具将打开Logic Analyzer窗口以显示捕获的数据。时间轴是在样本中测量的。游标位置指示检测到触发器的时间。
样本深度
-每个信号捕获的样本数量
2的整数次幂
该参数为只读。它反映了您在生成时指定的值。
捕获窗口的数量
—数据捕获递归次数
1
(默认)|整数的2次方
指定要捕获的递归数。该值必须是2的幂,且不能大于样本深度.在指定示例深度时,请考虑在读取数据时计划配置的窗口数量,因为它们共同影响每个捕获窗口的窗口深度。的窗口深度是样本深度除以捕获窗口的数量.指定样本深度在FPGA数据捕获组件生成器工具。
例如:如果样本深度是4096
而且捕获窗口的数量是4
,则每个捕获窗口的窗口深度为1024
.
触发级数
-提供触发条件的触发级数
米(默认)|整数,取值范围为1 ~米
指定触发阶段的数量。取值范围为1 ~的整数米,在那里米由最大触发级参数。FPGA数据捕获组件生成器工具。当您指定最大触发级参数时,考虑您计划在其中配置触发器条件以捕获数据的最大触发阶段数。
例如,如果最大触发级是4
,然后触发级数可以1
,2
,3.
,或4
.
触发位置
-触发器检测周期在捕获缓冲区中的位置
0
(默认)|整数到窗口深度1
默认情况下,检测到触发器时的时钟周期是捕获缓冲区的第一个样本。您可以更改触发器检测周期在捕获缓冲区中的相对位置。非默认触发位置意味着在触发发生之前捕获一些样本。可以设置为0到的任意数字窗口深度1、包容。当触发位置等于窗口深度-1,最后一个样本对应触发器发生时的周期。如果捕获窗口的数量大于1时,相同的触发位置应用于所有窗口。有关更多信息,请参见触发器.
触发组合算子
—创建触发条件的逻辑运算符
和
(默认)|或
该参数由逻辑门图标表示。按下改变操作符按钮切换和
而且或
.
触发条件可以由一个或多个信号的值比较组成。将这些值比较只与一种类型的逻辑运算符组合。假设有三个信号,一个
,B
,C
,构成触发条件。选项是:
A == 10和B == '下降边缘'和C == 0
A == 10或B == '下降边'或C == 0
信号
—触发组件信号名称
特征向量
该参数为只读。在生成时指定的信号名称将列在底部的下拉菜单中。单击+按钮,将信号添加到触发条件。
操作符
-在触发条件下比较信号的运算符
= =
|! =
|<
|>
|< =
|> =
要比较信号,请选择以下操作符之一:= =
,! =
,<
,>
,< =
,或> =
.比较包含以下内容的信号X
或x
(don't care value),都指定= =
或! =
操作符。
价值
-将此信号与之进行比较的值,作为整体触发条件的一部分
十进制|二进制|十六进制|低
|高
|下降沿
|前沿
|两个边
触发条件可以由一个或多个信号的值比较组成。此参数指定每个信号要匹配的值。
对于多比特信号,请在与该信号关联的数据类型范围内指定一个十进制、二进制或十六进制值。在提供十六进制或二进制值时,可以使用组合提供值X
或x
(不关心值)来启用位屏蔽。这意味着,在比较值时,触发器条件会丢弃位置值X
或x
并提供输出。
要分隔一组位以获得更好的可读性,可以使用_
位之间。例如,可以将32位二进制值表示为0 b1010_xxxx_1011_xxxx_1110_xxxx_1111xxxx
和32位的十六进制值为0 xab_cdexfx
.
为布尔
信号,选择电平或边缘条件。有关更多信息,请参见触发器.
触发超时
—在一个触发阶段中触发条件发生的FDC IP核时钟周期的最大个数
1
(默认值)|整数,取值范围为1 ~ 65535
在这么多FPGA数据捕获(FDC) IP核时钟周期内,触发器条件必须发生在启用此参数的触发器阶段。您可以根据需要指定从1到65,536的任何整数值。选择此参数可在触发阶段启用触发超时。不允许进入触发超时触发阶段1.
信号的名字
-捕获信号名称
特征向量
该参数为只读。它反映了您在生成时指定的值。此名称是结构变量中字段的名称。
位宽
-信号的比特数
正整数
该参数为只读。它反映了您在生成时指定的值。
数据类型
—捕获数据类型
内置类型|numerictype
的数据类型菜单提供与捕获信号的位宽匹配的数据类型建议。这个大小是您为生成的IP上的端口指定的宽度。您可以在此字段中键入以指定自定义数据类型。如果信号为8位、16位或32位,则默认为使用uint
.如果信号有1位,默认值为布尔
.如果信号宽度不同,默认值为numerictype(0,进行重构,0)
.