第一章 数制和码制

数制:表示数量的规则

码制:(用代码)表示事物的规则

  • 数制

    规定每一位的构成

    规定从低位向高位的进位的规则

    常用二进制,八进制,十进制,十六进制

    进制转换:\(v=\sum a^ib_i\)

二进制的补码

正数的反码与其原码相同,负数的反码是对正数逐位取反,符号位保持为1。

正数的补码与其原码相同,负数的补码是在其反码的末位加1。

在定点运算中,最高位为符号位(0为正,1为负)

这一方法对数制和码制产生的混淆,无法方便地直接运算。

因此采用补码:最高位若为1,则表达的数是 \(-2^{N-1}\),其他位不变

image-20240215163452139
image-20240215163452139

这样编码的数制和码制就统一了,而且可以直接通过相加得到两数的和。

规律:正数的补码和原码相同,负数的补码为数值位逐位取反+1

n位二进制和的补码表达范围:\([-2^n,2^{n-1}]\)

编码的时候,要为编码位数留足够的余量。

拓展位数:正数在前补一个0,负数补一个1

如果编码范围正确,补码直接相加就是加法运算的结果

判断溢出:负数+负数得到正数或正数+正数得到负数。

几种常见的编码

数字电路中均选用二进制,二值逻辑,采用等长编码。

十进制代码:8421码、2421码、余三码、格雷码、余三循环码

余三码:表示的数字是实际数字+3,当两个十进制数的和是9时,相应的余3码的和正好是15,于是可自动产生进位信号。是无权码

循环码(格雷码、余三循环码):每一位的状态变化都按一定的顺序循环,编码顺序依次变化,按表中顺序变化时,相邻代码只有一位改变状态,相邻代码转换时没有过度噪声。

格雷码:第一位按 \(0110\) 循环,第二位按 \(00111100\) 循环,第三位按 \(0000111111110000\) 循环,\(\dots\) ,从而保证相邻代码只改变一位。

ASCII码:用于编码各类符号和控制码的标准代码

用电压来表达信息

用离散的电压序列来表达信息

优点:容易产生,容易测量,电流值很小时几乎无功耗。

缺点:容易受到环境影响,容易受到电容电感影响,交直流处理复杂

利用电压从0到1的值来表达灰度,很容易就可以表达黑白图像。拷贝和取反也非常容易处理。(利用电压跟随器和运算电路)但是多次经过运算电路,图像会失真。因为电压是连续的,无法完全精确地复现一个信号(模拟电子技术的缺点)。这就需要对电压做离散化处理。

用数字电子技术,系统中只有0和1,这时可靠性就大大提高了。

优点:可以输入低质量的01信号,输出高质量的01信号(称之为数字模块,导线不是数字模块),可以对抗噪音。

缺点:长度变长,精度变低

第二章 逻辑代数基础

逻辑是事物之间的因果关系,数字电路中的逻辑是二值逻辑。

