FPGA零基础学习精选|Signaltap逻辑分析仪使用教程

原创 FPGA技术江湖 2022-09-19 07:14

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。


本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。

系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。后续会陆续更新 Xilinx 的 Vivado、ISE 及相关操作软件的开发的相关内容,学习FPGA设计方法及设计思想的同时,实操结合各类操作软件,会让你在技术学习道路上无比的顺畅,告别技术学习小BUG卡破脑壳,告别目前忽悠性的培训诱导,真正的去学习去实战应用。话不多说,上货。


signal tap 逻辑分析仪使用教程


作者:郝旭帅  校对:陆辉


在之前的设计开发时,利用modelsim得出中间某单元的数据,并且输入也是设计者在testbench中自己给出的。但是,实际应用时,外部输入的信号不一定和我们在testbench中所描述输入的信号相同,就有可能导致RTL仿真成功,但是下板测试失败。


signal tap logic analyzer 采集并显示FPGA设计中的实时信号行为,从而无需额外的I/O管脚或者外部实验室设备即可检查正常器件操作期间内部信号的行为。


在数据获取期间,器件中的存储器模块存储采集的数据,然后通过JTAG通信电缆将数据传输到逻辑分析仪。


下图为signal tap logic analyzer的任务流程。


  • 设计要求

利用逻辑分析仪测量出电脑发送UART(波特率为115200时)是每bit时间宽度。


  • 设计分析

在UART协议中规定了每bit的时间宽度应该是1秒钟除以波特率,但是在实际电路中相同标号的两个晶振也会有一定的误差。我们可以利用逻辑分析仪(也就是利用FPGA的时钟)去测量一下PC发送UART时的bit时间宽度。

由于波特率为115200,在采样时,一般采用16倍频采样。此时采样频率比较高,由基础的50MHz的时钟不能够做出精确的16倍频,由此也会带来一定的误差。

利用逻辑分析仪就可以看到在上述两个都有误差的情况,真实采样的偏差,以及偏差对我们的设计是否有影响。


  • 设计实现

将_9_uart_drive 复制一份,命名为_10_uart_drive_signal_tap。然后打开此工程,将波特率修改为115200。

点击tools -> signal tap logic analyzer。



在右侧窗口signal configuration中,首先需要指定一个采样时钟信号。

 


逻辑分析仪在采样时钟的每个上升沿进行数据采样。逻辑分析仪不支持在采样时钟的下降沿进行数据采样。设计中的任何信号都可以用作采样时钟。但是,为了获得最佳的数据采样结果,请使用与被测信号同步的全局时钟。

在本设计中,所有的信号都是由外部的clk信号进行驱动的,所以此采样时钟,选择为clk。点击clock对话框后面的三个点。将filter选择为pin:all,点击list,在matching nodes中选择clk,点击“大于”,在nodes found中出现clk,然后点击ok。




配置完采样时钟信号后,需要配置采样深度。

针对被采样的数据中的每个信号,采样深度指定了采样和存储的样本的数量。在器件存储器资源有限的情况下,由于所选的深度太大,设计可能无法编译。此时需要降低采样深度以减少资源使用。

采样深度乘以采样的间隔就确定了采样的时间宽度。现在我们要做的是采样一个UART的协议帧,一个协议帧共有12个bit。按照115200的波特率,采样的时间宽度应该是104166ns,所以采样深度应该是5208,在此选择采样深度为8K。

 


当确定好采样深度后,可以指定逻辑分析仪在触发事件之前和之后 采样的数据量。

逻辑分析仪提供三种选择。Pre表示12%的存储深度用作触发事件之前,88%的存储深度用作触发事件之后;Center表示50%的存储深度用作触发事件之前,50%的存储深度用作触发事件之后;Post表示88%的存储深度用作触发事件之前,12%的存储深度用作触发事件之后。

在此选择Pre。


配置好这些信息后,开始添加需要观测的信号。

在setup界面,在空白界面双击,添加想要观测的信号。


需要观测的信号有uart_txd、uart_rxd、cap_cnt。

uart_txd和uart_rxd为端口信号,选择filter时,选择PIN:all即可,cap_cnt为内部信号,选择filter时,选择signal tap :pre-synthesis。

将uart_rxd的下降沿设置为触发条件。

在uart_rxd的trigger conditions的位置,右击,选择falling edge。



点击保存,保存到qprj,命名为stp1.stp。

使能逻辑分析仪。点击Yes。


