FPGA — Vivado下ILA(逻辑分析仪)详细使用方法

news2024/12/23 5:46:45

使用软件: Vivado
开发板: EGO1采用Xilinx Artix-7系列XC7A35T-1CSG324C FPGA
使用程序:按键案例

ILA详细使用方法

  • 一、ILA简介
  • 二、ILA的使用方法
    • 方法1 — 使用IP核创建ILA调试环境
      • 创建ILA IP核
    • 方法二 — 使用 Debug 标记创建 ILA
      • 对需观察信号进行标记
      • 对工程进行保存后重新综合
      • Debug信号和探针的关联
      • 测试
    • 方法三 — 使用路径标记和Set up debug 菜单创建 ILA 调试环境
  • ILA调试及板级验证
    • 烧录程序
    • 基本操作
    • 其他设置
  • 总结
    • 其他

一、ILA简介

为了验证代码的正确性和不同条件下的可靠性,常通过仿真进行验证,但是仿真时间较长,工作量较大,有些驱动模块的模型无法获取的情况下,仿真很难进行,所以采用ILA工具,来实时抓取FPGA内部数字信号的波形,分析逻辑错误的原因,帮助debug。
在这里插入图片描述

二、ILA的使用方法

下面将分别介绍三种创建ILA调试环境的方法:
方法1:使用IP核创建ILA调试环境
方法2:使用 Debug 标记创建 ILA
方法3:使用路径标记和Set up debug 菜单创建 ILA 调试环境

方法1 — 使用IP核创建ILA调试环境

创建ILA IP核

  1. 点击左侧[PROJECT MANAGER]栏–>[IP Catalog]或者菜单栏下[Window]–>[IP Catalog],然后在右侧出现的[IP Catalog]窗口下搜索[ILA],双击选择[Debug]下的[ILA]进行IP配置,操作步骤如下图所示:

ILA IP核创建
2. ILA IP的设置

IP配置1
(1)Documentation:IP 相关文档入口,其中的[Product Guide] 是 IP 手册查看入口,[Change Log] 是 IP 版本更新记录,[Product Webpage]是 IP 相关介绍的网页版
(2)IP Location:设置 IP 的存放路径入口,点击出现如下图所示窗口,在窗口里可以通过点击“…”设置更换存放路径,默认是存放在工程路径下的…<工程名>.srcs\ sources_1\ ip,这里我们就保持默认。
(3)Switch to Default:点击后所有的设置恢复到默认值。

IP设置2
(4)Component Name:设置生成 IP Core 的名称,这里保持默认设置。
(5)这里是一个提示,提示通过该界面设置最多可设置 64 个探针,如果想设置更多的探针需要使用 Tcl 脚本命令去设置,具体用法可以查询 IP 手册。
(6)ILA 探针接口类型设置
 Native:常规普通接口模式
 AXI:AXI 接口模式,用于调试 AXI 接口信号
(7)Number of Probes:探针数量设置,要观察3个信号,所以这里设置探针数量为3。
(8)Sample Data Depth:采样数据深度,设置的数值越大,采样的数据越多,看到的波形数据越多,但是最终占用的资源也会越多,并不是设置的越大越好。从下拉框也能看出最大也只能设置为 131072,这个根据实际需求进行合适的设置即可,我们这里选择设置 4096。
IP设置3
(9)Same Number of Comparators for All Probe Ports:这里是设置相同探针接口的 Comparators 的个数,不勾选,下面的 Number of Comparators 就会消失。默认勾选,后面的参数也保持默认,我们使用其基本功能。
(10)Trigger Out Port:触发输出端口,可用于 ILA 模块的级联或一些高级功能,
具体使用参考 IP 手册,这里保持默认不勾选。
(11)Trigger In Port:触发输入端口,可用于手工设置添加触发信号或进行 ILA
模块的级联或一些高级功能,具体使用参考 IP 手册,这里保持默认不勾选。
(12)Input Pipe Stages:设置待探测信号打拍次数,如下图所示,可设置数值0~6,
一般情况下,采样时钟和探测信号是一个时钟域下,这里可以默认设置为 0 即
可。
(13)Capture Control:这里勾选后可在调试查看波形窗口进行对 Capture mode
的设置,如果不勾选后面有关 Capture mode 就不可修改,这里勾选。
(14)Advanced Trigger:这里勾选后可在调试查看波形窗口进行对 Trigger mode
的设置,如果不勾选后面有关 Trigger mode 就不可修改,这里勾选。
IP设置4(15)Show disabled ports:在 IP 核的模拟示意图中展示出未使用信号引脚。
IP设置5

