@ [TCO] (目录)
用数据选择器搭建门电路的一般步骤
- 写出门电路的真值表
- 根据真值表写出表达式
- 根据表达式画出电路图
其中选择器可以通过传输门搭建
1. 非门
A | out |
---|---|
0 | 1 |
1 | 0 |
assign out = A ? 0 : 1;
需要一个选择器,也可以直接用CMOS门电路搭建
2. 与门
A | B | out |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
assign out = A ? B : 0;
如果用与非+非门搭建,也需要6个MOS管;如果用一个MUX搭建,则也需要6个MOS管
3. 或门
A | B | out |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
assign out = A ? 1 : B;
如果用或非+非门搭建,也需要6个MOS管;如果用一个MUX搭建,则也需要6个MOS管
4. 异或门
A | B | out |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
assign out = A ? -B : B;
如果用表达式搭建,则out = AB+AB,则需要两个与门,一个或门,两个非门;如果用选择电路搭建,则需要两个MUX,其中一个选择器需要6个管,非门需要两个MOS管,所以异或门需要8个MOS管;
5. 同或门
A | B | out |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
assign out = A ? B : -B;
如果用表达式搭建,则out = AB+AB,则需要两个与门,一个或门,两个非门;如果用选择电路搭建,则需要两个MUX,其中一个选择器需要6个管,非门需要两个MOS管,所以异或门需要8个MOS管;
6. 一位全加器
A | B | ci | sum | co |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
sum = A ^ B ^ Ci
co = AB + (A^B)Ci
A^B是两个,异或Ci,又两个,AB一个, 与Ci又一个,所以最少6个选择器
7. 用与或非门构造数据选择器
assign out = selA +~sel B
所以需要两个与门,一个非门,一个或门。