香农展开

香农展开（），或称香农分解（）是对布尔函数的一种变换方式。它可以将任意布尔函数表达为其中任何一个变量乘以一个子函数，加上这个变量的反变量乘以另一个子函数。

例如：

可以抽取其中的变量  及其反变量 （ 取反），而得到

对逻辑函数使用香农展开，就可以使用抽取的变量作为一个选择信号，然后用数据选择器来实现该函数。

参考文献

外部链接 
Shannon’s Decomposition Example with multiplexers.
Optimizing Sequential Cycles Through Shannon Decomposition and Retiming (PDF)  Paper on application.

布尔代数