(16)Probe Width:探针数据信号的位宽设置,我们需要对一个 26bit 和两个 5bit 信
号进行在线观察,这里将 Probe0位宽设置为 26,Probe1和Probe2位宽设置为5。
(17)Number of Comparators:如果已经勾选(9)处,这里就不可设置,如果没有勾选,这里就可以设置。保持默认即可
(18)Probe Trigger or Data:对探针设置触发器或数据,有3种选项:
 DATA AND TRIGGER:既是数据又可作为触发条件;
 DATA:仅作为数据,不可作为触发条件;
 TRIGGER:仅可作为触发条件。
设置完成后点击下方[OK]–>[Generate]生成IP核

  1. IP核的使用
    生成的ILA IP核的用法,在[IP Sources]下找到[ila_0.veo],如下所示,为调用举例,将其复制,放到主程序中。
    IP核使用
    Verilog 中“.”的含义是:下一级文件中的内容
    要看的是divclk中cnt1、led和btnout信号的变化,所以填入对应的probe中进行绑定即可:
    在这里插入图片描述
    其硬件测试步骤在介绍完三种方法后一起来做~

方法二 — 使用 Debug 标记创建 ILA

对需观察信号进行标记

使用clk IP核,生成一个clk_out1,令其为ILA的工作时钟,查看现象,其设置如下:在这里插入图片描述
IP核调用:
在这里插入图片描述

在代码中进行标记,在信号定义前面加上(mark_debug=“true”)即可进行标记,如下所示:
在这里插入图片描述

在这里插入图片描述

对工程进行保存后重新综合

对工程进行综合,综合:
点击[Run Synthesis],综合完成之后,点击[Open Synthesized Design],然后进行Debug信号和探针进行关联。
在这里插入图片描述

Debug信号和探针的关联

点击[Open Synthesized Design]之后,点击右上角的[Default Layout],然后选择[Debug]
在这里插入图片描述
在这里插入图片描述
在左侧网表管理窗口,也可以看到小蜘蛛图标:
在这里插入图片描述
下方的[Debug]窗口,可以看到所有已经标记但是未关联ILA的信号:
在这里插入图片描述
右键点击还未关联的标记信号,在菜单中选择 Create Debug
Core。
在这里插入图片描述
新的窗口可以设置 ILA 的名称,选择 ILA 的类型,同时也可以进行采样深度设置等操作。和我们在上一节讲解的内容进行相同的设置,我们也将采样深度设置为 4096。
在这里插入图片描述
完成 ILA 的设置后,呈现如下界面:
在这里插入图片描述
我们看到,我们需要对包括时钟信号在内的 4 个信号进行关联绑定,而刚刚创建的 ILA 工具,包括时钟绑定信号在内只有 2 组可以进行绑定的探针。这时,需要结合采样信号的实际组数,将不足的探针组数补齐。右键点击 probe0,弹出菜单后点击 Create Debug Port,如下所示:
在这里插入图片描述
在这里插入图片描述
这样,34组未绑定的信号端口,就有了 4 组 probe 探针。虽然此时的探针位宽都默认为 1,但是并不影响我们绑定探测信号后的结果。接下来,即可开始完成探针和探测信号的绑定。
绑定前,先观察点击时钟信号的下拉选项,发现时钟信号的绑定标号为灰色圆圈实心点。绑定信号名称为默认未绑定的 Ch0。

先以cnt1信号为例,右键点击 my_divclk/cnt1,在弹出的窗口菜单中选择 Assign to Debug Port。
在这里插入图片描述
然后,选择probe0下的Ch0,点击OK即可,其他线信号也如此操作
在这里插入图片描述
最后,[Unassigned Debug Nets]栏下的线信号数目为0。
在这里插入图片描述
保存之后,观察原理图,发现多了ila和dbg模块:
在这里插入图片描述

测试

