目标
1. 最小化area
2. 优化IO之间的延迟和时序逻辑寄存器到寄存器之间的延迟
3. 最小化功耗
各种术语和表示方法之类的前提背景
boolean函数
二进制:B={0,1}
单输出函数:
多输出函数:
不完全映射(有一些在输出中不关心的值*):
标量函数
- NO-set:在映射中映射结果为“1”的子集
- OFF-set:在映射中映射结果为“0”的子集
- DC-set:在映射中映射结果为“*”的子集
表示方法
- 真值表
- 卡诺图
- Cubical notation
Cubical notation其实就是一个立体的卡诺图。如下所示,abc为三个输入,即作为立方体的三个轴,然后将不同的组合按顺序标在立方体的顶点上。
共面的四个顶点可以消去两个变量
共边的两个顶点可以消去一个变量
(和卡诺图是一样的意思)
需要知道的一些概念
boolean variables (a,b,c) n个
boolean literals (a,a',b,b',c,c') 2n个
product or cube 变量的乘积
minterm 最小项
implicant 蕴含项,由最小项合并而来