找回密码
 注册
关于网站域名变更的通知
查看: 343|回复: 1
打印 上一主题 下一主题

时序分析教你怎么看singaltap逻辑分析

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-8 13:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
时序分析教你怎么看singaltap逻辑分析

. e9 [0 h* i# l% N
6 H5 h; j8 Q' s5 M# C" w: r
module dyn_seg(
    input               clk     ,//clk_200hz
    input               reset_l ,
    input       [13:0]  data    ,
    output  reg [3:0]   seg_s   ,//用于片选的寄存器
    output  reg [7:0]   seg    //用于段选的寄存器
);
   
  
// *************************
// SIGNALS
// *************************
reg     [1:0]   cnt_show    ;
wire    [3:0]   data0       ;//  定义四个功能寄存器
wire    [3:0]   data1       ;
wire    [3:0]   data2       ;
wire    [3:0]   data3       ;
reg     [3:0]   hex         ;
// *************************
// CODE
// *************************
assign data0 = data/1000;最高位
assign data1 = data%1000/100;次位
assign data2 = data%100/10;倒数第二位
assign data3 = data%10;最低位
always @ (negedge reset_l or posedge clk)
begin
    if (!reset_l) begin
        cnt_show    <= 2'b0;
    end
    else begin
        cnt_show    <= cnt_show+2'b1;
    end
end
always @ (negedge reset_l or posedge clk)
begin
    if(!reset_l) begin
        seg_s   <= 4'b0;
    end
    else begin
        case(cnt_show[1:0])
            2'b00 : seg_s <= 4'b0001;
            2'b01 : seg_s <= 4'b0010;
            2'b10 : seg_s <= 4'b0100;
            2'b11 : seg_s <= 4'b1000;
            default: ;
        endcase
    end
end
always @ (*)
begin
00
01
10
11
    case(cnt_show[1:0])
        2'b00 : hex <= data0;
        2'b01 : hex <= data1;   
        2'b10 : hex <= data2;
        2'b11 : hex <= data3;
        default:hex <= 4'b0;
    endcase
end
always @ (negedge reset_l or posedge clk)
begin
    if (!reset_l) begin
        seg     <= 8'b0;
    end
    else begin
        case(hex)
            4'h0: seg   <= 8'b11000000;
            4'h1: seg   <= 8'b11111001;
            4'h2: seg   <= 8'b10100100;
            4'h3: seg   <= 8'b10110000;
            4'h4: seg   <= 8'b10011001;
            4'h5: seg   <= 8'b10010010;
            4'h6: seg   <= 8'b10000010;
            4'h7: seg   <= 8'b11111000;
            4'h8: seg   <= 8'b10000000;
            4'h9: seg   <= 8'b10010000;
            4'hA: seg   <= 8'b01110111;
            4'hB: seg   <= 8'b01111100;
            4'hC: seg   <= 8'b00111001;
            4'hD: seg   <= 8'b01011110;
            4'hE: seg   <= 8'b01111001;
            4'hF: seg   <= 8'b01110001;
            default: ;
        endcase
    end
end
//// *************************
//// SUBMODULE   
//// *************************
Endmodule
大家看到我用singaltap抓到的波形有时钟  计数器   片选寄存器   段选寄存器
每个寄存器的波形以及在某一段的区间内  的关系
              2813
从图上我们可以看到我抓到的波形例如2813
10100100
10000000
11111001
10110000
00
01
10
11
9 t1 P! a2 L7 z: P; F* O. w( G
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-29 22:14 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表