其硬件测试步骤在介绍完三种方法后一起来做~

值得注意的是,在使用 mark_debug 方法抓线完成调试工作后,要记得删除源码中的 mark_debug 标记。否则,不但代码会留下杂乱的调试痕迹,而且被标记的信号会保持占用工程的逻辑资源,导致工程的总逻辑资源使用量增大。

方法三 — 使用路径标记和Set up debug 菜单创建 ILA 调试环境

在实际使用中,我们还可以通过在综合后的原理图上直接进行调试标记,而简便的锁定需要观察的信号。这样,我们就不用在代码中进行标记,也不需要承担在调试完成后忘记在代码中删除 mark_debug 标记的风险了。
还是回到工程原本未改动的初始状态,首先对工程进行分析和综合。在这里插入图片描述
分析和综合完成:
在这里插入图片描述
综合完成后点击[Open Synthesized Design]:
在这里插入图片描述

这里,我们直接从 Schematic 原理图中,寻找并标记 led、cnt1和btnout信号。仔细观察原理图,我们发现led变为了led_OBUF。由于VIVADO 会按自己的规则给编译后的信号命名,所以我们推测,led_OBUF信号就在我们当前的原理图中,只是命名方式发生了变化。
右键点击led_OBUF[0],选择[Mark Debug]:
在这里插入图片描述
这时,该网络即被标记为待观测信号:
在这里插入图片描述
其他网络类似,也可从左边Nets栏下直接鼠标右键,选择[Mark Debug]进行标记,将btnout、led_OBUF、和模块my_divclk下的cnt1进行标记即可。

所以在下面[Debug]栏中出现以下内容:
在这里插入图片描述
然后操作步骤与方法二中一致,鼠标右键上图中任意一个net,选择[Create Debut Core…]
在这里插入图片描述
然后create Debug Port,进行联结即可。然后保存、生成bit流,测试方式与方法一一致。

ILA调试及板级验证

烧录程序

点击左侧[PROGERAM AND DEBUG]栏下的[Generate Bitstream],生成bit流文件,然后点击[Open Hardware Manager],将bit流文件和自动相关联的Debug文件一起烧录进板卡,如下所示:
烧录

基本操作

这里,我们已经按照上面三种方法其中的一种来生成了bit流文件。bit流文件和Debug文件烧录完成后会自动出现如下图所示界面。该界面即 ILA 调试界面。
界面1
 窗口 1:波形显示窗口,可以通过点击➕添加想查看的波形的信号。因为在IP 设置中对探针设置的时候,cnt 和 key_state 信号的 Probe Trigger or Data 属性设置为了“DATA AND TRIGGER”,所以这里可查看的信号有 cnt1、led_OBUF和btnout。
当然,通常在下载完程序后,ILA 能够非常智能的识别出设计师期望观察的信号,同时,在右键菜单也可以找到删除观察信号的指令。这样,有限的窗口面积就可以被充分利用,自由调配和增减所需观察信号的条目。
 窗口 2:ILA Croe 的状态控制和显示窗口。
在这里插入图片描述
按钮①:设置采样执行过程为循环采样
按钮②:启动采样按钮。按下后将启动 ILA 采样。根据是单次采样还是循环采样,根据是有条件触发还是无条件触发,启动后会呈现 ILA 状态的周期性变化或等待触发条件的到来。
按钮③:无条件执行 ILA 采样。
按钮④:停止采样按钮。
状态栏⑤:状态栏⑤由 5 个空心圈组成,唯一的实心绿色点所处的位置表征ILA 的运行状态。
状态栏⑥:已采集的点数占总采集点数的关系。
状态栏⑦:以进度条的方式结合状态名称,标明当前所处的状态以及采样过程中执行状态的百分比。
 窗口 3:添加触发信号窗口,如下图所示,点击窗口内➕ 添加产生触发条件的信号(两个地方的➕ 都可以进行信号的添加)。
