龙芯-2系统芯片组的混合形式化验证


Verifying the Chipset Design of Godson-2 with Hybrid Formal Method

张珩
中国科学院计算技术研究所系统结构研究室 北京  100080
zhangheng@ict.ac.cn

Zhang Heng
Department of Computer Architecture, Institute of Computing Technology, CAS, Beijing, 100080

摘要:

目前基于断言的验证方法 ( Assertion Based Verification ), 尤其是基于断言的形 式化验证方法被越来越多地应用到大规模ASIC设计的功能验证中。形式化验证方法与传统的基于动态仿真的验证方法相比可以更加有效地发现系统设计中的错误,并且更加充分地验证系统设计。

本文介绍了在龙芯-2系统芯片组的设计验证过程中使用的形式化验证方法和流程。在该流程中我们使用了Synopsys公司的形式化验证工具Megallen对设计的模块级RTL进行了基于断言的功能验证,在较短的时间内完成了模块级的功能验证工作。

I. 引 言

随 着 集 成 电 路 技 术 的 不 断 发 展, 功 能 验 证 已 经 成 为 了 ASIC 设 计 流 程 的 瓶 颈, 这 是 因 为 验 证 的 复 杂 度 随 着 设 计 的 增 大 呈 指 数 增 长。 在 一 个 大 规 模 集 成 电 路 的 开 发 过 程 中, 使 用 单 一 的、 传 统 的 基 于 动 态 模 拟 仿 真 的 方 法 进 行 功 能 验 证 已 经 不 能 满 足 设 计 的 需 要。 使 用 新 的 验 证 方 法 和 流 程 成 为 高 效 解 决 验 证 问 题 的 关 键。 同 时 下 面 几 个 原 因 也 决 定 了 模 块 级 验 证 在 大 规 模 A S I C 验 证 流 程 中 也 起 着 越 来 越 重 要 的 作 用:
系 统 级 验 证 只 有 在 整 体 设 计 基 本 完 成 之 后 才 能 进 行。 模 块 级 验 证 可 以 和 设 计 并 行 进 行, 并 有 效 的 提 高 模 块 的 设 计 质 量。
设 计 工 程 师 对 设 计 模 块 有 比 较 透 彻 的 了 解, 可 以 很 快 分 析 和 定 位 设 计 缺 陷 (bug)。
当 模 块 级 的 设 计 缺 陷 带 入 到 系 统 级 后, 设 计 缺 陷 分 析 和 定 位 的 复 杂 性 大 大 增 加
高 质 量 的 设 计 模 块 可 以 更 容 易 地 在 其 他 设 计 中 进 行 重 用。
断 言 和 形 式 验 证(model check) 技 术 可 以 在 没 有 完 备 测 试 激 励 的 情 况 下 帮 助 模 块 设 计 工 程 师 发 现 潜 在 的 设 计 缺 陷。 形 式 验 证 技 术 在 短 期 内 还 难 以 应 用 到 超 大 规 模 SoC 系 统 验 证。

在 龙 芯 系 统 的 设 计 过 程 中, 实 际 的 经 验 已 经 使 我 们 充 分 认 识 到 高 效 率、 高 质 量 的 模 块 级 验 证 在 整 个 设 计、 验 证 流 程 中 的 重 要 性。

形 式 化 验 证 方 法 已 经 越 来 越 多 的 被 引 入 到 ASIC 开 发 项 目 中, 比 如 基 于 断 言 的 验 证, 等 价 性 检 验 和 模 型 检 验 等。 形 式 化 验 证 方 法 可 以 高 效、 完 备 地 验 证 设 计 的 功 能 正 确 性。 特 别 在 处 理 模 块 级 功 能 验 证 时 能 够 显 著 的 提 高 验 证 的 效 率 和 质 量。 Synopsys 公 司 的 混 合 形 式 化 验 证 工 具 Megallen 集 合 了 基 于 断 言 的 形 式 化 引 擎 以 及 内 建 的 测 试 激 励 产 生 和 RTL 仿 真 引 擎, 即 提 供 了 形 式 化 验 证 的 快 速 完 备, 同 时 也 增 大 了 处 理 问 题 的 规 模。 正 是 由 于 引 入 了 以 Megallen 为 主 要 工 具 的 混 合 形 式 化 验 证 方 法 才 使 龙 芯-2 系 统 芯 片 的 验 证 效 率 得 到 了 很 大 的 提 高。 本 文 主 要 介 绍 了 在 龙 芯 2 的 系 统 芯 片 的 开 发 验 证 流 程 中, 使 用 的 混 合 形 式 化 验 证 方 法 和 流 程。 第 二 部 分 主 要 介 绍 龙 芯 2 系 统 芯 片 的 主 要 结 构; 第 三 部 分 介 绍 混 合形 式 化 验 证的 流 程; 第 四 部 分 介 绍 基 于 断 言 的 通 讯 协 议 的 检 验 器 的 开 发 和 AIP(Assertion IP) 的 使 用; 第 五 部 分 介 绍 运 行 结 果 和 分 析 ; 最 后 给 出 结 论。

