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

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

3天内不再提示

福晞软件调试工具介绍之工程添加Debugware IP

HME京微齐力 来源:HME京微齐力 2025-12-15 09:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

福晞2025

为方便用户了解和熟悉「福晞软件」,我们就软件的调试工具进行详细的讲解和说明,以帮助用户实现高效地开发和调试。

福晞软件提供了一套完整的芯片在线调试工具,用户可以通过这一系列的调试工具,在线观察芯片内部信号的变化。

本工具集提供了多种添加 Debugware IP 的方式,在完整运行福晞流程生成码流,并成功下载后,通过 Real Time Debug 工具可选择不同 LA Core,设置不同采样频率,不同触发条件。最后通过 Waveform 可以方便查看采样波形。

图 1-1清晰地描述了整个调试过程中不同工具的功能以及工具之间的相互依赖关系。

db5052b2-cff8-11f0-8c8f-92fbcf53809c.png

图 1-1 福晞软件调试流程

福晞软件在线调试主要分为以下4个步骤:

(1) 工程添加 Debugware IP;
(2) 运行综合,布局&布线,生成码流和下载;
(3) 设置触发条件;
(4) 查看波形。

在步骤(1)中,福晞软件提供了两种方式帮助用户在工程中添加 Debugware IP: Debugware UI 手动例化 Debugware IP 和借助 Debug Insert 工具自动添加 Debugware IP。

近期,我们将详细介绍上述相关步骤。

添加 Debugware IP

手动例化 Debugware IP

本节主要描述 Debugware IP 的手动例化使用方法。该 IP 核是一种嵌入式逻辑分析仪(Embedded Logic Analyzer),用于帮助设计人员观察 FPGA 内部信号跳变。采样信号波形存储 EMB 中,成功触发后可通过 JTAG 接口回读数据。用户可根据预设条件获取对应的波形图。

Debugware IP 支持以下功能:

动态配置触发条件

支持实时捕获

支持多种触发类型与条件:

(1) 算术运算

a. 等于(equal)

b. 不等于(not equal)
(2) 边沿检测

a. 上升沿(rise)

b. 下降沿(fall)

支持最多 4 个 LA 核

多 LA 核协同管理

支持多 EMB 扩展,以增加采样数据的位宽与深度

注意

确保设计满足时序要求;

确保 Debugware IP 实际使用的 EMB 数量不要超过当前器件可使用 EMB 总数。

Debugware IP 支持器件:
HME-M7,HME-M5,HME-HR3,HME-HR2,HME-H1,HME-H3,HME-H3P,HME-H7,HME-P0,HME-P1,HME-P2,HME-P3

Debugware IP 端口介绍

dc0544ec-cff8-11f0-8c8f-92fbcf53809c.png

表 2-1 Debugware IP 端口介绍

Debugware IP 框图

Debugware IP 由三部分组成:

TAP,LA Manager 和 LA Core,如图2-1所示。

TAP:JTAG 控制器的调试接口封装逻辑(为 JTAG 协议提供硬件适配层)。

LA Manager:Debugware IP 的中央控制单元,担任 TAP 模块与 LA 核之间的桥接枢纽,有且只有一个(1个 LA Manager 可同时控制最多4个 LA 核)。

LA Core:Debugware IP 的执行单元;包含两大核心模块:触发生成模块(Trigger Generator)和存储模块(Storage Module)。

dc63e81c-cff8-11f0-8c8f-92fbcf53809c.png

图 2-1 Debugware IP UI 介绍

Debugware IP 使用介绍

用户可通过 Debugware 按以下步骤生成 Debugware IP:

步骤 1

按照图 2-2所示,从Wizard Manager中选择Debugware(v2.1a)启动 Debugware IP UI。

dcc2a6b8-cff8-11f0-8c8f-92fbcf53809c.png

图 2-2 选择 Debugware IP

步骤 2

用户可按照图 2-3,图 2-4和图 2-5所示,配置Debugware IP。

dd1e5878-cff8-11f0-8c8f-92fbcf53809c.png

图 2-3 输入模块名称

dd84ffd8-cff8-11f0-8c8f-92fbcf53809c.png

图 2-4选择 LA Core 的数量(最大值为4)

dde6d352-cff8-11f0-8c8f-92fbcf53809c.png

图 2-5配置存储参数

Trigger Model:设置触发模式,可选项为:Single 和 Multiple;选择 Single 时,Debugware 不支持多窗口触发方式;选择 Multiple 时,支持多窗口触发模式。但 Multiple 模式下,窗口个数设为1时,不等价于 Single 模式。Multiple 模式使用的资源数量比 Single 模式多。

