当前位置: 首页 > article >正文

fpga系列 HDL:Quartus II SignalTap的Create Signal Tap List File功能

Create Signal Tap List File

  • SignalTap II 需要JTAG与FPGA连接,程序在真实硬件中运行。
    在这里插入图片描述

设置

请添加图片描述

  • Filter 选择 SignalTap II: pre-synthessis 项(否则可能找不到网络标识)
    在这里插入图片描述
  • SignalTap II设置完成之后再次进行综合。

抓取

  • 保存stp后,下载程序,进行波形分析
    请添加图片描述

在这里插入图片描述

在这里插入图片描述

Create Signal Tap List File

在这里插入图片描述

  • 生成的数据示例:
Signal Legend:

Key        Signal Name

0       = top:BANK0|CS
1       = top:BANK0|STA
2       = top:BANK0|STA[2]
3       = top:BANK0|STA[1]
4       = top:BANK0|STA[0]

Data Table:

Signals-> 0 1  2 3 4

sample

-64       1 3h 0  1  1  
-63       1 3h 0  1  1 
-62       1 3h 0  1  1 
……
-3        1 3h 0  1  1   
-2        1 0h 0  0  0  
-1        1 1h 0  0  1   
0         1 2h 0  1  0   
1         1 3h 0  1  1   
2         1 3h 0  1  1   
3         1 3h 0  1  1   
……
440       1 3h 0  1  1   
441       1 3h 0  1  1   
442       1 3h 0  1  1  
443       1 3h 0  1  1
444       1 3h 0  1  1 
445       1 3h 0  1  1 
446       1 3h 0  1  1
447       1 3h 0  1  1

数据在仿真中使用

文本处理

03 00 01 01  // 去掉h字符,处理为可读数据
03 00 01 01
03 00 01 01
03 00 01 01

测试代码

module top (
    input wire clk,
    input wire rst_n,
    input wire [15:0] data_in,
    output reg [15:0] data_out
);

reg [15:0] intermediate_data;

//(* preserve *)
reg [7:0] intermediate_data; 


always @(posedge clk or negedge rst_n) begin
    if (!rst_n) begin
        intermediate_data <= 8'b0;
        data_out <= 8'b0;
    end else begin
        intermediate_data <= data_in;
        data_out <= data_in;
    end
end

endmodule
  • $readmemh("<数据文件名>",<数组名>,<起始地址>,<结束地址>)函数读取
module top_test;
    reg [7:0] memory [0:15];	 
	 initial begin
        // 使用 $readmemh 加载数据
        $readmemh("E:\\Projects\\top\\data.dat", memory);
    end
    // 信号声明
    reg clk;
    reg rst_n;
    reg [15:0] data_in;
    wire [15:0] data_out;

    // 实例化被测模块
    top uut (
        .clk(clk),
        .rst_n(rst_n),
        .data_in(data_in),
        .data_out(data_out)
    );

    // 时钟生成
    initial begin
        clk = 0;
        forever #5 clk = ~clk;  // 10个时间单位的周期
    end

    // 复位和测试序列
    initial begin
        // 初始化信号
        rst_n = 0;
        data_in = 8'b0;

        // 施加复位
        #10 rst_n = 1;  // 释放复位

        // 等待几个时钟周期
        #20;

        // 提供一些测试向量
        @(posedge clk) data_in = memory[0];
        @(posedge clk) data_in = memory[1];
        @(posedge clk) data_in = memory[2];
        @(posedge clk) data_in = memory[3];
        @(posedge clk) data_in = memory[4];
        @(posedge clk) data_in = memory[5];

        // 结束仿真
        #20 $finish;
    end
endmodule

仿真结果

在这里插入图片描述


http://www.kler.cn/a/513265.html

相关文章:

  • 【vitePress】基于github快速添加评论功能(giscus)
  • KVM创建ubuntu20.04虚机,部署K8S,再克隆出二份,做为Worker节点加入集群,通过Helm创建2个Pod,让它们之间通过域名互访
  • HTML<center>标签
  • Java基础——概念和常识(语言特点、JVM、JDK、JRE、AOT/JIT等介绍)
  • 机器学习中的方差与偏差
  • 数据结构与算法之查找: LeetCode 69. x 的平方根 (Ts版)
  • bundletool来特定设备规范的json安装aab包
  • 微服务学习-Gateway 统一微服务入口
  • Vue.js 什么是 Vue Router
  • 力扣707题——设计链表
  • QT的d指针和p指针
  • 2025/1/21 学习Vue的第四天
  • VR vs AR:哪种技术更有潜力改变未来?
  • TREE用于识别癌症基因
  • 以Python构建ONE FACE管理界面:从基础至进阶的实战探索
  • Level2逐笔成交逐笔委托毫秒记录:今日分享优质股票数据20250121
  • 1月21日星期二今日早报简报微语报早读
  • HTML 属性大全:全面解析所有 HTML 属性
  • 【大数据】机器学习----------强化学习机器学习阶段尾声
  • SQL 递归 ---- WITH RECURSIVE 的用法
  • 基于微信小程序的科创微应用平台设计与实现(LW+源码+讲解)
  • 基于低代码平台的敏捷IT方案
  • dsu模板
  • java微服务中消息队列处理中间件基础语法学习,零基础学习
  • Android RTMP直播练习实践
  • C语言基本知识