II. 龙 芯 2 系 统 芯 片 的 基 本 结 构 和 验 证 特 征

龙 芯 2 的 系 统 芯 片 (也 称 为 北 桥 芯 片)。 北 桥 的 内 部 逻 辑 可 以 大 致 分 成 MIPS CPU 接 口 模 块、 PCI 接 口 模 块(Master/Slave)、 DDR SDRAM 接 口 模 块、 Local I/O 接 口 模 块、 寄 存 器 模 块、 中 断 控 制 模 块、 系 统 仲 裁 模 块 和 PCI 仲 裁 模 块 等 8 个 子 模 块。 其 中 包 括 3 个 主 设 备 和 4 个 从 设 备, 主 从 设 备 之 间 采 用 crossbar 交 叉 互 联 的 总 线 方 式 进 行 数 据 传 递, 做 到 最 大 限 度 的 提 高 北 桥 内 部 的 数 据 吞 吐 率。 整 个 北 桥 的 系 统 结 构 如 图 II 1 所 示:

图 II 1 系 统 芯 片 结 构 框 图

在 整 个 设 计 中, 多 种 接 口 的 协 议 验 证 是 工 作 的 关 键, 特 别 是 PCI 总 线 接 口 协 议、 DDR SDRAM 协 议、 交 叉 开 关 互 连(wishbone) 总 线 协 议 以 及 CPU 和 系 统 芯 片 接 口 协 议 的 验 证。 通 过 使 用 商 业 的 VIP(Verification IP), 可 以 减 少 验 证 的 工 作 量。 例 如 synopsys 公 司 提 供 的 DesignWare Library 中 就 有 用 于 PCI 验 证 的 AIP 。 同 时 还 需 要 根 据 设 计 规 范 所 描 述 的 功 能 属 性 开 发 出 自 己 的 协 议 检 验 器(protocol checker)。 这 样 即 可 以 在 基 于 动 态 的 模 拟 仿 真 验 证 流 程 中 使 用 这 些 断 言 来 检 验 设 计, 也 可 以 使 用 Megallen 这 样 的 形 式 化 验 证 工 具 来 静 态 验 证 设 计 的 逻 辑 功 能 正 确 性。

III. 混 合 形 式 化 验 证 的 流 程

引 入 形 式 化 验 证 工 具 和 方 法, 并 不 能 完 全 替 代 传 统 的 基 于 模 拟 仿 真 的 验 证 方 法, 而 是 对 模 拟 仿 真 的 一 个 重 要 补 充 , 特 别 是 对 于 使 用 传 统 仿 真 方 法 很 难 验 证 的 一 些 corner cases, 以 此 来 提 高 验 证 的 效 率 和 质 量。 在 龙 芯 2 系 统 芯 片 的 模 块 级 形 式 化 功 能 验 证 中 使 用 了 如 图 III 1 所 示 的 流 程。

图 III 1 混 合 形 式 化 验 证 基 本 流 程

首 先 根 据 设 计 规 范 撰 写 验 证 文 档。 描 述 清 晰 准 确 的 验 证 文 档 是 完 成 验 证 工 作 的 重 要 前 提。 通 常 的 设 计 规 范 是 使 用 自 然 语 言 来 描 述 设 计 属 性 的, 将 自 然 语 言 描 述 的 设 计 规 范 转 化 为 形 式 化 语 言 描 述 是 一 个 好 方 法。 使 用 assertion 定 义 设 计 规 范 中 设 计 属 性 是 使 用 Magellen 进 行 形 式 化 验 证 的 重 要 前 提。