Data Width:设置 Debugware 使用的 EMB 的数据位宽,数据位宽的值应该大于等于您要实际观察信号的数量;

Memory Depth:设置 Debugware 使用 EMB 的深度,该值大小决定触发时采样的周期数。

Input DFF Level:设置待观测信号的打拍个数,范围0~6。说明:改善增加 Debugware IP 对用户逻辑性能的影响,值越大影响越小,推荐值为2。

步骤 3

点击Finish生成 IP RTL 源代码文件,该文件会被自动加到工程中。然后,您需要在工程中手动例化 Debugware IP。并将需要观察信号接到 IP 的 data_in_n(n=0,1,2,3) 端口。

生成 IP 源文件时,UI 同时生成以图 2-3中 Module Name 命名的 *.adf 文件。该文件记录了 IP 使用的 LA Core 的配置信息:Core 使用的 Clock 名称、触发条件和 IP 使用的存储信息。在下文第4部分触发中,Real Time Debug 工具会加载 adf 文件中的初始触发条件。同时,adf 文件会记录用户自定义的触发条件。

运行流程

所有修改完成后,可依次运行综合、布局&布线和生成码流步骤,生成 *.acf 文件。

关闭调试

当完成当前调试过程后,您需要手动在工程源代码中删除 Debugware IP 的例化代码,重新运行流程生成新的 *.acf 文件。

自动添加 Debugware IP

除了上述介绍的手动例化 Debugware IP的方式,福晞软件还提供了 Debug Insert 工具。Debug Insert 是一款基于福晞综合网表 *.amv 文件进行调试的工具。因此,在使用 Debug Insert 工具之前,您需要提前运行综合,确保生成 *.amv 网表文件。

该工具在正确设置 LA Core 个数和选择待观察的信号后,会自动生成 *.dxc 约束文件。接下来,福晞运行流程时,福晞流程读取约束文件中 LA Core 的信息,在 *.amv 网表中自动添加 Debugware IP。

因此,该工具可以帮助用户在工程中自动添加 Debugware IP,这避免了用户手动修改 RTL 源代码,简化了 IP 添加的过程,在一定程度上提高了用户调试效率。

启动 Debug Insert 工具

依次选择Tools -> Debug Insert

Flow Navigator 窗口中, 依次选择Synthesize->Open Synthesized Design->Debug Insert

Project或者Hierarchy窗口中,新建 *.dxc 文件,双击 *.dxc 文件打开工具,如图 2-7。

dead7cb4-cff8-11f0-8c8f-92fbcf53809c.png

图 2-7 Debug Insert 界面

设置 LA Core

Core Setting页面,设置 LA Core参数:

Trigger Model:设置触发模式,可选项为:Single 和 Multiple;选择 Single 时,Debugware 不支持多窗口触发方式;选择 Multiple 时,支持多窗口触发模式。但 Multiple 模式下,窗口个数设为1时,不等价于 Single 模式。Multiple 模式使用的资源数量比 Single 模式多。

Core Name:设置 LA Core 的名称,名称需要保持唯一。

Memory Depth:设置 Debugware 使用 EMB 的深度,该值大小决定了触发时采样周期数。

Input DFF Level:设置待观测信号的打拍个数,范围0~6。说明:改善增加 Debugware IP 对用户逻辑性能的影响,值越大影响越小,推荐值为2。

Clock:在LA Core行Clock列对应单元格双击,弹出Search Design对话框如图 2-8,设置要观察信号所在时钟域。未设置 Clock 时,该单元格用红色标记,并显示N/A,如上图 2-7 Debug Insert 界面。

df0ed8c4-cff8-11f0-8c8f-92fbcf53809c.png

图 2-8 时钟选择

另外,可通过工具栏中⊗或者右键菜单“Remove Core”删除当前选中 LA Core。

注意

Debug Insert 工具无需设置数据位宽,工具会根据实际选择信号个数自动确定;

如果综合网表中没有有效时钟,LA Core 将无法选择时钟;

在保存时,如果 Clock 显示为 N/A(未配置),将不能保存。

选择观察信号

Debug Insert 工具提供了两种添加信号的方式:

在 RTL 中使用MARK_DEBUG宏标记观察信号(wire 或者 reg)。

使用 Debug Insert UI 对话框选择福晞综合 amv 网表中信号。