在这里插入图片描述
添加之后如下图所示,可以设置其触发条件和触发情况:
点击按钮在这里插入图片描述设置多个信号产生触发信号时的条件,与、或、同或、异或,西面还可以设置触发条件,如下图所示:
在这里插入图片描述
触发条件设置完成后,点击Run:
在这里插入图片描述
等待触发如下图所示:
在这里插入图片描述
然后按下板卡上的按键:
按键
可以看到满足触发条件后的波形窗口。波形中有红色 T 标记的符号,正好处在第 2048 个采样点处,即我们预设的 4096 个采样点的中点。
按键结果
将cnt1的进制数改为无符号10进制结果如下图所示,这样就完成了本次ILA抓线的任务,其结果与预定设想相同。
在这里插入图片描述

其他设置

窗口 4:设置触发显示窗口,点击窗口右上角的方框放大这个窗口,可以看到这个窗口全部的设置参数。
窗口4设置
(1)Trigger mode:触发模式设置,选择默认的 BASIC_ONLY 即可,有关ADVANCED_ONLY 模式的具体使用,可查看 IP 手册。
(2)Capture mode:捕获模式设置,选择默认的 BASIC 即可,有关 ALWAYS模式的具体使用,可查看 IP 手册。
注:有关上述(1)(2),如果在前面的 IP 创建的时候不勾选 13、14 处的选项,上述(1)(2)是不可设置的。
(3)Number of windows:显示窗口个数,默认为 1,更改这里为 2。窗口个数的设定值可以设定在同样的触发条件下,连续多次的触发显示在不同的窗口中。随着窗口数量的增加,势必会使得单个窗口的采样深度变小。所有窗口采样深度的总和不能大于总的采样深度。这里更改后下面 Windows data depth 的最大值会自动变为 2048(4096=22048=41024=……)。
(4)Windows data depth:窗口显示数据深度,上面设置为 2 后,这里最大可设置为 2048,设置 2048 即可。如果仅设置 1 次采样,则其最大值为 IP 核配置、抓线设置中采样的最大值。
(5)Trigger position in windows:设置触发位置在窗口波形中显示的位置,一般根据需求设置,这里设置波形窗口的中间位置,即设置为 1023。
(6)Refresh rate:连续触发模式下,相邻触发之间的刷新时间,这里保持默认即可。

按照上述说明进行如下设置:
窗口4设置
按照上述设置,点击[Run],按下按键3之后的结果:
在这里插入图片描述
放大之后的结果
在这里插入图片描述
从触发的波形可以看出,与之前波形相比,现在是出现两次触发波形,与我们上面设置的窗口个数是对应的。同时,红色触发标记点,正好在第 1023 个采样点出现,和我们刚刚在Settings 中设置的触发点位置是一致的。

整个在线调试工具 ILA Croe 的使用基本就结束了,下面介绍其他方法。

总结

前面介绍了3中ILA工具的生成核使用方法,每种方法各有利弊。
第一种方法:生成IP核操作较为繁琐,要注意例化的位数与要抓取的信号线的位数一致。

第二种方法:使用Debug标记创建ILA调试环境,与第一种方法相比,能够弱化抓线信号的位宽对抓线调试的影响,但是在mark_debug方法抓线完成调试工作后,要删除源码中的 mark_debug 标记。否则,不但代码会留下杂乱的调试痕迹,而且被标记的信号会保持占用工程的逻辑资源,导致工程的总逻辑资源使用量增大。

第三种方法:在综合后的原理图上直接进行调试标记克服了第二种方法的缺点,不用再代码中进行标记,但是标记的时候,vivado会按照自己的规则给编译后的信号命名,所以要细心寻找要标记的信号线。

其他

ILA 可正常运行的频率区间,大致为下载器时钟频率信号的 2.5 倍至 VIVADO 报告工程时序违例的时钟范围区间。

在这里插入图片描述
这条要求指出,ILA 的时钟频率,**不得低于 JTAG 下载器的时钟频率的 2.5倍。**事实证明,过低的 ILA 时钟频率,会导致 ILA 工作不正常,无法启动,状态跳转不正常或报错等非特定现象的发生。当然,ILA 的工作频率也不是无线高的,过高的频率,会导致工程时序违例,从而发生无法抓取波形或者 VIVADO 无法识别到 ILA 等问题发生。