Assertion 大 致 可 以 分 为 两 类: 设 计 实 现 的 属 性, 它 和 设 计 的 实 现 描 述 紧 密 相 关; 设 计 接 口(例 如 接 口 protocol) 的 属 性, 他 和 设 计 要 满 足 的 接 口 功 能 紧 密 相 关。 通 常 由 设 计 工 程 师 描 述 第 一 类 属 性, 而 由 验 证 工 程 师 描 述 第 二 类 属 性。

在 描 述 设 计 规 范 的 同 时 还 要 选 定 进 行 验 证 的 模 块 边 界 以 及 该 模 块 边 界 上 输 入 激 励 的 约 束 条 件(对 于 Magellan 来 说, 也 可 以 由 assertion 定 义 约 束 条 件)。 Megallen 内 部 集 成 的 形 式 化 验 证 引 擎 会 证 明 在 设 定 的 输 入 约 束 下 设 计 属 性 是 否 可 被 满 足。 如 果 有 设 计 属 性 被 违 反 则 会 停 止 分 析 并 给 出 相 应 的 测 试 激 励。 设 计 和 验 证 人 员 可 以 根 据 Megallen 提 供 的 测 试 激 励 对 设 计 进 行 分 析 调 试, 以 确 定 发 现 的 不 满 足 属 性 是 由 什 么 样 的 设 计 缺 陷 造 成 的。 有 时 设 计 属 性 不 满 足 的 原 因 也 可 能 是 assertion 的 描 述 错 误 或 者 边 界 约 束 条 件 设 定 错 误 造 成。 这 就 需 要 重 新 修 改 assertion 的 描 述 或 者 重 新 确 定 模 块 边 界 和 相 应 的 输 入 约 束。

另 外 模 块 边 界 的 选 择 不 合 理, 输 入 约 束 的 不 准 确 都 可 以 导 致 Magellen 不 能 给 出 检 验 结 果。 比 如 模 块 规 模 选 择 的 过 大, 就 会 造 成 运 行 时 间 过 长, 或 者 无 法 证 明 设 计 属 性。 这 就 需 要 重 新 选 择 要 验 证 的 模 块 边 界, 以 及 重 新 确 定 约 束 条 件。

IV. 基 于 断 言 的 协 议 检 验 器 和 边 界 约 束

通 过 上 述 的 介 绍 可 以 看 出, 在 整 个 混 合 形 式 化 验 证 流 程 中 以 下 两 点 是 关 键: 对 于 设 计 而 言, 哪 些 属 性 是 需 要 重 点 关 注 的, 如 何 将 这 些 我 们 重 点 关 注 的 设 计 属 性 转 化 为 assertion 进 行 准 确 的 描 述; 另 一 个 问 题 是 我 们 如 何 确 定 进 行 检 验 的 模 块 边 界 以 及 相 应 的 正 确 的 边 界 约 束 条 件。

为 了 更 好 的 描 述 断 言 和 设 计 的 属 性, 使 用 类 似 Verilog、 Jeda 和 SystemC 特 点 的 伪 代 码 来 进 行 编 写 验 证 文 档 是 一 个 好 的 方 法。 这 些 伪 代 码 的 用 处 就 是 作 为 以 后 写 Assertion 和 各 种 属 性 的 参 考。 示 例 如 代码 IV 1(DDR SDRAM 控 制 器 的 REFRESH):

代码 IV 1 设 计 属 性 的 伪 代 码 示 例

在 龙 芯 2 系 统 芯 片 的 验 证 中 使 用 了 四 个 主 要 协 议 检 验 器, 其 中 包 括 DesignWare 中 的 PCI VIP AIP, 还 有 定 制 的 三 个 协 议 监 测 器: CPU 接 口 协 议 检 验 器、 DDR SDRAM 协 议 检 验 器 和 内 部 交 叉 开 关 协 议 检 验 器。 在 确 定 模 块 边 界 时 需 要 考 虑 模 块 的 设 计 规 模 , 边 界 上 输 入 信 号 的 复 杂 度 等 等 因 素。 例 如 在 龙 芯 2 系 统 芯 片 的 验 证 中 对 PCI target 的 验 证 中 我 们 采 用 的 模 块 分 割 如 图 IV 1。 正 是 由 于 良 好 的 模 块 划 分 使 得 验 证 过 程 进 行 比 较 顺 利 ,在 合 理 的 时 间 内 完 成 了 验 证 过 程。

图 IV 1PCI Slave 验 证 的 模 块 边 界 划 分

V. 运 行 结 果 与 分 析