(1)使用MARK_DEBUG

在 RTL 源文件,找到对应的 reg 或者 wire 信号,在信号前添加属性:(* MARK_DEBUG = “YES” *),然后保存 RTL,如图 2-9所示。

df6c0b52-cff8-11f0-8c8f-92fbcf53809c.png

图 2-9 MARK_DEBUG 宏

运行综合成功后,打开 Debug Insert,选择Create a new debug constraint file。Debug Insert 工具会自动加载 RTL中标记的信号。如图 2-10:

dfce0a0a-cff8-11f0-8c8f-92fbcf53809c.png

图 2-10 LA Core 页面

如图 2-10所示,工具会自动根据 MARK_DEBUG 标记的信号所属时钟域创建 LA Core。每个时钟域对应一个 LA Core,同时时钟域内的观察信号也对应添加到 LA Core 对应的被观察信号页面。

在被观察信号页面,RTL 中标记的信号和 UI 中手动添加的信号使用不同图标标记:

e028253a-cff8-11f0-8c8f-92fbcf53809c.png

代表 RTL 标记,

e0844af4-cff8-11f0-8c8f-92fbcf53809c.png

代表 UI 手动添加,

如下图 2-11所示:

e0e33910-cff8-11f0-8c8f-92fbcf53809c.png

图 2-11 MARK_DEBUG 宏添加信号

(2)使用Debug Insert UI对话框

点击 LA Core 名称对应的页面,切换到被观察信号页面。在本页面可通过⊕或者右键“Add Nets”打开福晞综合 .amv 网表中所有 Net 信号集合对话框,如图 2-12。在本对话框中,依次选择观察信号,选择完成后,点击OK,选择信号将被添加到被观察信号页面。

e1482794-cff8-11f0-8c8f-92fbcf53809c.png

图 2-12 可观察信号集合

Search Design窗口中,可根据Net Name进行查找。在该窗口中,Net 列表显示福晞综合 .amv 网表中所有的信号信息,表格有以下3列:

Net Name:信号的名称。

Status:显示该信号是否已经被添加到 LA Core 中,如果已经添加,

则以

e0844af4-cff8-11f0-8c8f-92fbcf53809c.png

标记。

Driver Module:显示该信号的驱动模块类型。

生成 *.dxc

在完成 LA Core 设置和选择完被观察信号后,可通过

Core 页面

e2017988-cff8-11f0-8c8f-92fbcf53809c.png

或者右键菜单Generate弹出

Summary对话框,显示所有配置信息。在Summary对话框中(如图2-13),选择Generate,生成 *.dxc 文件,Debugware IP文件和 *.adf 文件。

注意

使用 Debug Insert 工具生成的 adf 文件为:fx_insert_debugware_v2_1,不可修改。

e25c85e4-cff8-11f0-8c8f-92fbcf53809c.png

图 2-13 Summary 对话框

生成 *.dxc 文件后,该文件会自动加入工程,并显示在福晞软件的Hierarchy窗口和Project窗口,如图 2-14所示。编辑已存在 dxc 文件,可通过在 Hierarchy 或者 Project 窗口双击 .dxc 文件,打开 Debug Insert 工具。

e2b6dddc-cff8-11f0-8c8f-92fbcf53809c.pnge31263e6-cff8-11f0-8c8f-92fbcf53809c.png

图 2-14 Hierarchy 和 Project 窗口

运行流程

经过前边三个小节:

设置 LA Core选择观察信号生成 *.dxc;已经生成了

调试约束文件 *.dxc 和 *.adf 文件。*.dxc 文件记录了调试需要的 LA Core 设置以及需要观察的信号。 Debugware IP 的添加需要重新编译工程生成新的 *.acf 文件。

在 Console 窗口打印如下 log 信息,说明流程正常启动,如图 2-15。

e36f6154-cff8-11f0-8c8f-92fbcf53809c.png

图 2-15 Debug Insert 流程 log

关闭调试

完成调试流程后,您可以选择以下任意一种方式关闭调试流程:

在图 2-14HierarchyProject窗口中,选中 *.dxc 文件,在右键菜单中选择Remove From Project,移除 *.dxc 文件;

在图 2-7Debug Insert界面中,将Enable选项取消勾选。

注意

如图 2-1所示,由于芯片中有且只有一个 JTAG 模块,因此工程中不能同时使用手动例化 Debugware IP自动添加 Debugware IP添加 IP。否则,运行流程时,将会报如下错:

