Chap 1. 数制和码制

ASCII是一组七位二进制代码,共127个

Chap 2. 逻辑代数

常用公式

  • A+B=A+CA+B=A+C 或者AB=ACAB=AC,均不能推出B=CB=C

  • A+BC=(A+B)(A+C)A+BC=(A+B)(A+C)

    证明:右式=AA+AC+AB+BC=A(1+C+B)+BC=A+BC右式=AA+AC+AB+BC=A(1+C+B)+BC=A+BC

  • A(A+B)=A+AB=AA(A+B)=A+AB=A

  • A+AB=A+BA+\overline{A}B=A+B

  • AB+AC+BCD...=AB+ACAB+\overline{A}C+BCD...=AB+\overline{A}C

    应用:Y=AB+CB(与或式)=AB+CB+AC+BB=(A+B)(B+C)(与式)Y=A\overline{B}+\overline{C}B(与-或式)=A\overline{B}+\overline{C}B+A\overline{C}+B\overline{B}=(A+B)(\overline{B}+\overline{C})(或-与式)

    image-20210527104901439

三个基本定理

  • 代入定理:将逻辑等式两边的某一变量均用同一逻辑函数替代,等式仍然成立。

  • 反演定理:任意逻辑函数式YY,将 “\cdot"换成 “+”,”+“换成”\cdot",“0"换成"1”,“1"换成"0”,原变量换成反变量,反变量换成原变量,得到反函数Y\overline{Y}

    不改变原运算次序,不属于单变量的反号要保留。

  • 对偶定理:若两逻辑式相等,则它们的对偶式也相等。

    其中,对偶式:任意逻辑函数式YY,将 “\cdot"换成 “+”,”+“换成”\cdot",“0"换成"1”,“1"换成"0”,得到对偶式YDY^D

最小项

对于nn 个变量的逻辑函数共有2n2^n 个最小项

卡诺图

五变量卡诺图:

Chap 3. 门电路

半导体三极管作为开关元件时工作在饱和状态和截止状态。

三态门的输出有三个状态:高电平、低电平、高阻态。

集电极开路与非门(OC)门:

在TTL电路中,OC门是可直接相连完成线与逻辑功能的门电路。(CMOS的OD门同理)

集成门电路输出结构门电路缺点优点
TTL(三极管-三极管逻辑)OC门功耗大开关速度高,抗干扰能力强,带负载的能力强
CMOS(简称为HC)OD门工作速度稍低制造工艺简单、功耗小、输入阻抗高、集成度高、电源电压范围宽等

对于TTL门电路,输入电压小于0.4V,或者阻值小于0.7K欧,相当于接低电平;输入电压大于2.4V,相当于接高电平。

门电路若出现“倒三角”符号,则属于三态门。若使能端无效,输出高阻态;若使能端有效,正常输出高低电平。

对于CMOS门电路,高电平接近电源电压,低电平接近0V。

针对于悬空,TTL门电路的悬空相当于接入高电平,CMOS门电路不允许悬空

【附】

存储器容量=字数*位数,其中nn 条地址线,即有2n2^n个存储空间(字数);mm条数据线,则有mm 位。

Chap 4. 组合逻辑电路

零、总表

功能型号
优先编码器74HC148
3线-8线译码器74HC138
显示译码器7448
双4选1数据选择器74GC153
全加器74HC183

一、编码器

逻辑功能:将输入的每一个高、低电平信号编成一个对应的二进制代码。(译码器反之)

普通编码器

优先编码器,实例:74HC148

允许多个输入端同时有效(低电平),优先级最高为I7\overline{I_7}

S\overline{S}:选通输入端;Ys\overline{Y_s}:选通输出端;YEX\overline{Y_{EX}}:输出拓展端

⭐️正常工作:S=0Ys=1YEX=0\overline{S}=0,\overline{Y_s}=1,\overline{Y_{EX}}=0

若要拓展多片,S\overline{S}Ys\overline{Y_s}相连,前一片无编码输入(输入全1)时,Ys\overline{Y_s}输出为00,使得S\overline{S}为0

二、译码器

3线-8线译码器

实例:74HC138

⭐️正常工作:S1=0S2+S3=0S_1=0,\overline{S_2}+\overline{S_3}=0

要得到最小项表达式,需要对输出端进行与非

若拓展多片,增加一个输入端D3D_3同时控制其中一片的S2S3\overline{S_2}、\overline{S_3}以及另一片的S1S_1

