首页 > 技术 > 内容

FPGA在线调试的方法简单总结

时间:2025-11-29  作者:Diven  阅读:0

Xilinx被AMD收购的事情把我震出来了,看了看上上一篇文章讲了下仿真的文件操作,这篇隔了很久远,不知道该从何讲起,就说说FPGA的在线调试的一些简单的操作方法。

文章以Altera的Quartus II, Xilinx的Vivado工具为例,其工具(如ISE的Chipscope)就暂不赘述了。

其实很多时候,为了图方便,FPGA的Verilog设计完之后,会省掉仿真的过程,直接使用FPGA的在线调试工具来检查电路逻辑是否有问题。包括我自己刚开始学习FPGA时,没感觉到仿真相比在线调试的优势,重点去学习在线调试了。但现在来看,这样的操作很不规范,而且随着项目的规模越来越大,这样做的效率也会迅速下降。

但这种方法在某些验证领域还是占有一席之地,而且小规模模块验证时,也很有优势。

而且相对于仿真来说,FPGA的板级调试结果会更加真实些。

Altera

在Quartus II找到下图的工具进入之后,找到这个界面首先设置后右上角的SOF文件,然后顺着SOF文件的下方,依次设置Clock(采样时钟),Sample depth(采样深度)等参数。

Clock参数会影响信号的显示值,可以理解为如果采样时钟没有数据变化快,那么采到的数据中间会漏掉某些值,而且不论快慢,都可能造成采样上的一些问题。所以这里推荐使用与驱动被采数据或者说相同时钟域下的时钟。注意,只是影响信号的抓取显示值,不大会影响信号的真实值

Sample depth参数会影响信号抓取的深度,设置小了可能对调试不方便,比如抓取传输包的帧头,抓到后想看看整个数据包的格式,但是深度太小没有显示出来;设置大了占用的面积会增大,可能会超出资源。

然后在左边空白处双击,选择信号注意,Filter是选择某个特定时期的信号,比如pre-synthesis,意思就是综合前的信号,此时信号跟我们RTL代码中的信号,名字保持一致,最方便查找,所以我经常使用这个类型的Filter。

然后点击List,选择想要抓取的信号,点击ok,然后保存文件,重新走一遍综合,布局布线,生成bit文件的路子。最后就可以在这个工具中下载响应的sof文件,然后开始在线抓取信号。

Xilinx

vivado中,在线调试的方法就很多了,使用mark_debug和ILA核的方式。

  • mark_debug

可以在被抓取信号的定义语句开头插入(* MARK_DEBUG="true" *),使得工具自动识别需要抓取的信号。如下图示例

 (* MARK_DEBUG="true" *)wire [7:0] read_data ;
综合完成后,点击左侧工具栏

一路Next后,你可以看到这个图里的信号就是之前使用了Mark_debug标识的信号,如果有哪些信号不想抓取了,可以直接在这里删去,如果你有信号忘记做标识了,也可以使用左侧的Find Nets to Add方法。使用通配符*加上信号的名字,可以搜索到对应的信号然后直接加入到信号列表。

注意,有些信号可能没有自动指定合适的时钟网络,需要自己手动指定,然后才能Next

然后工具会自动根据前面的设置向相应的XDC文件写入参数,如果打开了XDC文件,一定要看是否保存了最新的结果。我刚开始很多次在这里没注意,导致XDC还在以旧版的内容运行,设置的内容没有生效。

如果这个步骤中多个信号存在多个时钟域,最终生成的调试文件下载进入板子后,会出现多个ILA调试界面。

  • ILA IP核

可以在IP Catalog寻找ILA IP核, IP设置中,如下图,可以选择Monitor Type如果选择AXI,则在第二个设置界面,需要选择AXI协议类型,AXI数据位宽,地址位宽等等参数。

关于AXI协议内容可以看看之前的内容回顾。也可以选择Native的Monitor类型,那么就可以设置Number of Probe,这个参数决定了被抓取信号的通道数,Sample Data Depth是抓取深度。这样在第二个设置选项里,可以设置每个数据通道的数据位宽等参数不管是哪种方法,都需要重新走一遍综合,布局布线,生成bit文件的步骤,然后将调试文件和bit文件一起下载到FPGA芯片进行调试。

猜您喜欢


贴片电阻由于体积小,无法像传统电阻一样直接印上阻值,因此采用数字或字母代码来表示。理解这些代码对于正确选择和使用贴片电阻很重要。常见的贴片电阻丝印方式有三位数和...
2024-11-29 10:25:39
现代电子电路设计中,功率电阻是不可少的配件。作为能够承受较大功率损耗的电阻元件,功率电阻应用于电源、电机驱动、功率放大器等领域。本文将详细介绍功率电阻在电路中的...
2025-11-27 04:00:04
所有的入门的屌丝都是知道处理器中断模式是两种是边沿触发和电平触发。边沿触发用的很少,一般还是以下降沿触发为主。当设备完成一个数据后,会输出一个下降沿,触发处理...
2018-07-14 08:30:00
运算放大器是应用于电子电路的基本元件,其主要优势体现在多个方面。运算放大器具有高增益特性,能够有效放大微弱的信号,使其在后续电路中更易处理。这对于音频信号处理、...
2008-11-23 00:00:00
贴片电阻104是一种常用的电子元件,在电路中主要起到限流、分压、阻抗匹配等作用。 「104」代表它的阻值,按照EIA-96标准,「104」表示10乘以10的4次...
2024-11-26 11:29:43
共享充电宝是现在户外流行的充电方式,遍及各个公共场所,霍尔元件也应用其中。霍尔开关主要起到霍尔位置检测的作用,每个充电宝底座都有一个磁铁,充电宝内部有一个霍尔开...
2023-11-03 10:16:00
指示灯作为重要的视觉信号工具,应用于多个领域。在交通管理中,红绿灯指示车辆和行人的通行状态,确保道路安全。在家电产品中,指示灯用于显示设备的工作状态,如开关、待...
2010-08-10 00:00:00
油嘴是现代机械设备中不可少的重要组成部分,应用于汽车、工程机械及工业设备等领域。主要功能是将润滑油精确地输送到需要润滑的部位,从而减少摩擦、降低磨损,延长设备的...
2020-02-12 00:00:00
贴片电阻通常使用三位或四位数字来标记阻值。理解这些标记方法对于正确使用电阻很重要。三位数字标记法: 前两位数字表示有效数值,第三位数字表示10的幂次方。例如,标...
2024-11-29 10:26:23
当今电子产品日益小型化和高效化的时代,开关电源芯片作为电源系统的核心元件,是很重要的配件。7脚开关电源芯片以其紧凑的封装、丰富的功能和优异的性能,应用于各种电子...
2024-01-26 00:00:00