回到quartus界面,进行综合分析并形成配置文件。

在工程向导的结构界面,可以看到在结构中出现了两个未知的组件。这两个就是逻辑分析仪。


在报告中,可以看到使用的逻辑资源和存储器资源增多。


回到signal tap界面,并且连接PC和开发板。

在hardware中,选择USB – blaster。


点击sof manager后面的三个小点,选择生成的sof文件,然后点击下载。


点击运行分析。


此时逻辑分析仪就在等待被触发。


触发条件为uart_rxd的下降沿,打开串口助手,配置好后,发送一个数据11。


发送之后,逻辑分析仪中出现了波形。因为发送为11,发送数据从低位开始,故而第一个数据应该为1。所以第一端低电平为起始位,可以通过采样的数字标号,确定它的时间宽度。


左键是放大,右键是缩小。

左侧为0,因为利用下降沿作为触发条件。放大左侧数字为434。

 

所以起始位的时间宽度为434x20ns,即8680ns。按照波特率为115200计算,每一个bit的时间宽度应该是8680.5556ns。这就证明PC发过来的bit的时间宽度和我们所预想的是一致的。

可以用此方法测量其他的bit的宽度,有的bit的宽度要比8680ns要少,有的bit的宽度要比8680ns要多,但是偏差不多。

由于真正的宽度和我们认为的宽度有一定的区别。但是设计是按照每个bit的宽度都是20ns的整数倍,所以在采样时,就会有偏差。通过cap_cnt可以看出来,并且随着采样的越长,误差累计就会越大。

在数据的第一个bit时,cap_cnt等于7,马上要变为8。按照cap_cnt的计数规律是波特率的16倍频设计,所以后面所有的bit起始时,都应该是16 *N + 7,并且马上要变为16 * N + 8。但是真实的时间宽度和预想的时间宽度有一定的偏差。


在最后的校验位的起始时,cap_cnt的数据按照16倍频采样来说,应该是135,然后快变为136才对。但是此时已经等于136,并且马上变137。

我们是按照cap_cnt去进行采样的(在cap_cnt变化的位置采样)。

因为有误差,所以规定UART的协议帧的长度不能够过长。即中间的数据位的个数不能随意增加。

上述分析步骤的数字只是笔者的测验结果,不同的PC和开发板测试时,可能会得到不同的结果。


  • 逻辑分析仪总结

利用逻辑分析仪可以直接查看到开发板内部运行的波形。所以在很多时候,都是利用逻辑分析仪进行板级测试作为最终结果。

如果不需要工程中的逻辑分析仪,可以打开assignments -> settings –> signal tap logic analyzer,将使能的对勾去掉,然后重新编译就可以了。



- -THE END- -


往期精选 

 
 

【免费】FPGA工程师人才招聘平台

FPGA人才招聘,企业HR,看过来!

系统设计精选 | 基于FPGA的实时图像边缘检测系统设计(附代码)

基于原语的千兆以太网RGMII接口设计

时序分析理论和timequest使用_中文电子版

求职面试 | FPGA或IC面试题最新汇总篇

FPGA图像处理专题课新增Vivado部分内容,线上线下均可报名

FPGA时序分析及约束专题课新增Vivado部分内容,线上线下均可报名

资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2022.05.15更新)

FPGA就业班,9月20日开班,课程内容丰富,系统性学习FPGA,高薪就业,线上线下同步!

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

加群主微信,备注职业+方向+名字进群


FPGA技术江湖QQ交流群

备注地区+职业+方向+名字进群


FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  • 一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应用于车辆和设备之间的实时数据交换。J1939基于CAN(Controller Area Network)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250Kbps,用于车载电子控制单元(ECU)之间的通信和控制。小北同学在之前也对J1939协议做过扫盲科普【科普系列】SAE J
    北汇信息 2024-12-11 15:45 115浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-11 17:58 88浏览
  • 在智能化技术快速发展当下,图像数据的采集与处理逐渐成为自动驾驶、工业等领域的一项关键技术。高质量的图像数据采集与算法集成测试都是确保系统性能和可靠性的关键。随着技术的不断进步,对于图像数据的采集、处理和分析的需求日益增长,这不仅要求我们拥有高性能的相机硬件,还要求我们能够高效地集成和测试各种算法。我们探索了一种多源相机数据采集与算法集成测试方案,能够满足不同应用场景下对图像采集和算法测试的多样化需求,确保数据的准确性和算法的有效性。一、相机组成相机一般由镜头(Lens),图像传感器(Image
    康谋 2024-12-12 09:45 83浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-12 10:13 50浏览
  • RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:​图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,且支持2D图形加速,轻松运行QT、LVGL等GUI,最快3S内开
    万象奥科 2024-12-11 15:42 88浏览
  • 时源芯微——RE超标整机定位与解决详细流程一、 初步测量与问题确认使用专业的电磁辐射测量设备,对整机的辐射发射进行精确测量。确认是否存在RE超标问题,并记录超标频段和幅度。二、电缆检查与处理若存在信号电缆:步骤一:拔掉所有信号电缆,仅保留电源线,再次测量整机的辐射发射。若测量合格:判定问题出在信号电缆上,可能是电缆的共模电流导致。逐一连接信号电缆,每次连接后测量,定位具体哪根电缆或接口导致超标。对问题电缆进行处理,如加共模扼流圈、滤波器,或优化电缆布局和屏蔽。重新连接所有电缆,再次测量
    时源芯微 2024-12-11 17:11 117浏览
  • 应用环境与极具挑战性的测试需求在服务器制造领域里,系统整合测试(System Integration Test;SIT)是确保产品质量和性能的关键步骤。随着服务器系统的复杂性不断提升,包括:多种硬件组件、操作系统、虚拟化平台以及各种应用程序和服务的整合,服务器制造商面临着更有挑战性的测试需求。这些挑战主要体现在以下五个方面:1. 硬件和软件的高度整合:现代服务器通常包括多个处理器、内存模块、储存设备和网络接口。这些硬件组件必须与操作系统及应用软件无缝整合。SIT测试可以帮助制造商确保这些不同组件
    百佳泰测试实验室 2024-12-12 17:45 74浏览
  • 首先在gitee上打个广告:ad5d2f3b647444a88b6f7f9555fd681f.mp4 · 丙丁先生/香河英茂工作室中国 - Gitee.com丙丁先生 (mr-bingding) - Gitee.com2024年对我来说是充满挑战和机遇的一年。在这一年里,我不仅进行了多个开发板的测评,还尝试了多种不同的项目和技术。今天,我想分享一下这一年的故事,希望能给大家带来一些启发和乐趣。 年初的时候,我开始对各种开发板进行测评。从STM32WBA55CG到瑞萨、平头哥和平海的开发板,我都
    丙丁先生 2024-12-11 20:14 78浏览
  • 本文介绍瑞芯微RK3588主板/开发板Android12系统下,APK签名文件生成方法。触觉智能EVB3588开发板演示,搭载了瑞芯微RK3588芯片,该开发板是核心板加底板设计,音视频接口、通信接口等各类接口一应俱全,可帮助企业提高产品开发效率,缩短上市时间,降低成本和设计风险。工具准备下载Keytool-ImportKeyPair工具在源码:build/target/product/security/系统初始签名文件目录中,将以下三个文件拷贝出来:platform.pem;platform.
    Industio_触觉智能 2024-12-12 10:27 81浏览
  • 全球智能电视时代来临这年头若是消费者想随意地从各个通路中选购电视时,不难发现目前市场上的产品都已是具有智能联网功能的智能电视了,可以宣告智能电视的普及时代已到临!Google从2021年开始大力推广Google TV(即原Android TV的升级版),其他各大品牌商也都跟进推出搭载Google TV操作系统的机种,除了Google TV外,LG、Samsung、Panasonic等大厂牌也开发出自家的智能电视平台,可以看出各家业者都一致地看好这块大饼。智能电视的Wi-Fi连线怎么消失了?智能电
    百佳泰测试实验室 2024-12-12 17:33 67浏览
  • 铁氧体芯片是一种基于铁氧体磁性材料制成的芯片,在通信、传感器、储能等领域有着广泛的应用。铁氧体磁性材料能够通过外加磁场调控其导电性质和反射性质,因此在信号处理和传感器技术方面有着独特的优势。以下是对半导体划片机在铁氧体划切领域应用的详细阐述: 一、半导体划片机的工作原理与特点半导体划片机是一种使用刀片或通过激光等方式高精度切割被加工物的装置,是半导体后道封测中晶圆切割和WLP切割环节的关键设备。它结合了水气电、空气静压高速主轴、精密机械传动、传感器及自动化控制等先进技术,具有高精度、高
    博捷芯划片机 2024-12-12 09:16 87浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