Digital Logic Design
Number Systems, Arithmetic and Codes
[1] 将下列十进制数转换为有符号二进制,八进制和十六进制,使用尽可能少的比特位
a)17
b)-17
a: 对17辗转相除,得到其二进制为010001,八进制为21,十六进制为0x11。注意二进制必须是010001,而不是10001,不能缺少符号位
b: 根据17的二进制,-17的二进制数原码位110001,取反加一得到补码为101111,因此八进制为57,十六进制为0x2f
二进制转八进制,取三合一,二进制转十六进制,取四合一
[2] 0x3A的十进制数是多少?
ans=3*16^1 10*16^0=58
[3] 什么是格雷码,格雷码相对于普通二进制码有什么好处?
格雷码是一种二值编码,相邻的编码之间只有一位的区别。因此与普通二进制码相比,在递增时出错概率更加小。下表是3bit的格雷码编码:
十进制 | 二进制 | 格雷码 |
---|---|---|
0 | 000 | 000 |
1 | 001 | 001 |
2 | 010 | 011 |
3 | 011 | 010 |
4 | 100 | 110 |
5 | 101 | 111 |
6 | 110 | 101 |
7 | 111 | 100 |
此外,由于格雷码中比特位变化比较少,与二进制码相比,使用格雷码的功耗更加低
[4] 什么是奇偶校验位,如何计算?
奇偶校验位是在一串二进制码的最后添加的一位,它使得整个二进制串的1的个数为奇数或者偶数。因此奇偶校验分为两种,奇校验和偶校验。
计算校验位需要对二进制码中的1进行计数。如果1的数量为奇数,并且使用偶校验,则校验位为1,使得整体1的个数为偶数。如果1的数量为偶数,并且使用偶校验,则校验位为0,使得整体1的个数为偶数。奇校验类似。奇偶校验位可以通过对所有的比特位进行异或得到。
[5] 计算二进制数111001的奇校验位
111001中1的个数为4个,所以校验位为1,带上校验位以后为1110011,1的个数为5,为奇数
[6] 什么是BCD码,他和二进制码有什么区别?十进制27的二进制码和BCD码是什么?
BCD码也称二进码十进数,BCD码可分为有权码和无权码两类。其中,常见的有权BCD码有8421码、2421码、5421码,无权BCD码有余3码、余3循环码、格雷码。8421BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。
2的二进制位0010,7的二进制位0111,十进制27的8421BCD码为,00100111,二进制码为11011
Basic Gates
[7] 以下哪个是通用门?为什么?
- AND
- NAND
- OR
- NOR
- XOR
通用门是可以实现任何布尔函数而无需使用任何其他门类型的门。与非门或非门是通用门。
[8] 如何使用两个两输入与非门实现,两输入与门,两输入或门,非门?
与门:
或门:
非门:
[9] 如何使用两个两输入或非门实现,两输入与门,两输入或门,非门?
与门:
或门:
非门:
[10] 用一个2:1MUX构成下面的门
- 非门
- 两输入与门
- 两输入或门
- 两输入或非门
- 两输入与非门
- 两输入异或门
非门:
与门:
或门:
或非门:用或门和非门组成
与非门:用与门和非门组成
异或门:
[11] 异或门在数据通信中的典型应用是什么?
通常被用于错误检测,例如,奇偶校验,CRC校验,ECC。异或门也可以用于伪随机数生成。
[12] 三输入与非门的输出何时为0?
所有输入都为1
[13] 如何使用异或门实现一个非门
Combinational Logic Circuits
[14] 请用2:1选择器实现4:1选择器
[15] 什么是环形振荡器?如果每个门的延迟是2ps,使用三个非门的环形振荡器的频率是什么?
环形振荡器可以由奇数个非门组成,非门或者反相器连接成链后,最后一个输出反馈回第一个反相器。
三个反相器,信号需要经过两次反馈,即2*3个反相器,振荡频率为1/(6*2ps) = 1000/12 GHz = 83.33 GHz
Sequential Circuits and State Machines
[16] 同步电路和异步电路有什么不同?
时序电路分为两种,同步时序电路和异步时序电路
同步时序电路在适中的上升沿或者下降沿改变状态和输出值。常见的例子是flip-flop,在时钟边沿根据输入改变输出。
异步时序电路的状态和输出值是根据使能信号进行控制,这更加类似于一个带有反馈的组合逻辑。
[17] 阐述建立时间和保持时间
建立时间是在时钟进行有效转换前数据信号应该保持稳定的最短时间。
保持时间是在时钟进行有效转换后数据信号应该保持稳定的最短时间。
[18] 解释什么是clock skew
时钟信号到达两个FF的时间差称之为clock skew(时钟偏斜)
例如图中两个FF的时钟,虽然是同一个时钟源,但是由于走线的延迟,导致a的时钟比b的快。
[19] 下图output delay为10ns,setup time为5ns,hold time为2ns,组合逻辑delay为10ns,请计算该电路的最大工作频率
建立时间约束为 t_{clk-q} t_{plogic} t_{setup}<=T ,即 T>=25ns ,最大工作频率为40Mhz
[20] 触发器和锁存器的区别什么?
触发器和锁存器都是存储信息的基本单元。一个触发器或者锁存器能够存储一bit的信息。两者的主要不同点是,触发器只在时钟上升沿或者下降沿根据采样改变输出,而锁存器在enable信号拉高期间都会跟随输入。