Magellen 提 供 了 良 好 的 图 形 界 面 , 可 以 方 便 的 进 行 操 作 和 维 护。 在 四 天 的 时 间 内 对 P C I 模 块 的 21 项 设 计 属 性 进 行 了 验 证, 证 明 了 20 项 设 计 属 性, 并 发 现 一 个 属 性 没 有 满 足。 Magellen 在 发 现 不 满 足 的 设 计 属 性 时 会 自 动 给 出 testbench 和 相 应 的 测 试 激 励, 用 来 生 成 反 例, 这 极 大 的 方 便 了 RTL 设 计 代 码 的 调 试 工 作。图 V 1 是 Magellan 给 出 的 违 反 该 属 性 的 一 个 反 例 的 波 形 图。

该 属 性 的 描 述 是: 一 旦 目 标 设 备 将 TRDY# 信 号 置 位, 直 至 数 据 周 期 结 束 不 能 改 变 TRDY# 信 号。(Neither the master nor the target can change its mind once it has committed to the current data transfer until the current data phase completes. (A data phase completes when IRDY# and [TRDY# or STOP#] are asserted.),Section3.2.1,PCI Local BUS Specification)。 该 属 性 的 OpenVera Assertion 描 述 如 代码 V 1:

代码 V 1 Assertion 代 码 的 一 个 例 子

通 过 波 形 图 我 们 可 以 发 现 在 数 据 周 期 没 有 结 束 时 目 标 设 备 改 变 了 TRDY# 信 号 的 值, 设 计 者 可 以 快 速 的 定 位 错 误 的 原 因, 从 而 改 正 设 计 的 逻 辑 错 误。 而 该 错 误 在 使 用 基 于 动 态 模 拟 仿 真 的 验 证 方 法 时 并 没 有 发 现。 如 果 希 望 在 模 拟 仿 真 时 重 现 该 错 误, 则 需 要 花 费 更 多 的 时 间 和 人 力。

VI. 结 论 和 未 来 工 作

使 用 断 言 描 述 设 计 的 功 能 属 性 同 时 使 用 Megallen 进 行 形 式 化 验 证 , 是 龙 芯 2 系 统 芯 片 设 计 验 证 采 用 的 新 流 程, 事 实 证 明 该 流 程 减 少 了 验 证 工 作 量, 提 高 了 验 证 质 量 。 对 于 使 用 传 统 的 基 于 动 态 模 拟 仿 真 的 验 证 方 法 提 供 很 好 的 互 补。

可 验 证 性 设 计 (Design For Verification: DFV) 是 当 今 的 设 计 验 证 领 域 的 一 个 重 要 方 展 方 向, 而 在 设 计 初 期 就 加 入 assertion 描 述 设 计 属 性 是 可 验 证 性 设 计 的 一 个 重 要 方 法。 使 用 Megallen 进 行 基 于 断 言 的 形 式 化 验 证 也 将 成 为 主 要 的 ASIC 功 能 验 证 方 法 之 一,从 而 被 广 大 的 验 证 工 程 师 接 受。

附 录 1 PCI Target 形 式 验 证 的 Magellan 工 程 文 件

##

## Magellan Project: project1

##

define_project project1\

-simulator vcs\

-format verilog

## Design ############################################################

define_design mytop\

-topModule mytop

set_design_info -vcs {

+incdir+../verilog -y ../verilog +libext+.v ../dummy/mytop.v

../dummy/wbdummy.v

}

## Environment(s) ####################################################

## Environment: env1

define_env env1

set_env_reset env1\

-xOverride 1\

-taskFormat verilog

add_env_info env1\

-simOptions {

-ova_quiet

}

add_env_port env1 -name clk_in -clock 100

add_env_port env1 -name reset_in -reset 0

add_env_port env1 -name reset_in -constant 1

add_env_block env1 -name SnpsPciCommonExpressions\

-files {

/home/whan/magellan/ict/pci/mg/ova/SnpsPciCommonExpressions.ova

/home/whan/magellan/ict/pci/mg/ova/SnpsPciCoverage.ova

/home/whan/magellan/ict/pci/mg/ova/SnpsPciMasterChecker.ova

/home/whan/magellan/ict/pci/mg/ova/SnpsPciTargetChecker.ova

} -format ova -simAlways

add_env_block env1 -name masterbind\

-files {

/home/whan/magellan/ict/pci/mg/bind/masterbind.ova

/home/whan/magellan/ict/pci/mg/bind/targetbind.ova

} -format ova -simAlways

