逻辑优化基础-disjoint support decomposition

先遣兵

在了解 disjoint support decomposition 之前,先学习两个基本的概念。

  • disjoint

数学含义上的两个集合交集,所谓非相交,即交集为空集。

A ∩ B = C = ⊘ A \cap B = C = \oslash AB=C=
在这里插入图片描述

  • support

逻辑综合中的 s u p p o r t support support 概念是指: 一个门 g g g s u p p o r t support support 是指该门 g g g 的所有原始输入 P I PI PI

例如有一个函数:
F o u t = h ( x ) + g ( x ) Fout = h(x) + g(x) Fout=h(x)+g(x)
其中 h ( x ) = A + B h(x) = A + B h(x)=A+B g ( x ) = D + E g(x) = D + E g(x)=D+E,则 n o d e node node h h h g g g s u p p o r t support support 分别为 { A, B }、{ D, E }, F o u t Fout Fout s u p p o r t support support 为 { A, B, D, E }。

其他概念有兴趣可参考 逻辑综合知识点总结 持续更新中…

1. 简介

disjoint support decomposition ,它是用于优化布尔函数的一种技术,将其分解成具有不交 s u p p o r t support support 的较小子函数。

一个布尔函数可以表示为 (sum of products,SOP)表达式或积和式(product of sums,POS)表达式。

disjoint support decomposition 的目的是将给定表达式转换为具有较小且更易于处理的子表达式的形式。它的基本思想是识别原始表达式中没有共同变量的变量子集,并将表达式分解为只取决于这些子集的较小表达式的和。这使得函数更容易进行优化,因为较小的表达式通常更容易处理。

即:

非相交分解 == 一个函数 F F F可以被子函数 K K K J J J 表示,且 K K K J J J s u p p o r t support support 不相交,且 4J$ 只有一个输出,
F = K ( x 1 , x 2 , . . . , x j − 1 , J ( x j , . . . , x n ) ) F = K (x_1, x_2, ..., x_{j-1}, J(x_j, ..., x_n)) F=K(x1,x2,...,xj1,J(xj,...,xn))
例如有一个函数:
F = ( x 1 + x 2 ) ( x 3 ⊕ x 4 ) F = (x_1 + x_2)(x_3 \oplus x_4) F=(x1+x2)(x3x4)
最简单的 d s d dsd dsd 为图 (a) 所示:
K = ( x 3 ⊕ x 4 ) J 1 , J 1 = ( x 1 + x 2 ) K = (x_3 \oplus x_4)J_1, J_1 = (x_1 + x_2) K=(x3x4)J1,J1=(x1+x2)
或者图 (b):
K = ( x 1 + x 2 ) J 2 , J 2 = ( x 3 ⊕ x 4 ) K = (x_1 + x_2)J_2, J_2 = (x_3 \oplus x_4) K=(x1+x2)J2,J2=(x3x4)
再进一步表示为图 © F = K ( J 1 , J 2 ) = ( x 1 + x 2 ) ( x 3 ⊕ x 4 ) F = K(J_1, J_2) = (x_1 + x_2)(x_3 \oplus x_4) F=K(J1,J2)=(x1+x2)(x3x4)

在这里插入图片描述
如果一个 o u t p u t output output 被全部用 d s d dsd dsd 表示,这意味着拿掉某一个 s u p p o r t support support 不会对其他的 s u p p o r t support support 支持的逻辑造成影响,个人理解是否可以通过 d s d dsd dsd 分解由局部最优达到全局最优。

如果 F F F被一个 D A G ( G ) DAG(G) DAG(G) 表示的话,也可以表示为,应该比较容易理解:
E d g e ( G ) = E d g e ( K ) + E d g e ( J ) Edge(G) = Edge(K) + Edge(J) Edge(G)=Edge(K)+Edge(J)

2. 算法

TODO

3. 优点

TODO

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值