Signal TapⅡ调试工具的使用

目录

1 、程序源码

2、Signal TapⅡ调试工具的使用流程

2.1 新建Signal Tap Ⅱ logic analyzer,并保存

2.2 Signal Tap Ⅱ logic analyzer软件界面介绍

 2.3 下载区

 2.4 选择需要debug的信号

2.5 debug信号设置区

2.6 点击下载并允许debug


Signal Tap Ⅱ全称Signal Tap Ⅱ logic analyzer,是第二代系统级调试工具,可以捕获和显示实时信号,是一款FPGA片上调试工具软件。Signal Tap Ⅱ可以选择要捕获的信号、捕获的触发方式及捕获数据样本深度,实时数据提供给工程师帮助debug。

下面以4个流水灯程序介绍Signal Tap Ⅱ的使用。

1 、程序源码

/*

程序功能:led流水灯。

state:success!!

*/

module lianxi_004(

                    input                   sys_clk                                      ,//50MHz

                    input                   sys_rst_n                                   ,//低电平有效

                    output  [3:0]   led /*synthesis keep*/           //高电平灯亮

                 );

reg [3:0]   led_temp    = 4'b0000;

reg [31:0]  counter_01      = 32'd0  ;//(*preserve*) /*synthesis noprune*/

/*synthesis preserve*/reg [3:0]     state         = 4'd0     ;///*synthesis noprune*/

//

always @(posedge sys_clk)

begin

    if(~sys_rst_n)

    begin

        led_temp <= 4'b0000;

        state   <= 4'd0  ;

    end

    else

    case(state)

        4'd0    :   begin

                        if(counter_01 == 32'd49_999_999)//1

                        begin

                            state <= 4'd1;

                        end

                        else

                        begin

                            state <= 4'd0;

                            led_temp <= 4'b0001;

                        end

                    end

                   

        4'd1    :   begin

                        if(counter_01 == 32'd99_999_999)//2

                        begin

                            state <= 4'd2;

                        end

                        else

                        begin

                            state <= 4'd1;

                            led_temp <= 4'b0010;

                        end

                    end

                   

        4'd2    :   begin

                        if(counter_01 == 32'd149_999_999)//3

                        begin

                            state <= 4'd3;

                        end

                        else

                        begin

                            state <= 4'd2;

                            led_temp <= 4'b0100;

                        end

                    end

                   

        4'd3    :   begin

                        if(counter_01 == 32'd199_999_999)

                        begin

                            state <= 4'd0;

                        end

                        else

                        begin

                            state <= 4'd3;

                            led_temp <= 4'b1000;

                        end

                    end

                    

     default: begin     state <= 4'd0;  end

    endcase

end

//

always @(posedge sys_clk)

begin

    if(~sys_rst_n)

    begin

        counter_01 <= 32'd0;

    end

    else if(counter_01 == 32'd199_999_999)

    begin

        counter_01 <= 32'd0;

    end

    else

    begin

        counter_01 <= (counter_01 + 1'b1);

    end

end

//

assign led = led_temp;

endmodule

2、Signal TapⅡ调试工具的使用流程

2.1 新建Signal Tap Ⅱ logic analyzer,并保存

操作:操作:tools →Signal Tap Ⅱ logic analyzer。

新建并保存后的结果:

 

2.2 Signal Tap Ⅱ logic analyzer软件界面介绍

Signal Tap Ⅱ logic analyzer软件界面主要关注信号选择区、信号设置区。其中信号选择区可以选择需要debug的信号及信号的触发方式。信号设置区对选择debug的数据进行设置,这里主要是系统时钟及采样深度设置。

 2.3 下载区

hardware:建立FPGA芯片和电脑之间的硬件连接。这里是:USB-Blaster[USB-0]。

device:选择板子上的FPGA芯片型号。这里是EP4CE10F17C8。

sof manager:选择sof文件(编译后会自动生成)。

 2.4 选择需要debug的信号

操作:双击“信号选择区”→在弹出的对话框中“Filter”下拉菜单中选择“Design Entry(all names)”→点击“List”→选择需要debug的信号到“selected Nodes”中。

说明:Filter中为了能选择所有定义的信号,选择“Design Entry(all names)”。

当选择的内部信号变为红色时,表示这个信号往往被优化掉了,观察不到。

此时如果需要观察该信号需要进行以下处理:

(1)对于reg型信号,在信号定义前加/*synthesis preserve*/

(2)对于wire型信号,在信号定义前加/*synthesis keep*/

这里以state信号为例:

/*synthesis preserve*/ reg [3:0]    state       = 4'd0  ;

重新编译后,内部信号红色消失:

2.5 debug信号设置区

主要设置时钟信号和采样深度(类似于示波器的采样深度)。

时钟信号一般选择系统时钟;采样深度取决于FPGA芯片的片上RAM资源,对于EP4CE10F17C8片上RAM414Kbits而言,经尝试后最大sample depth为8K。

2.6 点击下载并允许debug

点击下载后,将包含debug实时测试信息的.sof文件下载到fpga板子里面→

点击运行,即可看到下载到板子里面的实时信号。

可与设计想法相对照进行debug。

另外,也可设置信号的触发类型,比如将“sys_rst_n”设置成下降沿触发,在运行中选择连续运行,就可以在sys_rst_n按键按下的瞬间捕获该时刻的信号。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值