1. 功能声明
自然语言、真值表、布尔表达式都可以用来描述组合设备功能
2. 一个设计方式
真值表转换为布尔表达式
布尔表达式就像一个乘积之和
3. 乘积之和构成块
非门、与门、或门
4. 直接合成
真值表转为布尔表达式、布尔表达式转为电路
5. 大于2个输入的与、或门
线性提升传播延时方案
对数提升传播延时方案
不知tpd的情况下,很难说哪个实现方案延迟更小
6. 更多构建块
NAND、NOR、XOR
NAND一个CMOS门可以构建,AND要两个CMOS门(NAND+NOT)构建
NAND、NOR门不能像AND、OR门那样线性、树状连接;XOR可以。
7. 通用构建块
真值表可以由布尔等式表示,布尔等式可以由与、或、非门组成电路。
可以用NAND构建与、非、或门,则可以仅由NAND组成电路
可以用NOR构建与、非、或门,则可以仅由NOR组成电路
可称NAND、NOR为通用构建块
8. CMOS喜欢反转逻辑
反相门速度快、尺寸更大
正相门速度慢、尺寸更小
在速度与尺寸之间权衡,进行总体设计
9. 多输入NAND和NOR
多路输入NAND和NOR,可以通过树状双输入NAND和NOR组成
10. CMOS乘积之和实现
NAND、NOR可以实现乘积之和
输入连到的mos管越多,电压变化时,电容影响越大
11. 逻辑简化
12. 布尔最小化
程序可以帮助找出最简布尔表达式。
随着输入增加,找出最简布尔表达式所需的计算量比指数增加还快。
13. 带有“无需关心”的真值表
真值表中多行合并后的表(不相关的用X表示),推断出的布尔表达式,与公式化简结果一致
14. 非最简表达式场景
非最简表达式输出无波动,更宽容
15. 卡诺图
真值表转卡诺图,通过卡诺图化简
16. 4变量卡诺图
四变量卡诺图:44,二维
六变量卡诺图:44*4,三维
17. 卡诺图含义
框图圈出值1为1的单元格,会是一个化简的布尔表达式
圈出的单元格越多,表达式越简单
18. 找出基础含义
多个1形成边长为1、2、4的矩形,每个矩形都不能被其他矩形完全包含,这种矩形称为基础含义
找基础含义时,最先找出的应该是:包含1的数量最多的
19. 根据基础含义写出等式
包含所有1的基础含义,即可构造出最简等式,无需将所有基础含义都写入
选取不同的基础含义,可以得到不同的最简等式
20. 基础含义、小差错、宽容
有时最简等式,可能导致输出小差错
将所有基础含义转为布尔表达式,得到的电路,可以避免输出在输入变化时产生波动,使电路变得宽容
21. 设计一个多路数据选择器
当S端为0时,输出Y即D0;当S端为1时,输出Y即D1;
S端有k位,对应输入有2k个。多路选择器可由多个二路选择器组成树状图构成
22. 系统的实现策略
仅用多路选择器来实现布尔表达式的功能,将多路输入连接到常量0或1上(由真值表输出决定),选择输入器连接输入
23. MUX综合
真值表n个输入,MUX要有2¬n个输入,当n较大时,不太合乎实际
一个2路MUX可以实现双输入与、或、非门(乘积之和基础构建块),作为一个通用块
24. ROM
MUX适用于多路输入,选择一路输入作为输出的情形
ROM适用于多路输出
ROM的解码器,任何时刻只有一个输出为高电平,其余输出为低电平,哪一个输出为高取决于输入
25. ROM实例一
26. ROM实例二
通过控制两个垂直线上,下拉电路相关位置,即可控制两个输出
27. 更快的ROMS
之前的MOS设计,垂直线过长,导致电阻过大,速度变慢,调整一个输入列到输出的MUX上,使得效率更高
28. ROM逻辑
解码器所有输出与ROM所有输出的交点,都放一个下拉MOS管,编程控制哪个受解码器输出控制,从而动态控制输出。