Quartus II: SignalTap II Logic Analyzer的使用
嵌入式逻辑分析仪—SigbalTap II,是Altera Quartus II 自带的嵌入式逻辑分析仪,它是在线式的仿真,更准确的观察数据的变化,方便调试。此工具其实就是在FPGA中添加了一部分额外的电路来监测内部的数据,然后通过JTAG上传到PC机进行显示。在FPGA的学习,本工具的使用会有很大帮助。本文将用一个简单的程序来演示如何使用它。编写测试程序代码如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity test is
port(
clk: in std_logic;
data: out std_logic_vector(3 downto 0)
);
end entity;
architecture one of test is
signal count: std_logic_vector(3 downto 0);
signal half_clk: std_logic;
begin
data <= count;
process(clk)
begin
if(clk 'event and clk = '1') then
half_clk <= not half_clk;
end if;
end process;
process(half_clk)
begin
if(half_clk 'event and half_clk = '1') then
count <= count + 1;
end if;
end process;
end one;
编译,分配好管脚。点击Tools -> SignalTap II Logic Analyzer,得到如下界面
Quartus <wbr>II: <wbr>SignalTap <wbr>II <wbr>Logic <wbr>Analyzer的使用
点击1处设置好下载方式;点击2处设置采样时钟(程序会根据我们在此处提供的时钟来对FPGA中的信号进行采样,再传到PC机上进行显示);点击5处设置采样深度(其实就是在在程序下载后我们能看到的数据量,以2处设置的采样时钟周期为单位);点击3处设置触发信号及触发方式;双击4处添加想要观察的信号。
添加信号(2,3,4处)会弹出如下对话框,按需要进行添加:
Quartus <wbr>II: <wbr>SignalTap <wbr>II <wbr>Logic <wbr>Analyzer的使用
设置完毕后效果如下:
Quartus <wbr>II: <wbr>SignalTap <wbr>II <wbr>Logic <wbr>Analyzer的使用
从图中可以看出,我们选择了JTAG下载方式;clk作为采样时钟;采样深度为1K;用half_clk的下降沿来触发(在本例中可以不使用触发,但在实际的应用中为了观察某些信号就得添加触发,所以就添加了一个作为演示);观察的是half_clk和count的变化。
保存并编译(此处必须重新编译,因为前面的设置实际上是往工程中加入了内容),然后下载(像正常下载程序一样下载)。点击Run Analysis按钮(即下图中圆圈位置),得到结果如下:
Quartus <wbr>II: <wbr>SignalTap <wbr>II <wbr>Logic <wbr>Analyzer的使用
点击鼠标左右键来放大或缩小波形图,即可从中对逻辑进行检查。然后修改程序,直到逻辑正确为止。
为了节省资源,实际应用时应该把SignalTap II Logic Analyzer关闭,然后重新编译下载。关闭方式如下图,把勾去掉即可:
Quartus <wbr>II: <wbr>SignalTap <wbr>II <wbr>Logic <wbr>Analyzer的使用
PS:本例中的操作基于Quartus II 7.2,不同的版本可能会略有不同。
页:
[1]