quatus ii------调试利器 SignalTap II简介(基于TIGER BOARD 板子)

1.为什么要用SignalTap ii:

 

在上板运行前都需要进行仿真,Modelsim 的使用可以使 FPGA 设计的许多错误扼杀在上板运行前,但这并不代表有了 Modelsim,我们的设计就天衣无缝了。实际上,在真正的上板运行时,我们还有可能遇到这样那样的问题,原因有多种: Modelsim仿真所用 Testbench 的激励输入有时不能囊括一切可能发生的情况,或者输入的信号是无法提前获取进行仿真的实时信号,或者我们在 FPGA 实时运行中需要查看某些信号等等。总之,在上板运行时,我们仍会发现各种设计问题,需要一个实时的信号分析工具获取 FPGA 内部的实时信号进行调试分析——SignalTap II 就是应这种需求而生的。

一想到数字电路设计的信号分析,可能大家第一印象就是逻辑分析仪。逻辑分析仪固然是进行信号分析的好工具,但是其本身也存在两个问题:


 价格昂贵
即使是最便宜的性能很差的逻辑分析仪,价格也要几百上千。而稍微好点的如 Agilent 等品牌的逻辑分析仪,更要上万甚至十几万,对于一个 FPGA 开发者,这简直就是天价。
 信号引出不方便
如果要使用逻辑分析仪进行信号分析,我们需要将待分析的信号通过外部引脚引出,这个过程比较不方便,如果需要引出的信号数量较多,比如说引出一个 32bit 总线,那更是很麻烦的一项工作——而且你的板子上还不一定存在那么多外部引脚。

对于 FPGA 开发者而言,

SignalTap II 的出现解决了 FPGA 设计中信号分析的难题,SignalTap II 全称为 SignalTap II Logic Analyzer,从名称上可以看出它本质上就是一个逻辑分析仪,不同的是它是免费的:硬件部分用 FPGA 内部资源实现,软件集成在了 Quartus II中。它可以对 FPGA 的输入输出管脚及任意内部信号进行逻辑分析,能迅速分析电路某些信号的运行状态和锁定设计问题,方便 FPGA 开发者对设计进行调试。SignalTap II 占用的是 FPGA 的内部资源(以 RAM 资源为主),其工作原理为:将采样的经过修改的综合门电路信号存储到内部 RAM 中,通过 JTAG 传到 PC 机上,在软件上显示供开发者观察分析。其采样深度会受 FPGA 内部 RAM 资源容量的限制,但对采样深度要求不是很高的信号来说,已经足够使用。总之, SignalTap II 这个免费的逻辑分析仪在 FPGA 开发过程中应用非常广泛,很多情况下能替代逻辑分析仪进行信号分析。下面就正式介绍 SignalTap II 的使用方法。


2.signalTap 的使用

 

为了方便介绍 SigalTap II 的使用,这里对简单的综合门电路进行简单的修改,便于用SignalTap II 分析其信号,修改后的 Verilog 代码如下图所示:

module gates(clk,rst_n,and_out,or_out,not1_out,not2_out);
input clk,rst_n;
ouput and_out,or_out,not1_out,not2_out;

reg in1,in2;

always@(posedge clk or negedge rst_n)
if(~rst_n)
begin
in1 <= 1'b0;
in2 <= 1,b0;
end
else
begin
in1 <= ~in1;
in2 <= in1?~in2:in2;
end

assign and_out = in1 & in2;
assign or_out = in1 |in2;
assign not1 out =~in1;
assign not2_out =~in2;
endmodule

 

可以看到,修改后的综合门电路没有了输入 in1、 in2,增加了时钟和复位输入 clk、 rst_n,在这个电路设计中,各个门的输入信号 in1、 in2 不再靠外部输入提供,而是电路内部自己产生,这样能方便我们使用 SignalTap II 分析信号波形。
我们创建一个 Quartus II 工程,命名为 gates,将编写完成的 Verilog 文件 gates.v 添加到工程中去,编译、分配引脚、再编译,完成工程准备。引脚分配的情况如下图所示,需要注意的是, clk和 rst_n 分配的都是 TIGER BOARD 上对应的时钟和复位输入,而四个门输出则分配给了 TIGER BOARD 上的四个 LED,其实输出的分配并不重要,因为这一章我们使用 SignalTap II 来分析信号而非观察外部现象。

3.SignalTap的使用流程

 

 

有了已经编译完成的综合门电路工程,我们就可以正式介绍 SignalTap II 的使用了。一般来讲, SignalTap II 的使用流程分为四个步骤:

创建 SignalTap II 文件、

设置 SignalTap II文件、

捕获信号、

分析信号

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值