工作的原因,开始真正的去用signaltap,以前在校时,也就是随便玩玩,看看波形,找找感觉,把示波器搬到电脑上。
前几天开始要用的时候,才发现基本上参数都不懂,当时那种似懂非懂的感觉非常不爽。所以开始仔细的去看看文档,分析分析参数是什么意思。算了,闲话不多说了,开始正题:
操作过程简单如下如下:
1、完成对工程的单次编译;
2、打开signaltap图形界面,添加信号,并作相关设置;然后保存成.stp文件,添加到工程。
3、重新编译并下载到FPGA;
4、打开之前的stp文件,连接jtag就可以触发,并观察信号。
其实就是那么几步,但是当中的细节却不少:
A、对工程的编译有两种方式,一种是全编译(start compilation),另一种只是做编译(start analysis & synthesis),不做映射(mapping),这两种方式,会对应两种网络节点(node),也就是我们的信号名称,signaltap观察点的增加就是以这些node作为用户的交互信息,“全编译”后根据全编译的网表,相应的node信息选择signaltap II:post-fitting;“start analysis & synthesis”编译后,signaltap选择signaltap II:pre-synthesis;那么这两种有什么区别呢?
选择pre-synthesis:以“start analysis & synthesis”综合后的网表中的node信息做为signaltap的信息节点,并且将其添加到工程后,再次编译工程,会重新综合并重新布局布线整个工程的所有逻辑。
选择post-fitting:官方文档中给过这个node的使用场景,大概意思是当我们的工程编译完成后,下载到FPGA中,发现工程项目有问题,此时想加入signaltap来分析问题,但又不想改变之前的布局布线的结果,此时选择这个node来作为观察信息的来源,quartus会自动启动增量编译来编译增加的signaltap逻辑,保留之前的逻辑布线和布局结果。
按我的理解就是,有“预