在 ざい 集成 しゅうせい 电路设计中 なか ,邏輯合成 ごうせい (英語 えいご :logic synthesis )是 ぜ 所 しょ 设计数字 すうじ 电路的 まと 高 だか 抽象 ちゅうしょう 级描述 じゅつ ,经过布 ぬの 尔函数 すう 化 か 简、优化后 きさき ,转换到的 てき 逻辑门 级别的 てき 电路连线网表 的 てき 过程。
通常 つうじょう ,逻辑综合的 てき 信 しん 息 いき 来 らい 源 みなもと 是 ただし 硬 かた 件 けん 描述语言 ——主要 しゅよう 是 ぜ VHDL 和 わ Verilog 等 ひとし ,设计人 じん 员通常 つうじょう 使用 しよう 硬 かた 件 けん 描述语言来 らい 进行电路的 てき 高 だか 级抽象 ちゅうしょう (通常 つうじょう 是 ぜ 数字 すうじ 电路寄 よせ 存 そん 器 き 传输级的 まと 数 すう 据 すえ 、行 くだり 为)描述数字 すうじ 电路的 てき 逻辑功 こう 能 のう ,这样他 た 们可以把更 さら 多 た 精力 せいりょく 投入 とうにゅう 功 こう 能 のう 方面 ほうめん 的 てき 设计,而避免 めん 在 ざい 一开始就研究可能极其复杂的电路连线。
然 しか 而,从电路 ろ 的 てき 高 だか 级抽象 ちゅうしょう 描述到 いた 实际连线网表,并不是 ぜ 一 いち 项简单的工作 こうさく 。在 ざい 以前 いぜん ,这需要 よう 设计人 じん 员完成 かんせい 逻辑函数 かんすう 的 てき 建立 こんりゅう 、简化、绘制逻辑门网表 ひょう 等 とう 诸多步 ふ 骤。随 ずい 着 ぎ 电路的 てき 集成 しゅうせい 规模越来 ごえく 越 えつ 大 だい ,人工 じんこう 进行逻辑综合变成了 りょう 一项十分繁琐的任务。
随 ずい 着 ぎ 电子设计自 じ 动化 的 てき 发展,逻辑综合这一步骤可以由计算机工具辅助完成。但 ただし 是 ぜ ,由 ゆかり 于自动化逻辑综合工具 こうぐ 并不总能够产生 せい 最 さい 优化的 てき 逻辑门网表 ひょう ,因 いん 此人工 じんこう 的 てき 介入 かいにゅう 仍然不可缺 ふかけつ 少 すくな 。某 ぼう 些工具 ぐ 能 のう 够在可 か 编程逻辑器 き 件 けん ,如可 か 编程阵列逻辑 (Programmable Array Logic, PAL )和 わ 现场可 か 编程逻辑门阵列 れつ (Field Programmable Gate Array, FPGA )上 じょう 生成 せいせい 数 かず 据 すえ 流 りゅう 过程,而另一些工具则可以生产专用集成 しゅうせい 电路 。逻辑综合是 ぜ 电子设计自 じ 动化的 てき 一 いち 个重要 よう 方面 ほうめん 。
逻辑综合的 てき 发展可 か 以追溯 さかのぼ 到 いた 乔治·布 ぬの 尔 (1815-1864)对逻辑代数 だいすう 的 てき 研究 けんきゅう (逻辑代数 だいすう 现在也被称 しょう 为“布 ぬの 尔代数 すう ”)。1938年 ねん ,克 かつ 劳德·香 が 农展示 てんじ 了 りょう 如何 いか 使用 しよう 逻辑代数 だいすう 来 らい 描述电路开关切 きり 换的过程。[1] 在 ざい 早期 そうき ,逻辑设计牵涉了 りょう 对真值表的 てき 处理(如利用 りよう 卡诺图 )。通 つう 过将一系列规则将卡诺图上的某些项进行合并,可 か 以得到 いた 最小 さいしょう 化 か 的 てき 逻辑,即 そく 逻辑式 しき 可 か 以得到 いた 简化。人工 じんこう 进行上述 じょうじゅつ 的 てき 操作 そうさ 可 か 以处于四到六个变量的卡诺图。但 ただし 是 ぜ 以图形 がた 表示 ひょうじ 的 てき 卡诺图不适合算法 さんぽう 的 てき 导出,因 いん 此人们需要 よう 研究 けんきゅう 代数 だいすう 形式 けいしき 的 てき 逻辑化 か 简算法 ほう 。[2] :189
对逻辑最小 さいしょう 化 か 进行自 じ 动化的 てき 第一步 だいいっぽ 是 ぜ 引入奎因-麦 むぎ 克 かつ 拉 ひしげ 斯基算法 さんぽう ,它可以在计算机上 きじょう 执行。进行逻辑简化的 てき 目的 もくてき 是 ぜ 得 え 到 いた 使用 しよう 最少 さいしょう 数量 すうりょう 的 てき 逻辑器 き 件 けん ,并精确地对表达原始 げんし 逻辑式 しき 的 てき 意 い 义。人 ひと 们可以使用 しよう 卡诺图来完成 かんせい 变量较少的 てき 逻辑函数 かんすう 的 てき 化 か 简。现在,Espresso启发式 しき 逻辑简化器 き (Espresso heuristic logic minimizer )成 なり 为了完成 かんせい 这一过程更有效的工具。早期 そうき 数字 すうじ 逻辑的 てき 另一个研究领域是对有限 ゆうげん 状 じょう 态机的 てき 简化和 わ 编码,这一工作对于当时的设计者来说并不是件容易的工作。逻辑综合的 てき 应用大 だい 多 た 于数字 すうじ 计算机 つくえ 设计相 しょう 关。IBM 和 わ 贝尔实验室 しつ 在 ざい 逻辑综合自 じ 动化工具 こうぐ 发展的 てき 早期 そうき 扮 ふん 演 えんじ 了 りょう 关键的 てき 角 かく 色 しょく 。从分立 ぶんりつ 的 てき 逻辑门到可 か 编程逻辑阵列 (Programmable logic arrays, PLA )促进了 りょう 高 だか 效率 こうりつ 的 てき 两级逻辑最小 さいしょう 化 か 的 てき 发展,这是由 よし 于两级描述 じゅつ 中 ちゅう 的 てき 最小 さいしょう 化 か 过程可 か 以减少 しょう 可 か 编程逻辑阵列的 てき 面 めん 积。
然 しか 而,两级的 てき 逻辑电路在 ざい 超 ちょう 大 だい 规模集成 しゅうせい 电路中 なか 的 てき 重要 じゅうよう 程度 ていど 受到限 げん 制 せい 。大 だい 多数 たすう 的 てき 设计者 しゃ 使用 しよう 多 た 级逻辑。实际情 じょう 况是,几乎所有 しょゆう 电路的 てき 寄 よせ 存 そん 器 き 传输级 (Register-transfer level, RTL )描述或 ある 其他行 たぎょう 为级描述都 と 是 ぜ 多 た 级的。早期 そうき IBM的 てき LSS曾被用 よう 来 らい 设计多 た 级电路 ろ 。它使用 よう 了 りょう 局部 きょくぶ 的 てき 变形来 らい 简化逻辑。LSS以及Yorktown Silicon编译系 けい 统在1980年代 ねんだい 促进了 りょう 逻辑综合的 てき 研究 けんきゅう 进程。一些大学将这些研究领域公开,其中加州 かしゅう 大学 だいがく 伯 はく 克利 かつとし 分校 ぶんこう 的 てき SIS、[3] 加州 かしゅう 大学 だいがく 洛 らく 杉 すぎ 矶分校 こう 的 てき RASP[4] 以及科 か 罗拉多 た 大学 だいがく 博 はく 尔德分校 ぶんこう 的 てき BOLD[5] 最 さい 为知名 めい 。在 ざい 十几年的时间内,逻辑综合技 わざ 术迅速 そく 转变成 なる 市 し 场上销售的 てき 电子设计自 じ 动化产品。
随 ずい 着 ぎ 集成 しゅうせい 电路的 てき 规模的 てき 不断 ふだん 增大 ぞうだい ,逻辑综合工具 こうぐ 的 てき 重要 じゅうよう 性 せい 日 び 益 えき 凸 とつ 显。首 くび 先 さき ,由 ゆかり 于电路 ろ 十 じゅう 分 ふん 复杂,过去适合小 しょう 规模、中 ちゅう 规模集成 しゅうせい 电路的 てき 技 わざ 术方法 ほう 不 ふ 再 さい 具有 ぐゆう 效率 こうりつ 的 てき 优势,此外,在 ざい 深 ふか 亚微米 まい 级的超大 ちょうだい 规模集成 しゅうせい 电路中 ちゅう ,元 もと 件 けん 的 てき 互连延 のべ 迟变得 とく 十 じゅう 分 ふん 复杂,但 ただし 是 ぜ 这一情况对于电路的正常工作十分重要,现代的 てき 硬 かた 件 けん 描述语言和 わ 逻辑综合、物理 ぶつり 设计工具 こうぐ 可 か 以很好地 こうち 处理这些问题。[6] :211 将 しょう 先 さき 进的硬 かた 件 けん 描述语言、逻辑仿真 、逻辑综合等 とう 工具 こうぐ 配合 はいごう 使用 しよう ,可 か 以提高 だか 设计工作 こうさく 的 てき 效率 こうりつ 和 わ 准 じゅん 确程度 ていど 。
第 だい 一 いち 排 はい :真 ま 值表;第 だい 二 に 排 はい :逻辑门;第 だい 三 さん 排 はい :德 とく ·摩 ま 根 ね (De Morgan )等 とう 效 こう ;第 だい 四 よん 排 はい :维恩图(注意 ちゅうい 图中的 てき 电路元 もと 件 けん 符号 ふごう 为美国 こく 国家 こっか 标准协会(ANSI)和 かず 电气电子工程 こうてい 师学会 がっかい (IEEE)的 てき 标准用法 ようほう )
在 ざい 标准的 てき 设计流 りゅう 程 ほど 中 ちゅう ,逻辑设计是 ぜ 电子电路 的 てき 功 こう 能 のう 设计 (Functional design )转换到以逻辑、算数 さんすう 以及控 ひかえ 制 せい 流 りゅう 程 ほど 的 てき 表示 ひょうじ 形式 けいしき 。这一步骤的成果通常是一个寄 よせ 存 そん 器 き 传输级 描述。逻辑设计之 の 后 きさき 的 てき 下 か 一 いち 步 ほ 是 ぜ 电路设计 。在 ざい 现代的 てき 电子设计自 じ 动化 中 なか ,逻辑设计可 か 以通过使用 しよう 基 もと 于行为级描述的 てき 高 こう 阶合成 ごうせい 工具 こうぐ 自 じ 动完成 かんせい 。[7]
逻辑功 こう 能 のう 元 もと 件 けん 通常 つうじょう 由 よし 与 あずか 、或 ある 、异或、与 あずか 非 ひ 等 ひとし 逻辑门 组成,它们在 ざい 数字 すうじ 电路中 ちゅう 是 ぜ 最 さい 基本 きほん 的 てき 电路元 もと 件 けん 。使用 しよう 这些逻辑元 もと 件 けん 可 か 以实现运算 さん 等 とう 功 こう 能 のう 。诸如加法 かほう 器 き 、乘法 じょうほう 器 き (Binary multiplier )都 みやこ 是 ただし 由 よし 基本 きほん 的 てき 逻辑元 もと 件 けん 构成的 てき 。
在 ざい 逻辑综合之 の 前 まえ ,设计人 じん 员通常 つうじょう 使用 しよう 高 だか 级抽象 ちゅうしょう 的 てき 硬 かた 件 けん 描述语言,这通常 つうじょう 不 ふ 涉 わたる 及所使用 しよう 的 てき 具体 ぐたい 器 き 件 けん 工 こう 艺。逻辑综合过程将 しょう 高 だか 级抽象 ちゅうしょう 的 てき 描述与 あずか 具体 ぐたい 的 てき 器 き 件 けん 工 こう 艺结合 あい 起 おこり 来 らい 。逻辑综合公司 こうし 和 わ 硬 かた 件 けん 厂商通常 つうじょう 进行合作 がっさく ,后 きさき 者 しゃ 把 わ 基 もと 础元件 けん (如各种逻辑门)的 てき 硬 かた 件 けん 描述语言进行预定义,附加 ふか 在 ざい 逻辑综合工具 こうぐ 里 さと ,这些预定义包含 ほうがん 了 りょう 基 もと 础元件 けん 的 てき 功 こう 能 のう 、时序等 とう 方面 ほうめん 的 てき 信 しん 息 いき 。这些信 しん 息 いき 的 てき 集合 しゅうごう 叫 さけべ 做“工 こう 艺库”。有 ゆう 的 てき 时候,系 けい 统提供 ていきょう 的 てき 工 こう 艺库并不是 ぜ 最 さい 优化的 てき ,设计人 じん 员需要 よう 自己 じこ 完成 かんせい 某 ぼう 个特定 とくてい 工 こう 艺库的 てき 定 てい 义。
高 こう 级综合 ごう 或 ある 行 くだり 为级的 てき 描述[ 编辑 ]
为了提 ひさげ 高 だか 设计人 じん 员的工作 こうさく 效率 こうりつ ,人 にん 们致力 りょく 于电路 ろ 的 てき 行 ぎょう 为级描述的 てき 研究 けんきゅう ,并在2004年 ねん 推出了 りょう 首 くび 款商用 よう 解 かい 决方案 あん ,[8] 这些工具 こうぐ 可 か 以用来 らい 设计复杂的 てき 专用集成 しゅうせい 电路 和 わ 现场可 か 编程逻辑门阵列 れつ 应用。这些工具 こうぐ 可 か 以在C层次到 いた 寄 よせ 存 そん 器 き 传输级之间自动工作 こうさく ,用 もちい 来 らい 实现门级别的设计。[8] 如今,高 こう 级综合 あい ,也被称 しょう 为行为级综合,主要 しゅよう 指 ゆび 从高级语言 げん ,例 れい 如C语言 等 ひとし ,来 らい 实现逻辑电路的 てき 合成 ごうせい ,而逻辑综合 あい 则特指 ゆび 从电路 ろ 的 てき 结构、逻辑功 こう 能 のう 向 こう 寄 よせ 存 そん 器 き 传输级的转换。
尽 つき 管 かん 自 じ 动化逻辑综合工具 こうぐ 已 やめ 经有一定 いってい 的 てき 发展,但 ただし 是 ぜ 该技术仍然 しか 有 ゆう 不 ふ 完 かん 善之 よしゆき 处。硬 かた 件 けん 描述语言只 ただ 有 ゆう 一部分子集能够被正确转化,它们被 ひ 称 しょう 为“可 か 综合的 てき ”。[9]
具有 ぐゆう 实用逻辑功 こう 能 のう 的 てき 电路通常 つうじょう 使用 しよう 了 りょう 多 た 层次的 てき 逻辑网络。现代的 てき 电路综合工具 こうぐ ,可 か 以读取、识别寄 よせ 存 そん 器 き 传输级的硬 かた 件 けん 描述语言代 だい 码,构建对应的 てき 多 た 层次逻辑电路网络。不 ふ 过有的 てき 时候,两个电路虽然能 のう 够实现基本 きほん 相 しょう 同 どう 的 てき 逻辑功 こう 能 のう ,但 ただし 是 ぜ 由 よし 于二者代码不尽相同,其中一个综合生成的门级网表可能远比另一个复杂。例 れい 如,在 ざい Verilog 里 さと ,设计人 じん 员如果 はて 不 ふ 指名 しめい 向 こう 量 りょう 寄 よせ 存 そん 器 き 的 てき 位 い 宽,那 な 么逻辑综合 あい 产生的 てき 网表会 かい 比 ひ 指 ゆび 明 あかり 位 い 宽的情 じょう 况庞大 だい 得 とく 多 た ;[6] :204 另外,如果if-else语句结构没 ぼつ 有 ゆう 指 ゆび 明 あかり 所有 しょゆう 可能 かのう 出 で 现的情 じょう 况,虽然在 ざい 功 こう 能 のう 验证 时不会 かい 出 で 现问题,但 ただし 是 ぜ 逻辑综合工 こう 具有 ぐゆう 可能 かのう 认为设计人 じん 员在定 てい 义一个电平敏感的锁存器。[6] :219 这就需要 じゅよう 设计人 じん 员掌握 しょうあく 一定的硬件描述语言编程技巧,并使用 よう 良好 りょうこう 的 てき 代 だい 码风格 かく 。
接 せっ 下 か 来 らい ,综合工具 こうぐ 会 かい 使用 しよう 对设计者来 らい 说不可 ふか 见的技 わざ 术方法 ほう ,将 はた 这个逻辑电路网络进行优化。优化的 てき 内容 ないよう ,是 ぜ 在 ざい 此阶段 だん 采 さい 取 と 一些与具体半导体器件工艺无关的计算机技术,来 らい 简化逻辑函数 かんすう ,从而让所用 よう 的 てき 逻辑门数减少,并满足 あし 一定 いってい 的 てき 时序、面 めん 积、功 こう 耗要求 ようきゅう 。这一步所完成的任务和人工利用卡诺图 化 か 简逻辑函数 すう 的 てき 目的 もくてき 一致 いっち ,不 ふ 过自动化的 てき 逻辑综合工具 こうぐ 大 だい 大 だい 降 くだ 低 てい 了 りょう 人工 じんこう 操作 そうさ 的 てき 难度和 わ 错误率 りつ 。
最 さい 后 きさき ,优化过后的 てき 逻辑门网表 ひょう 将 はた 进一步接受各种验证,保 ほ 证其功 こう 能 のう 符合 ふごう 设计人 じん 员的预期。然 しか 后 きさき ,网表将 はた 被 ひ 送 おく 往集成 しゅうせい 电路硬 かた 件 けん 厂商,在 ざい 那 な 里 さと 技 わざ 术人员将采 さい 用 よう 器 き 件 けん 与 あずか 具体 ぐたい 器 き 件 けん 工 こう 艺相关的技 わざ 术,根 ね 据 すえ 逻辑门网表 ひょう 制 せい 造 づくり 真 ま 实的电路,如专用集成 しゅうせい 电路 。
Electronic Design Automation For Integrated Circuits Handbook , by Lavagno, Martin, and Scheffer, ISBN 978-0-8493-3096-4 A survey of the field of Electronic design automation . The above summary was derived, with permission, from Volume 2, Chapter 2, Logic Synthesis by Sunil Khatri and Narendra Shenoy.
A Consistent Approach in Logic Synthesis for FPGA Architectures , by Burgun Luc, Greiner Alain, and Prado Lopes Eudes, Proceedings of the international Conference on Asic (ASICON), Pekin, October 1994, pp. 104–107.