最近,在利用FPGA采集数据,前端是通过AD采集,然后直接输出给FPGA,需要分析采集到的数据,通常的办法只能在signaltap中,右击信号列表然后点击”Create SignalTap II List File”生成数据文件, *** 作如图1所示,图2为生成的数据文件,处理数据时先将文件中所有数据拷贝到ultraedit中,然后通过列模式提取需要处理的那列数据,拷贝到matlab中进行后续分析处理。
图1
图2
上述 *** 作方法过程比较繁琐,主要是手动 *** 作比较多,如果需要采集的数据较多,则需要多次重复 *** 作,真是体力活儿啊,难免然 *** 作者产生厌烦心理。下面介绍一种通过matlab直接调用signaltap采集数据的方法。
在matlab端只需要一下语句:
addpath (‘d:/altera/11.0sp1/quartus/bin’);
din = alt_signaltap_run(‘stp1.stp’,‘signed’);
alt_signaltap_run(‘END_CONNECTION’);
其中addpath语句是将quartus软件路径加入进来;alt_signaltap_run语句执行数据的采集工作,当然此时对应的*.sof文件应该已经下载到FPGA中了,’signed’返回的是有符号数据;alt_signaltap_run(‘END_CONNECTION’)语句表示断开由matlab建立的jtag连接。
采用此方法,无需打开signaltap,matlab直接获取数据进行处理,免除了大量重复的手动 *** 作,大大提高了工作效率。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)