## Coverage Module(s) ################################################

## Coverage: target_cov

define_coverage target_cov

add_coverage_info target_cov\

-scope {

mytop.TC1.SnpsPciCov*

}

## Property Module(s) ################################################

## Property: trial1_constraint

define_property trial1_constraint

add_property_info trial1_constraint -constraint -scope { mytop.MC1.c_SnpsPciMP54_GRANTED_MASTER_CAN_START_THE_TRANSFER \

mytop.MC1.c_SnpsPciMP18_NO_MASTER_ABORT_BEFORE_FIVE_CLKS_FROM_FRAME \

mytop.MC1.c_SnpsPciMP09_NO_RESERVED_BURST_ORDERING_AD_1_1 \

mytop.MC1.c_SnpsPciMP02_ALL_BE_ASSERTED_FOR_MEM_WR_INV \

mytop.MC1.c_SnpsPciMP36_DEASSERT_FRAME_ONCE_STOP_ASSERTED \

mytop.MC1.c_SnpsPciMP13b_NO_BE_CHANGE_UNTIL_DP_COMPLETE \

mytop.MC1.c_SnpsPciMP08_NO_RESERVED_BURST_ORDERING_AD_0_1 \

mytop.MC1.c_SnpsPciMP55_IDSEL_CAN_BE_ASSERTED_FOR_CFG_TRANSFER \

mytop.MC1.c_SnpsPciMP18_END_THE_TRANSFER_AFTER_FIVE_CLKS \

mytop.MC1.c_SnpsPciMP33_NO_DAC_IF_UPPER_ADDR_IS_ZERO \

mytop.MC1.c_SnpsPciMP11a_VALID_ADDR_DURING_ADDR_PHASE \

mytop.MC1.c_SnpsPciMP35a_VALID_CMD_DURING_ADDR_PHASE \

mytop.MC1.c_SnpsPciMP06_IRDY_0_NO_CHANGE_FRAME_TILL_DP_END \

mytop.MC1.c_SnpsPciMP32_FRAME_ASSERTED_DURING_2ND_ADDR_PHASE_OF_DAC \

mytop.MC1.c_SnpsPciMP14_FRAME_DEASSERT_ONLY_WITH_IRDY \

mytop.MC1.c_SnpsPciMP52_KEEP_IRDY_FRAME_1_AT_POSEDGE_RST \

mytop.MC1.c_SnpsPciMP37_DEASSERT_IRDY_AFTER_COMPLETION \

mytop.MC1.c_SnpsPciMP19_REPEAT_TRANSFER_AFTER_RETRY \

mytop.MC1.c_SnpsPciMP13a_VALID_AD_1_0_C_BE_COMB_FOR_IO \

mytop.MC1.c_SnpsPciMP07_IRDY_0_NO_CHANGE_IRDY_TILL_DP_END \

mytop.MC1.c_SnpsPciMP46_NO_DAC_JUST_AFTER_DAC \

mytop.MC1.c_SnpsPciMP23_MASTER_LATENCY_8_CLKS \

mytop.MC1.c_SnpsPciMP17_NO_MASTER_ABORT_IF_DEVSEL_ASSERTED \

mytop.MC1.c_SnpsPciMP34_DEASSERT_REQ_FOR_2_CLK_AFTER_RETRY_OR_DISCON \

mytop.MC1.c_SnpsPciMP03_LINEAR_INCR_BURST_MODE_FOR_MEM_WR_INV \

mytop.MC1.c_SnpsPciMP49_64_BIT_ADDR_ONLY_FOR_MEM_TRANSFER \

mytop.MC1.c_SnpsPciMP35b_VALID_CMD_DURING_ADDR_PHASE \

mytop.MC1.c_SnpsPciMP53_NO_IRDY_WITHOUT_START_OF_TRANSFER \

mytop.MC1.c_SnpsPciMP47_NO_IRDY_DURING_ADDR_PHASE \

mytop.MC1.c_SnpsPciMP05_DATA_TRANSFER_ONLY_WHEN_BOTH_TRDY_AND_IRDY \

mytop.MC1.c_SnpsPciMP29_DRIVE_VALID_PAR \

}

## Property: tp05

define_property tp05

add_property_info tp05 -checker -scope { mytop.TC1.c_SnpsPciTP05_ONCE_TRDY_0_NO_CHANGE_ON_TRDY_TILL_DP_END \

}