有时候,我们需要测试的工程,其 ILA 时钟频率非常低,并且不允许调整。遇到这种问题,我们这里,提供另一种解决该问题的思路,即降低 JTAG 下载器的频率。
在这里插入图片描述
根据前面讲解的 JTAG 频率和 ILA 频率的倍数关系,我们选择合理的 JTAG下载器频率,上图所示JTAG频率默认为15MHz,可将其适当调小。
按前面 VIVADO 提示的频率关系,在一定程度上迁就 ILA 的工作频率,这样又可以使 ILA 达到正常工作的频率范围了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1317696.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用IDEA创建springboot依赖下载很慢,解决方法

显示一直在resolving dependencies&#xff0c;速度很慢 原因&#xff1a;maven会使用远程仓库来加载依赖&#xff0c;是一个国外的网站&#xff0c;所以会很慢。应该使用阿里云的镜像&#xff0c;这样速度会提升很多。 步骤&#xff1a;1.右击pom.xml&#xff0c;选择"m…

DevEco Studio 项目鸿蒙(HarmonyOS)多语言

DevEco Studio 项目鸿蒙&#xff08;HarmonyOS&#xff09;多语言 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、多语言 新版本IDE可以创建多语言的文件夹&#xff0c;在entry->src->main->resources下&#xff0c;修…

图像识别完整项目之Swin-Transformer,从获取关键词数据集到训练的完整过程

0. 前言 图像分类的大部分经典神经网络已经全部介绍完&#xff0c;并且已经作了测试 代码已经全部上传到资源&#xff0c;根据文章名或者关键词搜索即可 LeNet &#xff1a;pytorch 搭建 LeNet 网络对 CIFAR-10 图片分类 AlexNet &#xff1a; pytorch 搭建AlexNet 对花进行分…

为什么Apache Doris适合做大数据的复杂计算,MySQL不适合?

为什么Apache Doris适合做大数据的复杂计算&#xff0c;MySQL不适合&#xff1f; 一、背景说明二、DB架构差异三、数据结构差异四、存储结构差异五、总结 一、背景说明 经常有小伙伴发出这类直击灵魂的疑问&#xff1a; Q&#xff1a;“为什么Apache Doris适合做大数据的复杂计…

相机倾斜棋盘格标定全记录 vs200+opencv安装

论文参考是这个 Geiger A, Moosmann F, Car , et al. Automatic camera and range sensor calibration using a single shot[C]//Robotics and Automation (ICRA), 2012 IEEE International Conference on. IEEE, 2012: 3936-3943. 代码是这个github 花了一上午配好了c环境。。…

Activiti工作流框架学习笔记(一)之通用数据表详细介绍

文/朱季谦 Activiti工作流引擎自带了一套数据库表&#xff0c;这里面有一个需要注意的地方&#xff1a; 低于5.6.4的MySQL版本不支持时间戳或毫秒级的日期。更糟糕的是&#xff0c;某些版本在尝试创建此类列时将引发异常&#xff0c;而其他版本则不会。执行自动创建/升级时&a…

ARM架构简析

全局与局量等知识 断电后&#xff0c;程序以及数据都在FLASH中。 断电后&#xff0c;内存中就没有变量了。 程序在烧在FLASH中的&#xff1b; 程序运行的时候&#xff0c;全局变量的初始值&#xff0c;必然是从FLAASH中的来的&#xff1a; 初始化全局变量的过程&#xff1a;…

HBuilder X将Vue打包APP返回上一页退出问题、清除缓存页面历史防止返回登录页(上一页)、以及状态栏颜色切换

目录 一、返回上一页退出问题 二、清除缓存页面历史防止返回上一页 三、状态栏颜色切换 一、返回上一页退出问题 1.首先重新认识一下vue的页面跳转&#xff0c;这里我只说常用到的两个 goSkip(){//直接跳转this.$router.push(/test);this.$router.replace(/test);//带参数跳…

一键安装下载3ds Max!别墅还是宫殿?3ds Max助你建造梦幻般的艺术建筑

不再浪费时间在网上寻找3ds Max的安装包了&#xff01;因为你所需要的一切都可以在这里找到&#xff01;作为一款全球领先的3D设计工具&#xff0c;3ds Max为创作者们带来了前所未有的便利和创作灵感。无论是建筑设计、影视特效还是游戏开发&#xff0c;3ds Max都能帮助你实现想…

后端开发——统一处理异常Spring MVC机制