ERROR : [PLACER 01201] : The cell JTAG_DBWV1 only one in device, so can't place u_debug_u_tap_genblk1_u_jtag.

如果 Placer 报上述错误,请检查您工程中是否同时例化了 IP 并添加了处于 Enable 状态的 .dxc 文件。

下载

通过前边介绍的手动例化 Debugware IP自动添加Debugware IP方式,生成 *acf 码流文件后,

您可以通过

e3c95d8a-cff8-11f0-8c8f-92fbcf53809c.png

或者Tools->Downloader打开下载界面,

如图3-1所示。选择对应的 acf 文件,点击Program按钮下载码流至芯片。

e42b7eac-cff8-11f0-8c8f-92fbcf53809c.png

图 3-1 Downloader 界面

(未完待续……)

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

    关注

    1656

    文章

    22304

    浏览量

    630731
  • IP
    IP
    +关注

    关注

    5

    文章

    1850

    浏览量

    154979
  • 布线
    +关注

    关注

    9

    文章

    816

    浏览量

    85965
  • 调试工具
    +关注

    关注

    1

    文章

    54

    浏览量

    12933

原文标题:福晞®软件调试工具介绍:工程添加 Debugware IP

文章出处:【微信号:HME-FPGA,微信公众号:HME京微齐力】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Nuclei Studio 编译调试工程

    一.队伍介绍 本文介绍Nuclei Studio 如何编译调试工程。 二.具体方法与步骤 1.每次修改代码后要先保存,再编译。 2.为保险起见,可先“Clean Project”,再编译。 3.选择
    发表于 10-30 06:31

    VB TCP/UDP Socket调试助手软件 Socket调试工具软件

    本帖最后由 小武123 于 2016-8-26 22:05 编辑 VB软件开发——Socket调试助手软件 Socket调试工具软件 作为码农,给大家
    发表于 08-24 22:34

    CAN调试工具软件

    电子发烧友网站提供《CAN调试工具软件.rar》资料免费下载
    发表于 01-26 17:11 66次下载

    串口调试工具

    串口调试工具 便于单片机下载 串口调试工具 串口调试工具
    发表于 11-20 16:35 46次下载

    SmartCortex_M3-1700工具软件-以太网PC机软件_TCP-UDP调试工具

    SmartCortex_M3-1700工具软件-以太网PC机软件-TCP-UDP 调试工具
    发表于 07-08 11:33 0次下载

    串口调试工具

    串口调试工具
    发表于 12-28 10:16 183次下载

    介绍Lauterbach调试工具的应用

    该演示由Lauterbach中国团队提供,展现您如何通过Lauterbach强大的嵌入式调试工具Trace32来调试和分析运行在Altera Cyclone V SoC芯片上面的软件。Lauterbach
    的头像 发表于 06-26 08:09 6399次阅读

    串口调试工具软件免费下载

    串口调试工具软件免费下载
    发表于 01-05 11:06 81次下载

    串口调试工具

    串口调试工具免费下载。
    发表于 09-13 17:41 35次下载

    AN4989_STM32调试工具介绍

    AN4989_STM32调试工具介绍
    发表于 11-21 17:07 0次下载
    AN4989_STM32<b class='flag-5'>调试工具</b><b class='flag-5'>介绍</b>

    调试工具检测

    调试工具检测
    发表于 01-31 15:01 0次下载

    多核应用调试工具CodeViser介绍

    随着各种智能设备的使用,嵌入式微处理器和微控制器被广泛应用于各个领域,复杂应用需要合适的调试工具支持。J&DTech是总部位于韩国专业嵌入式系统软件调试工具供应商。基于调试专业知识
    的头像 发表于 10-20 16:51 1964次阅读
    多核应用<b class='flag-5'>调试工具</b>CodeViser<b class='flag-5'>介绍</b>

    modbus调试工具

    modbus调试工具
    发表于 04-28 13:50 97次下载

    串口调试工具

    串口调试工具
    发表于 04-28 13:53 7次下载

    京微齐力软件全面提升设计师交互体验

    IP 资源,可以有效地进行快速设计研发,缩短产品开发周期。同时 Fuxi 友好的交互式集成开发环境支持多种广泛使用的第三方设计工具协同设计,从而加速用户的设计与验证过程。 全面优化和升级的
    的头像 发表于 10-12 14:47 1497次阅读
    京微齐力<b class='flag-5'>福</b><b class='flag-5'>晞</b><b class='flag-5'>软件</b>全面提升设计师交互体验