基本运算:与、或、非(\(A\& B,A+B,A'\)\(\bar A\)

image-20240215175017818
image-20240215175017818

对基本运算进行组合,可以得到复杂的逻辑运算。

如:与非、或非、异或($\()、同或(\)\()、与或非(\)(AB+CD)'$)等。

这样就可以构建逻辑电路。

逻辑代数的基本公式和常用公式参见课本P24.


基本定理

  • 代入定理:在包含 \(A\) 的逻辑等式中,将另外一个逻辑式代入A,等式依然成立
  • 反演定理:对任意逻辑式 \(Y\),将 且 和 或 互换,将 0 和 1 互换,就可以得到 \(Y\) 的反函数 \(Y'\)(为了运算顺序不变,应先变换括号,然后变换且,然后变换或;不属于单个变量的取反保留不变)
  • 对偶定理,对任意逻辑式 \(Y\),执行上述的变换过程变为 \(Y^D\),则有:若 \(Y=G\),则 \(Y^D=G^D\)

逻辑函数:以逻辑变量输入,输出单个逻辑变量的函数。可以用真值表(穷举)、逻辑式(与或非)、逻辑图(逻辑符号)、波形图(穷举输入的组合和对应的输出)表示。

波形图有输入变量个数+1条波形,直接体现真值表。本质是相同的。

将真值表转换为逻辑式的方法:穷举每个输出为1的真值组,然后相或。例如只有当 \((0,1,1),(1,1,0),(1,0,1)\)\(1\) ,则逻辑式可以写为 \((A'BC)+(ABC')+(AB'C)\)

枚举输入并得到输出就可以得到逻辑式的真值表表示。

逻辑图和逻辑式本质是相同的。


逻辑式的化简

利用各个定理可以转换或简化得到的逻辑式。

逻辑式的最简形式的定义:与项最少且与项因子最少

\(Y_1=ABC+B'C+ACD,Y_2=AC+B'C\)

\(Y=AC+B'C+BD'+CD'+A(B+C')+A'BCD'+AB'DE\)

第六项为1,则第三项必须为一,第六项删掉。

\(Y=AC+B'C+BD'+CD'+A(B+C')+AB'DE\)

\((B+C')=(B'C)'\)​,所以可以化为

\(Y=AC+B'C+BD'+CD'+A+AB'DE\)

这样就可以将所有其他包含A的项消去得到

\(Y=B'C+BD'+CD'+A\)

第三项可以被第一和第二项相与得到,故可以删去得到最简式

\(Y=B'C+BD'+A\)

通过不同的公式和不同的化简顺序,得到的化简结果也不唯一。


逻辑式的最小项和最大项

逻辑函数可以表达为最小项之和和最大项之积

\(n\) 变量逻辑函数中,若 \(m\) 为包含 \(n\) 个因子的乘积项,且 \(n\) 个变量均在 \(m\) 中出现,则称 \(m\) 为该组变量的最小项。

\(ABC\) ,若将取反视为 \(0\) ,不取反视为 \(1\),可以对最小项编号。如 \(ABC\) 的编号为 7 ,\(AB'C\) 的编号为 2,记为xch当财务报销 \(m_7\)\(m_5\). 最小项的数量显然为 \(2^n\)

最小项有如下性质:

  • 对于任意输入,有且只有一个最小项取值为1
  • 全体最小项之和为1
  • 任何两个最小项之积为0
  • 相邻(只有一个变量的取反与不取反状态不同)的最小项之和可以合并为其公共因子

于是可以将与或式表示为最小项之和,如: \[ \begin{align} Y(A,B,C) &=ABC'+BC \\ &=ABC'+ABC+A'BC\\ &=\sum m(3,6,7) \end{align} \] 逻辑函数的最小项之和表示一定是唯一的,因为这对应一种真值表的表示方法。

同样地,若 \(M\)\(n\) 个变量之和,且这 \(n\) 个变量均出现一次,则 \(M\) 成为最大项。

将不取反记为0,取反记为1(与最小项是相反的),可以对最大项编号。如 \((A'+B+C')\)\(M_5\)\((A+B'+C)\)\(M_2\).

最大项有如下性质:

  • 对于任意输入,有且只有一个最大项取值为0
  • 全体最大项之积为0
  • 任何两个最大项之和为1
  • 相邻的最大项之积可以合并,只留下公共因子。

可以将与或式转换为唯一的最大项之积的形式,如: \[ \begin{align} Y(A,B,C) & =(A+B+C')(B+C)\\ &=(A+B+C')(B+C+A)(B+C+A')\\ &=\prod M(0,1,4) \end{align} \] 显然有 \(m_{(ABC)_2}(A,B,C)=1,M_{(ABC)_2}(A,B,C)=0\) ,且有最大项和最小项互为反函数

这样,我们就可以将最小项之和最大项之积互相转换。

\(Y=\sum m_i=(\sum_\limits{k\not = i }m_k)'=\prod _\limits{k\not = i}m_k'=\prod _\limits{k\not = i}M_k\)


逻辑函数的卡诺图和卡诺图化简法

\(2^n\) 个代表各个最小项小方格排列成矩阵,使得几何上相邻的方格在逻辑上也相邻。

利用与格雷码相同的顺序,可以作出任意变量数的卡诺图

image-20240302222827194
image-20240302222827194

在五变量的卡诺图中,除了几何位置相邻和相对(在两端),对折起来位置重合的元素也在逻辑上相邻,而四变量及以下的卡诺图只要几何位置相邻或相对,就有逻辑关系的相邻。因此,五变量及以上的卡诺图较少使用。

将逻辑函数中存在的最小项对应的方格填入1,其余填入0就可以得到该逻辑函数的卡诺图表示法。事实上,就是将使得输出为1的输入对应的方格填1.

利用卡诺图,可以方便地化简逻辑函数。即二、四、八个相邻最小项可以合并为一项。化简后得到最简与或式。矩形

要注意的是,每个矩形圈中应至少有个1只被圈到一次。

具有无关项的逻辑函数及其化简

  • 约束项:输入的取值有限制,这些被限制的的最小项称为约束项
  • 任意项:输入的某些取值下,函数的输出不影响逻辑电路功能

统称约束项和任意项为无关项,它们不一定要写入逻辑式。

利用无关项可以得到更简单的化简结果

因为无关项的加入与否不影响最终结果,因此可以通过加入无关项的方式来化简。

在卡诺图上直观地说,加入无关项,应使得矩形圈最大,矩形数最少。即在卡诺图中,约束项可以视为1,也可以视为0.

QM法不考。

第三章 门电路

门电路是用来实现逻辑运算的电路。门电路用高/低电平表示逻辑状态的0/1,但高低电平是一个范围。且存在正逻辑(高电平表示1,低电平表示0)和负逻辑。

获得高/低输出电平的电路有单开关电路和互补开关电路。(单开关电路功耗较大,且得不到理想的高低电平)

半导体二极管门电路

二极管具有单向导电性:正向偏置电压大于开启电压,呈现较小电阻;外加电压反向偏置时,对外呈现很小的电流,近似于截止(少子导电,外加电压过大会击穿)。因此在合理范围内,可以呈现开关特性。因此可以用二极管代替前面所述的互补开关电路的开关。

注:硅管导通时,压降约为0.7V,落在低电平的合理范围内

image-20240303215302306
image-20240303215302306

当输入是高电平的时候,该开关截止,输出高电平;输入是低电平的时候,该开关导通,输出低电平。

image-20240303223135367
image-20240303223135367

这时如果同时连两个二极管,就可以构造与门电路。只有当两个输入都是高电平时,输出才会是高电平。若将0.7V以下视为0,3V以上视为1,则可以得到与门电路。

A B Y
0 0 0.7
0 3 0.7
3 0 0.7
3 3 3.7

如果将两个一端带有输入信号的二极管并联,然后通过电阻接地,取电阻的压降为输出信号,则信号表达了一个或门。

image-20240304202841715
image-20240304202841715
A B Y
0 0 0
0 3 2.3
3 0 2.3
3 3 2.3

上述三种电路,用二极管实现了跟随器、与门和或门。然而,现在还存在三个问题:

  • 如何选取 R 的大小?
  • 二极管带来的0.7V的压降如何处理?
  • 电阻的存在使得带负载能力差

因此,二极管一般只用于IC内部搭建简单电路。

为了解决这三个问题,引入CMOS门电路。

CMOS管门电路

MOS管

MOS管的性质在模电已经学过。即在 \(G\) 极加电压,可以使得MOS管的 \(S\) 极和 \(D\) 极导通(增强型NMOS)。

注意到这时 \(G\) 极也是个开关。而因为MOS管的输入和输出之间是非常近似于断路的,所以当输入信号足够大时,输入信号的具体大小对输出不构成影响(工作在饱和区),而只起到一个阈值开关的作用。且输入信号不需要电流驱动,只需要提供电压场,从而功耗低。

image-20240304212944605
image-20240304212944605

同样地,对于PMOS管,需要G为低电平,才能形成P型的沟道从而导电。

耗尽型的MOS管在本课程中不涉及。

用MOS管构建互补电路

用NMOS管和PMOS管共同组建互补电路,就可以弥补前述单开关电路缺点。而这一互补电路就是CMOS管门电路(Completely MOS)

image-20240304221938194
image-20240304221938194

此时,输入是高电平(\(V_{DD}\)),上面的管不导通,下面的管导通,输出是低电平;输入是低电平,则输出是高电平。

这就是CMOS管实现反相器的电路。

讨论极端的情况,考虑输入从$0 $ 到 \(V_{DD}\),输出如何?

注意到,流经PMOS管的电流一定等于流经NMOS管的电流。

image-20240304222929087
image-20240304222929087

那么找到对应电压,红绿两条曲线的交点就是工作点。

那么,输出电压大致如图:

image-20240304223317504
image-20240304223317504

这也可以看出CMOS管的开关特性。这就是一种”可以输出高质量的0/1,可以接纳低质量的0/1“

最理想的情况下,两个MOS管应当一个工作在截止区,一个工作在饱和区。但总存在一个中间状态,使得两个管都工作在线饱和区(导通)。

\(T_1,T_2\) 参数完全对称,则当 \(V_I=\frac{1}{2}V_{DD}\) 时,\(V_O=\frac{1}{2}V_{DD}\),这就是电压-电压传输特性曲线中间的转折点。且在这个转折点,会出现一个尖峰电流。而在两端,电流趋近于0.

这意味着我们在高电平和低电平的时候,电流极小,功耗几乎为0。因此CMOS器件静态时功耗几乎为0。

然而动态时会经过中间段,产生功耗。如果工作频率高,出现尖峰电流次数多,功耗也会增加。

CMOS管门电路对信号的容差性

为了防止信号的丢失,显然元器件所要输出的高低电平质量,必须要好于输入的高低电平质量。而这质量的差就叫输入噪声容限。

image-20240304225102793
image-20240304225102793

\(V_{NH}=V_{OH}-V_{IH},V_{NL}=V_{IL}-V_{OL}\)

image-20240304225658791
image-20240304225658791

应当注意到的是,可以通过提高 \(V_{DD}\) 来提高CMOS管的噪声容限。

CMOS管门电路的输入和输出特性

输入取电压不取电流 - 低功耗

因为门极的二氧化硅层在输入信号 \(V_{IN}\) 过高时可能被击穿,因此加入输入保护电路。

image-20240304230435264
image-20240304230435264

如图,加入输入保护电路之后,一旦 \(V_I>V_{DD}+0.7\)\(V_I<-0.7\) ,二极管就将导通,保护MOS管的二氧化硅层。

输出特性:应该考虑带负载能力

沟道的等效电阻和负载分压,负载的等效电阻减小,使得电阻的分压减小

原因:电容和MOS管的结电容充放电

\(t=RC\ln \frac{V_{DD}-V_{(0)}}{V_{DD}-V_{(TH)}}=RC\ln 2\)

静态功耗极小:CMOS管有寄生二极管,VDD与地不导通

动态功耗:变化时有尖峰电流:T1T2管同时导通,可以查手册 \(P_T=C_{PD}fV^2_{DD}\)\(C_{PD}\) 是每个元件不同的工作电容,f是频率

假设负载等效成电容 \(C_L\)

当输入从1变为0,\(V_{DD}\) 向负载 \(C_L\) 充电,\(i_p=C_L\frac{dv_o}{dt}\)

当输入从0变为1,\(C_L\) 经过 \(T_2\) 放电,\(i_N=C_L\frac{dv_o}{dt}=-C_L\frac{d(V_{DD}-v_o)}{dt}\)

一个周期内平均功耗:

\(P_C=\frac{1}{T}[\int_0^{T/2}i_Nv_odt +\int_{T/2}^T i_P(V_{DD}-V_o)dt]=C_LfV_{DD}^2\)

实现其他门电路

对于两个输入的情况:

将上拉的部分并联,下拉的部分串联就可以实现与非门;

将上拉的部分串联,下拉的部分并联就可以实现或非门;

注意管子(nfit,pfit)应当互补,且运算也应当互补

并联串联带来内阻的不同,输出电阻会相应地变小变大

因此要加缓冲器(反向器)

所有的逻辑门电路的输出端不能直接相连:会带来短路

  • 漏极开路的门电路(OD门)

    可以将输出并联使用,实现线与,使用时需外接 \(R_L,V_{DD}'\)

    \(R_L\) 的确定:

    \(V_{DD}-(nI_{OH}+mI_{IH})R_L\geq V_{OH}\)

    \(R_L\leq (V_{DD}-V_{OH})/(nI_{OH}+mI_{IH})=R_{Lmax}\)

    \((V_{DD}-V_{OL})/R_L+m'|I_{IL}|\leq I_{OLmax}\)

    \(R_L\geq (V_{DD}-V_{OL})/(I_{OLmax}-m'|I_{IL}|)\)

CMOS传输门