一种matlab调用signaltap采集数据的方法

posted May 4, 2014, 6:46 PM by 葉宏
http://bbs.ednchina.com/BLOG_ARTICLE_3001675.HTM

         最近,在利用FPGA采集数据,前端是通过AD采集,然后直接输出给FPGA,需要分析采集到的数据,通常的办法只能在signaltap中,右击信号列表然后点击”Create SignalTap II List File”生成数据文件,操作如图1所示,图2为生成的数据文件,处理数据时先将文件中所有数据拷贝到ultraedit中,然后通过列模式提取需要处理的那列数据,拷贝到matlab中进行后续分析处理。

 

snap1.jpg

图1

 

snap2.jpg

图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直接获取数据进行处理,免除了大量重复的手动操作,大大提高了工作效率。



Comments