## Property: tp20

define_property tp20

add_property_info tp20 -checker -scope { mytop.TC1.c_SnpsPciTP20_NO_TRDY_STOP_DEVSEL_ACK64_AFTER_COMPLETION \

}

## Property: tp_all_22v

define_property tp_all_22v

add_property_info tp_all_22v -checker -scope { mytop.TC1.c_SnpsPciTP21_DISCONNECT_WHEN_BURST_CROSSES_RESOURCE_BOUNDARY \

mytop.TC1.c_SnpsPciTP16_DISCONNECT_IF_RESERVED_BURST_MODE \

mytop.TC1.c_SnpsPciTP03_NO_ALIAS_FOR_RESERVED_CMDS \

mytop.TC1.c_SnpsPciTP29_DEVSEL_REMAIN_ASSERTED_TILL_END \

mytop.TC1.c_SnpsPciTP07_ONCE_TRDY_0_NO_CHANGE_ON_STOP_TILL_DP_END \

mytop.TC1.c_SnpsPciTP20_NO_TRDY_STOP_DEVSEL_ACK64_AFTER_COMPLETION \

mytop.TC1.c_SnpsPciTP11_DATA_TRANSFER_ONLY_WHEN_BOTH_TRDY_AND_IRDY \

mytop.TC1.c_SnpsPciTP32_DRIVE_VALID_PAR \

mytop.TC1.c_SnpsPciTP24_DEASSERT_TRDY_BEFORE_TARGET_ABORT \

mytop.TC1.c_SnpsPciTP08_ONCE_STOP_0_NO_CHANGE_ON_STOP_TILL_DP_END \

mytop.TC1.c_SnpsPciTP10_ONCE_STOP_0_NO_CHANGE_ON_DEVSEL_TILL_DP_END \

mytop.TC1.c_SnpsPciTP23_ONCE_ASSERTED_STOP_REMAINS_TILL_END \

mytop.TC1.c_SnpsPciTP05_ONCE_TRDY_0_NO_CHANGE_ON_TRDY_TILL_DP_END \

mytop.TC1.c_SnpsPciTP19_NO_TRDY_DURING_TURN_AROUND_OF_READ \

mytop.TC1.c_SnpsPciTP28_DEVSEL_BEFORE_ANY_OTHER_RESPONSE \

mytop.TC1.c_SnpsPciTP25_DEASSERTED_STOP_THEN_NO_CONTINUE \

mytop.TC1.c_SnpsPciTP06_ONCE_TRDY_0_NO_CHANGE_ON_DEVSEL_TILL_DP_END \

mytop.TC1.c_SnpsPciTP30_NO_RESPONSE_TO_SPECIAL_CYCLES \

mytop.TC1.c_SnpsPciTP09_ONCE_STOP_0_NO_CHANGE_ON_TRDY_TILL_DP_END \

mytop.TC1.c_SnpsPciTP26_INITIAL_TGT_LATENCY_16_CLOCK_CYCLES \

}

## Session Module(s) ################################################

## Session: s_tp05

define_session s_tp05\

-env env1

set_session_info s_tp05 \

-debugLog 1

add_session_info s_tp05\

-property {

trial1_constraint

tp05

}

## Session: s_tp20

define_session s_tp20\

-env env1

add_session_info s_tp20\

-property {

tp20

trial1_constraint

}

## Session: s_tpall

define_session s_tpall\

-env env1

add_session_info s_tpall\

-property {

trial1_constraint

tp_all_22v

}

## Session: s_target_cov

define_session s_target_cov\

-env env1

add_session_info s_target_cov\

-coverage {

target_cov

}\

-property {

trial1_constraint

}

附 录 2 20 个 被 Magellan 验 证 的 属 性 报 告

Magellan 在 验 证 结 束 之 后 可 以 给 出 一 个 HTML 格 式 的 报 告,下 图 是 其 中 的 一 页,显 示 在 这 次 验 证 中, 有 31 个 属 性 作 为 Constraints, 20 个 属 性 被 证 明 是 正 确 的。

单 击 链 接 可 以 得 到 更 详 细 的 信 息, 例 如 单 击 被 证 明 的 20 个 属 性, 则 可 以 得 到 如 下 图 所 示 的 结 果:

单 击 Browse 还 可 以 通 过 Virsim 或 者 Debussy 看 到 相 应 的 源 代 码。