一、Spring MVC的统一处理异常机制 在Spring MVC中&#xff0c;存在统一处理异常的机制&#xff0c; 具体表现为&#xff1a;无论是哪个处理请求的过程中出现异常&#xff0c;每种类型的异常只需要编写一段处理异常的代码即可&#xff01; 统一处理异常的核心是定义处理异常的…

软件开发模型学习整理——瀑布模型

一 前言 从参加工作至今也完整的跟随过一整个项目的流程了&#xff0c;从中也接触到了像瀑布模型&#xff0c;迭代模型&#xff0c;快速开发模型等。介于此&#xff0c;基于自己浅薄的知识对瀑布模型进行整理学习以及归纳。 二 瀑布模型简介 2.1 瀑布模型的定义和特点 定义&…

Linux 动态库和静态库

文章目录 前言动态库创建和使用静态库创建和使用动态库和静态库差异生成过程的差异运行效果的差异 补充说明库的名称的注意事项库的搜索路径的方法什么是位置无关代码动态链接与静态链接/usr/lib 和 /usr/local/lib 前言 动静态库的创建和使用部分更多的是意在说明动态库和静态…

软件测试指南

软件测试指南 软件集成测试软件系统测试&#xff08;功能性测试&#xff0c;性能测试&#xff09;

dp中最短编辑距离的笔记(分析dp)

dp分析往往就是看最后一步的变化。 分析&#xff1a; 设a串长度为i&#xff0c;b串长度为j。题目要求为通过三种操作将a字符串转化为b字符串的最少次数。 删除操作&#xff1a; 把a[i]删除后a[1~i]和b[1~j]匹配&#xff0c;所以可以得到f[i - 1][j] 1&#xff0c;在此之前要先…

ce从初阶到大牛--grep篇

1、显示/etc/rc.d/rc.sysinit文件中以不区分大小的h开头的行&#xff1b; grep -i "^h" /etc/rc.d/rc.sysinit2、显示/etc/passwd中以sh结尾的行; grep "sh$" /etc/passwd3、显示/etc/fstab中以#开头&#xff0c;且后面跟一个或多个空白字符&#xff0c;…

烦躁的广告弹窗如何在 Edge 上消失?轻松招架 3 种方法

Edge问题解决教程之广告弹窗如何消失&#xff1f; 一、前言&#xff1a;广告弹窗问题二、使用Edge浏览器内置的广告拦截功能三、安装广告拦截浏览器扩展程序四、处理恶意软件和广告弹窗网站五、总结 一、前言&#xff1a;广告弹窗问题 Edge浏览器中出现的广告弹窗问题是由恶意…

Android 动画 Lottie 如何使用

Android 动画 Lottie 如何使用 一、简介 Lottie 是Airbnb开源的一个面向 iOS、Android、React Native 的动画库&#xff0c;能分析 Adobe After Effects 导出的动画&#xff0c;并且能让原生 App 像使用静态素材一样使用这些动画&#xff0c;完美实现动画效果。 二、Lottie动…

openwrt中taiscale自动安装脚本详解

openwrt中taiscale自动安装脚本详解 一、代码仓库地址 https://github.com/adyanth/openwrt-tailscale-enabler 二、代码仓库中脚本文件详解 主要包含三个脚本分别是etc/init.d/tailscale、usr/bin/tailscale、usr/bin/tailscaled &#xff0c;接下来逐个分析一下脚本中的具…

数字孪生Web3D智慧机房可视化运维云平台建设方案

前言 进入信息化时代&#xff0c;数字经济发展如火如荼&#xff0c;数据中心作为全行业数智化转型的智慧基座&#xff0c;重要性日益凸显。与此同时&#xff0c;随着东数西算工程落地和新型算力网络体系构建&#xff0c;数据中心建设规模和业务总量不断增长&#xff0c;机房管理…

【深度学习目标检测】九、基于yolov5的安全帽识别(python,目标检测)

YOLOv5是目标检测领域一种非常优秀的模型&#xff0c;其具有以下几个优势&#xff1a; 1. 高精度&#xff1a;YOLOv5相比于其前身YOLOv4&#xff0c;在目标检测精度上有了显著的提升。YOLOv5使用了一系列的改进&#xff0c;如更深的网络结构、更多的特征层和更高分辨率的输入图…