Chap 3¶
约 1296 个字 77 张图片 预计阅读时间 4 分钟
Combinational Logic Design
Combinational Circuits¶
How to degisn¶
Technology Parameters¶
Fan-in¶
Fan-out¶
Propagation Delay¶
Delay Models
Transport delay就认为output和input永远间隔固定的时间差
Inertial delay就认为 input还要满足一定的rejection time,过短的input会被过滤掉
- 最后延迟的计算
Technology Mapping¶
NAND Mapping¶
- 与非门是万能门,可以替换AND OR, 非门同样是硬件上可由与非门组成
- 两个连续的非门 可以优化成导线,输出有交叉口的非门,可以把非门推过去再两两消
Function Blocks¶
Enabling Function¶
-
与三态门的区别:
-
三态门的EN是在中间,使其Hi-Z or not;
-
Enabling Function的EN是作为信号输入,决定最后输出状态(即EN=1,由X决定;EN=0,则一定是0)
Decoder¶
Encoder¶
MUX¶
- 两种信号:输入信号,选择信号
- 将n个选择信号decode成 \(2^n\) 个,去和 \(I_n\) AND起来
- 对于向量的选择:
- 一位一位选择
Arithmetic Functions¶
设计思路:迭代组合
Adder¶
Subtractor¶
- 用补码做减法:
-
如果M-N够减,那么最后加上 \(2^n\)也无所谓,因为相当于最高位的carry( \(2^n\)位一定有carry-in )被舍去(总位数有限,同余原理)
-
如果M-N不够,那么说明最后结果没有 \(2^n\)位的carry,那么就进行结果修正,求结果的补码,并mark为负数
Signed Integer Arithmetic¶
-
通过对符号位和操作符 做 奇函数 来判断 属于同符号数还是异符号数
-
同符号处理简单,加法处理绝对值后 加上符号位
Signed Integer and Signed 2’s Complement conversion¶
-
由补码转换成符号数:
符号数扩展¶
- 位数对齐时,整数扩展0,负数扩展1
补码能表示数的范围¶
-
上限: \(2^{n-1}-1\)
-
下限: \(-2^{n-1}\)
-
所以会有溢出的情况:
-
如果M,N的符号位相同,但结果却和他们不同,则说明发生了overflow,和有没有carry-in无关
-
而M,N符号不同,不可能overflow
电路表示¶
-
利用S决定是加法还是减法
-
然后将S传入C0,完美解决从反码到补码的转换
-
上下溢检测:
-
最简单方法:
-
我们将五个变量,去找overflow之间的函数关系
- 即最优是 \(C_{in} \oplus C_{out}\)
一些对比¶
-
无符号数和有符号数减法中,都用到了补码来变减为加,但是原理不同,现对比如下:
-
1)无符号数计算中,减去一个数等于加上这个数的补码,其原理是模N系统中的同余原理。例如,模2的三次方系统中,011–010≡011+110≡001,其中,–010和110在mod 2的三次方下同余,运算采用同余符号≡。
-
2)有符号数计算中,减去一个数等于加上这个数的补码,其原理是减去一个数等于加上这个数的相反数。因为在补码编码中,相反数互为补码关系。例如,011-010=011+110=001,其中,010(表示+2)和110(表示-2)互为相反数,运算采用等号=。
-