显示译码器

实例:7448(输出高电平译码,配接共阴极数码管)

灭灯输入控制端BI\overline{BI}:无论输入状态如何,数码管熄灭

灭零输出端RBO\overline{RBO}:为零时,将本应显示的零熄灭

三、数据选择器

双4选1数据选择器74HC153

逻辑功能:根据给定的输入地址代码,从一组输入信号中选出指定的一个送至输出端

四、竞争与冒险

  • 竞争:两个输入信号同时向相反的逻辑电平跳变

  • 竞争-冒险:由于竞争而在电路输出端可能产生尖峰脉冲的现象。

  • 消除竞争-冒险的方法:接入滤波电容、引入选通脉冲、修改逻辑设计。

Chap 5. 触发器

触发器的空翻:在CP有效期间,若同步触发器的输入信号发生多次变化时,其输出状态也会相应产生多次变化。

Chap 6. 时序逻辑电路

基本单元:触发器

时序逻辑电路通常包含组合电路和存储电路

输出信号特点分类

  • 米利型:与输入信号有关
  • 穆尔型:输出信号只取决于电路的状态

逻辑电路的方程组:输出方程、驱动方程、状态方程

状态转换表:

总表:

功能型号
双向移位寄存器74HC194A
同步十进制加法计数器74LS160
4位(16进制)同步二进制计数器74LS161(ET=0时,保持且C=0)
集成同步十进制可逆计数器74LS190
四位二进制可逆计数器74LS191

任意进制设计方法:

  1. M<NM<N:置零法、置数法、进位C置数法(置位法)

  2. M>NM>N:整体清零法或整体置数法、分解法

芯片级联方法:

串行进位方式、并行进位方式

Chap 7. FPGA

可编程逻辑器件(PLD)及专用集成电路(ASIC)的出现,设计方式转变为“电子设计自动化”(Electronic Design Automation,EDA)。

CPLD — Complex Programmable Logic Device ,复杂可编程逻辑器件

FPGA — Field Programmable Gate Array 现场可编程门阵列,一种集成电路芯片

其中,硬件描述语言(HDL)是EDA技术的重要组成部分,常见的硬件描述语言包括Verilog、VHDL等。

模块(module)是Verilog HDL 语言中描述电路的基本单元,而模块的两种描述方式:行为描述方式、结构描述方式。

Verilog

**零、**模板

设计

设计具有异步清零端的上升沿触发的T触发器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
module tff_aync_reset(t, clk, reset, q);
input t, clk, reset;
output q;
reg q;
always@(posedge clk or negedge reset)
if(~reset)
begin
q <= 1'b0;
end
else
begin
q <= !q;
end
endmodule

**一、**数据类型若不做说明的话,默认是 wire 型的(电路间的连线)

二、assign 语句作为连续赋值语句(即总处于激活状态),一旦表达式中操作数中有变化,立即计算、赋值。

注意:赋值目标必须是 wire

always 语句又称过程块(不是总处于激活状态),当满足激活条件时才能被执行,否则被挂起。

注意:赋值目标必须是 reg

其中,激活条件分两种:边沿敏感、电平敏感(即信号列表中任一个信号有变化)

此外,该过程块还能够使用 ifcase 等行为描述语句,还能够描述边沿变化。

always 语句块包含多条赋值语句需用:beginend 包括起来,如:

1
2
3
4
5
always @(a, b, cin)
begin
s = a ^ b ^ cin;
cout = (a & b)|(a & cin)|(b & cin);
end

**三、**阻塞赋值 = 是语句顺序执行,前面执行完才能执行后面,如:

1
2
赋值目标1 = 表达式1;
赋值目标2 = 表达式2; //先执行

非阻塞赋值 <=:所有语句并行执行。

四、逻辑性(关系)运算结果可能是 10x(不确定)

1
Y = (3 <= 1'bx); //结果为x	

当然,逻辑值还有 z(高阻态)

区别 =====(case等于),第一个运算符的结果是上述三种,而第二个运算符结果只能 10

1
2
3
Y = (1'b1 == 1'bx); //结果为x
Y = (1'b1 === 1'bx); //结果为0
Y = (1'bx === 1'bx); //结果为1

五、{} 为拼接复制运算符,能够将多个操作数拼接起来,举例如下:

1
assign {CO, S} = A + B + CI;