0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【教程分享】FPGA零基础学习:Signal tap 逻辑分析仪使用教程

电子发烧友论坛 来源:未知 2023-07-04 08:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本系列将带来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,将使能的对勾去掉,然后重新编译就可以了。






声明本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。


更多热点文章阅读

  • 基于Cortex-M3内核的32位微控制器STM32项目实战分享!

  • 基于32位RISC-V设计的互联型微控制器,沁恒微CH32V307开发样例

  • RK3568!四核64位ARMv8.2A架构,汇聚编译源码及实战样例

  • 尺寸仅有21mm*51mm,板边采用邮票孔设计,合宙 Air105 核心板开发总结

  • 嵌入式Linux开发秘籍!工程师大佬亲历分享项目样例


原文标题:【教程分享】FPGA零基础学习:Signal tap 逻辑分析仪使用教程

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:【教程分享】FPGA零基础学习:Signal tap 逻辑分析仪使用教程

文章出处:【微信号:gh_9b9470648b3c,微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    频谱分析仪与信号分析仪的区别

    在现代电子测量领域,频谱分析仪与信号分析仪是两种广泛应用且功能强大的仪器,它们在无线通信、雷达系统、电子对抗及科研开发中发挥着不可替代的作用。尽管两者均用于信号的采集与分析,功能上亦有交集,但其设计定位、
    的头像 发表于 03-17 15:29 222次阅读
    频谱<b class='flag-5'>分析仪</b>与信号<b class='flag-5'>分析仪</b>的区别

    网络分析仪的设置与基本原理

    一、网络分析仪简介 网络分析仪(Network Analyzer)是射频与微波领域中用于表征电子元器件和电路网络特性的关键测试仪器。其名称中的“网络”并非指计算机网络,而是源于电路理论中对任意
    的头像 发表于 03-03 17:44 1238次阅读
    网络<b class='flag-5'>分析仪</b>的设置与基本原理

    频谱分析仪的工作原理与应用

    频谱分析仪是一种关键的电子测量设备,广泛应用于射频(RF)与微波信号的分析与检测。它通过将信号从时域转换到频域,帮助工程师和技术人员深入了解信号的特性,确保信号质量并优化系统性能。   一、频谱分析仪
    的头像 发表于 03-02 17:05 815次阅读
    频谱<b class='flag-5'>分析仪</b>的工作原理与应用

    学会用Signal Tap逻辑分析仪查看信号波形

    Signal Tap Logic Analyzer是Quartus Prime设计软件中自带的系统级调试工具,它可以在FPGA设计中采集和显示实时的信号行为;当配置完FPGA后,无需额
    的头像 发表于 02-26 13:48 2375次阅读
    学会用<b class='flag-5'>Signal</b> <b class='flag-5'>Tap</b><b class='flag-5'>逻辑</b><b class='flag-5'>分析仪</b>查看信号波形

    矢量网络分析仪与标量网络分析仪的区别

    在网络分析领域,矢量网络分析仪(VNA)与标量网络分析仪(SNA)是两种核心测量工具,尽管名称相近,其测量能力与应用场景却存在显著差异,核心区别可归结为“测大小”与“测全貌”的本质不同。   一
    的头像 发表于 01-22 15:58 943次阅读
    矢量网络<b class='flag-5'>分析仪</b>与标量网络<b class='flag-5'>分析仪</b>的区别

    网络分析仪为什么需要校准?

    正确的校准是使用网络分析仪 VNA 的一个难点。网络分析仪VNA测量出来的S参数是否有错误并不能通过VNA直接能检查出来,只有导入仿真软件仿真出结果发现有问题时可能会怀疑是S参数测量有问题,再返回
    的头像 发表于 01-16 16:34 424次阅读
    网络<b class='flag-5'>分析仪</b>为什么需要校准?

    矢量网络分析仪与标量网络分析仪技术差异与应用场景解析

    在射频与微波测试领域,网络分析仪是评估电路与器件性能的核心工具。矢量网络分析仪(Vector Network Analyzer, VNA)与标量网络分析仪(Scalar Network
    的头像 发表于 12-11 17:16 1675次阅读
    矢量网络<b class='flag-5'>分析仪</b>与标量网络<b class='flag-5'>分析仪</b>技术差异与应用场景解析

    矢量网络分析仪与扫频的区别

    的测试基石。本文从工作原理、性能指标、应用场景三个维度,深入剖析这两类仪器的本质差异。   一、工作原理:时域与频域的测量哲学 矢量网络分析仪(VNA)采用时域分析逻辑,通过向待测设备(DUT)注入扫频信号,同步测量反射与传
    的头像 发表于 12-01 16:12 543次阅读
    矢量网络<b class='flag-5'>分析仪</b>与扫频<b class='flag-5'>仪</b>的区别

    同步热分析仪的联用技术的应用

    同步热分析仪是一款可同时测量样品的tg和dsc信号的热分析仪器,被广泛应用在材料科学、高分子工程师、医药生物、能源等领域。随着同步热分析仪性能技术的不断提升,同步热分析仪可与其他仪器联
    的头像 发表于 08-28 16:04 1053次阅读
    同步热<b class='flag-5'>分析仪</b>的联用技术的应用

    如何测试协议分析仪的实时响应效率?

    ; 1024)。 生成符合条件的数据流,记录触发响应时间(从数据满足条件到分析仪执行捕获动作的时间)。 对比简单触发(如TCP端口 == 443)的响应时间,评估逻辑运算对实时性的影响。 工具:协议
    发表于 07-24 14:19

    热重分析仪品牌有哪些?具备哪些优势

    热重分析仪是一种通过程序控温下测量样品质量变化的检测仪器,其用于测量材料热稳定性、反应动力学、组分分析等特性。热重分析仪的应用领域较多,其中包括:食品工业、材料科学、化工、医药生物、电子电器、能源等
    的头像 发表于 07-23 13:39 834次阅读
    热重<b class='flag-5'>分析仪</b>品牌有哪些?具备哪些优势

    热重分析仪在塑料领域的应用

    热重分析仪作为材料研究中的关键设备,在塑料领域发挥着至关重要的作用。其工作原理基于热重法,通过精准测量物质在程序控制温度下的质量变化,从而揭示材料的热稳定性和组分特性。在塑料行业中,热重分析仪
    的头像 发表于 07-17 10:40 656次阅读
    热重<b class='flag-5'>分析仪</b>在塑料领域的应用

    AI数据分析仪设计原理图:RapidIO信号接入 平板AI数据分析仪

    AI数据分析仪, 平板数据分析仪, 数据分析仪, AI边缘计算, 高带宽数据输入
    的头像 发表于 07-17 09:20 865次阅读
    AI数据<b class='flag-5'>分析仪</b>设计原理图:RapidIO信号接入 平板AI数据<b class='flag-5'>分析仪</b>

    是德N9917A FieldFox手持分析仪 N9917B便携式分析仪

    是德N9917A FieldFox手持分析仪 N9917B便携式分析仪 N9917A是一款使用电池供电的便携式分析仪;基本功能是电缆和天线分析;配置还包括频谱和网络
    的头像 发表于 05-07 16:58 1525次阅读

    【「零基础开发AI Agent」阅读体验】+ 入门篇学习

    很高兴又有机会学习ai技术,这次试读的是「零基础开发AI Agent」,作者叶涛、管锴、张心雨。 大模型的普及是近三年来的一件大事,万物皆可大模型已成为趋势。作为大模型开发应用中重要组成部分,提示词
    发表于 05-02 09:26