亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

掌握 5 变量与 6 变量卡诺图,实现高效逻辑设计

随着组合逻辑规模增长,卡诺图尺寸扩大。了解何时适用 5 或 6 变量图、如何解读与分组单元,能在 FPGA 与 ASIC 设计中大幅削减逻辑资源。

Altera(现英特尔旗下)分析数千客户设计以了解典型扇入规模。结果分布在 2 到 6 输入间近乎平坦,并在 5 输入处出现明显峰值。实践中,大多数电路不超过 6 输入,平均设计舒适地容纳在 5 变量内。

Altera 从其客户设计库提取的数据支持异构性价值。通过检查逻辑锥、将其映射到基于 LUT 的节点并按每个节点最适合的输入数排序,Altera 发现扇入分布在 2 到 6 输入间近乎平坦,在 5 处有漂亮峰值。

下面是经典五变量卡诺图。

五变量 K 图(反射图)

掌握 5 变量与 6 变量卡诺图,实现高效逻辑设计

旧式反射风格用完整格雷码标记图顶部(6 变量图则标记侧面)。格雷码以图中心为轴镜像——这是许多经典教材的惯例。下面展示更新、首选的布局。

覆盖版 K 图

掌握 5 变量与 6 变量卡诺图,实现高效逻辑设计

覆盖图由两个相同的 4 单元子图组成,仅由 3 位地址的最高有效位区分。编号不同于反射图:若忽略最高位,序列 00, 01, 11, 10 在两子图中均出现。八位序列非格雷码,但两位后缀 01, 10 是。

将五变量图应用于实际问题:设计电路接受 5 位二进制输入 (A 为最高位, B, C, D, E),当二进制数为素数时输出逻辑高。

掌握 5 变量与 6 变量卡诺图,实现高效逻辑设计

5 位范围内的素数为 (1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31)。在对应单元标 1,然后分组 1,写出简化表达式。

在反射图中,4 单元组 A'B'E 跨越两个镜像对,而 2 单元组 AB'DE 表现为反射对。使用覆盖图时,寻找两半部的镜像分组。

Out = A'B'E + B'C'E + A'CDE + A'CD'E + ABCE + AB'DE + A'B'C'D

下面是同一表达式的覆盖版图。

掌握 5 变量与 6 变量卡诺图,实现高效逻辑设计

对比两图,因寻址方案不同,部分单元位置偏移。将一半覆盖另一半可揭示重叠分组以指导化简。例如,4 单元组 A'B'E 覆盖模式 ABCDE = 00xx1,即 A、B、E 固定为 0,0,1,而 C、D 变化。

掌握 5 变量与 6 变量卡诺图,实现高效逻辑设计

下面给出六变量卡诺图示例。通过在脑海中堆叠四个子图,可识别实现 Out = C'F' 的 4 单元组。

掌握 5 变量与 6 变量卡诺图,实现高效逻辑设计

为说明 6 变量图,考虑 3 位幅度比较器,产生三个输出:相等、大于、小于。比较器接受两个 3 位输入 A₂A₁A₀ 和 B₂B₁B₀。为简化,仅求解 A > B 输出。

6 变量 K 图

下面的覆盖图协助化简 3 位比较器 A > B 输出的逻辑。顶部与左侧的二进制地址码非完整 3 位格雷码,但每个四个子图的 2 位码是格雷码。

掌握 5 变量与 6 变量卡诺图,实现高效逻辑设计

凡 ABC 大于 XYZ 处标 1。按此填图。

分组遵循准则:

16 单元组 AX' 占据右下子图。两个 8 单元组由上下子图中相同的 4 单元模式覆盖形成。图中出现四个 4 单元组;各产生一个乘积项。最终乘积项和化简包含七项。

统计 1 的数量,共有 28 个。化简前 SOP 需 28 个六输入乘积项。K 图将其压缩为七个四输入或更少的乘积项——巨大简化。

接线图省略,但给出用 4-TTL 逻辑家族器件实现 3 位幅度比较器 (A > B) 的元件清单:

复习

工业技术

  1. 选择逻辑化简工具:卡诺图、布尔代数与 CAD
  2. 从韦恩图到卡诺图:分步转换指南
  3. 精通 4 变量卡诺图:设计、化简与实战案例
  4. AI从低分辨率卫星影像自动识别全球非正规居住区
  5. BigStitcher:精准3D组织成像变简单
  6. AI突破:仅靠罗盘、相机和GPS实现无地图自主导航
  7. Busch Precision拓展大型复杂零件加工领域
  8. WL 3.4394 T7451 铝合金 – 高强度、高韧性与耐腐蚀性
  9. WL 3.4394 T7452 高强度铝合金 — 卓越断裂韧性与耐腐蚀性
  10. WL 3.4394 T74 高强度铝合金:大尺寸结构件的优选材料
  11. 精通 Python map() 函数:语法、示例与最佳实践
  12. Java 9 集合工厂方法:一行代码创建不可变 List/Set/Map