基于硬件仿真的软件调试方法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二个缺点是 , J T A G连接具有独 占性 ,将影响 正在调试 的设计状态 。对于某些错误类型 ,这是一
个 无关 细节 。但是对 于其 他类 型 ,这却 是一 个重 要
问题 。
到探 测器 的连接 将不会 受 到硬件 加 速器启 动 和停止 的影 响 。 硬 件加速 器 可 以在 任何 时候 启动 和停 止 , 时
使 用探 针进 行 软件 调试 和使用 物理 开发 板执 行
用 于硬件 调 试 : 先在 硬件 加 速器 上在 线收 集波 形 , 然
后利 用 波形 进行 离线 的调试 。 本 文还 探讨 了进 行 软件 调试 的技 术 细节 ,以及
软 件是 相 同 的 , 尽管 有 点慢 。代码 可 以下 载 到设计 , 可 以设 置 断点 , 可 以检查 和更 改变 量 、 寄 存器 和存 储
连接 “ 线” 是虚拟存在而非具体存在的。此外 , 调试
器操 作到 J T A G处理 的转 换并 不 是 由一个 单 独 的物
理探 测器进 行 的 ,而 是 由硬件仿 真 主机上 运行 的一 个程 序执 行 。 物理探 测器 运行 虚拟 探头具 有若 干优 点 。 首先 ,
测 试平 台计 算 新 的仿 真 。 随着 测试 平 台愈加 复 杂 , 这 种现 象会越 来越 常见 。
该 方法 的主要优 点是 它对 于大 多数 开发人 员 来 说 较容 易理 解 ,因为其 工作方 式 和在开 发板 上使 用
尽管 存 有该 问题 , 但 仍未 找 到解决 方 法 。现今 ,
探 针调 试 的运行 方式 几 乎相 同 。 另一优 点是 , 探针 使
由于工具所 固有 的巨大的处理能力 ,通过硬件仿真 用 的 J T A G协议 通 常不 受硬 件 加速 器 较慢 的时钟 影 进行 软件 调 试是 一个 强 制性 的选 择 。但是 该解 决 方 响 。当连接 物 理设 备到 硬件加 速器 中运 行 的虚拟 设
以便 帮 助他 们观 察软 件 的操作 。
J T A G物 理 连 接
最基 本 的调试 可 通 过连 接 J T A G探 针 到硬 件 加
S o C的 功 能 的 实 现 需 包 含某 种程 度 的嵌 入 式 软 件 。
这正 是事 情 变得 复杂 的原 因 。 按 照计 算 机 协 会 ( A C M) 的规 定 , 每 8至 1 2行 新 软 件源 代 码 中通 常会 出现 一个 错误 。 调试 完 毕后 , 源码 错 误 率 下 降 至 每 1 0 0行 仅 出现 1至 5处 错 误 。 值 得 注意 的是 ,用 于验证 的任何 有意 义 的软件 都 应 该 有 几千 行 源代 码 ,嵌 入式 软件 出现 的漏 洞也 将 高
个软件调试方法 , 虽然 J T A G物理连接存有一些缺点。 首先 ,虽 然 J T AG协 议 几乎 允许 存 有任 何 时 钟
h. . h .I h…
…
, 、 ; …
, 1…
速 率 ,但 许多 探针无 法支 持 时钟启 动 和停止 。如果 硬 件加速 器启 动和停 止 ,则存 在探 针连 接 中断 的风 险 。仿 真器可 以停 止运 行 ,允 许 硬件开 发人 员上 传
器 。开发人 员 可 以通过 连续执 行 或单步 执行 来调 试
使 用最 先进 的硬件 仿 真系 统 的好 处 。
进 行软 件 调试 的最 常 见 的技 术是 通 过 J T A G探
代码。 例 如 Me n t o r G r a p h i c s的 V e l o c e 2硬 件 仿 真 系
达 1 0 0个 。
速器里的 D U T 来实现 。 来 自D U T的 J T A G信号被收
集 到安 装在 硬件 加速 器上 的 I / O卡 , 将 一个 J T A G物 理 探针 与这 些 I / O连接 。 这个 探针 连接 一个 调试 器 , 控 制 和检查 运行 在一 个 或多个 处理 器上 的软件 。
级处 理器 ,允许 软件调 试器 来控 制硬 件加 速器 内部
D U T中的一个 或多个 处理 器 。该 连接 提供 与使 用物 理连 接 的物理探 针相 同 的功能 。 唯一 区别 在于 , 设计
信号数据、 调试硬件 , 或者它可能停下来让借助开放
式验证方法学 ( O V M) 或通用验证方法学 ( U V M)
案花 费颇 高 。考 虑 到软 件开 发 团 队在 数量 上远 远 超 过硬 件设 计 团队 。 因此ห้องสมุดไป่ตู้, 我们 很 容易得 出这样 一个 结
计时 , 需要降低时钟和数据速率 , 以匹配硬件加速器
中 的设 计速 度 , 通 常 比实际速 率低 1 0到 1 0 0 倍 。对 于 许 多设备 , 这 可能 是一 项极 具挑 战性 的操作 。 幸 运
针 ,它 可 以实 际 地 或 虚 拟 地 连 接 到 待 验 证 设 计 ( D U T) 。 另 一 种 选 择 是 使 用 基 于跟 踪 的 方 法 , 从
D U T收 集信 息 ,然后 以表 格形 式 提交 给开 发人 员 ,
统 。它提供了一个常规 的 J T A G物理连接来实现这
论: 该 工 具投 资 将剧 增 。
有方法突破该难题吗? 答案是肯定的, 就是进行
一
的是 , 对于 J T A G , 降低时钟频率以匹配硬件加速器
是 一个 简单 的问题 。
次 在线 的硬件 仿 真后 ,实 际 的软件 调试 都转 入 离
线方 式进 行 调试 。 实际 上 , 遵 循 该模 式 的方法 早 已被
基于硬件仿真的软件调试方法
M e n t o r G r a p h i C S 公 司供 稿
现今 , 超过 9 0 %的 系统 芯 片 ( S o C) 设 计 包含 一 个 或 多个 嵌 入式 处理 器 ,这些 嵌 入式处 理 器在 流 片
前 就必 须 在 实 际的应 用环 境下 进 行测试 。充分 验证