当前位置:
文档之家› 第3章 用数字电路实现数据的存储和运算
第3章 用数字电路实现数据的存储和运算
禁止 禁止 0 0 1 1 0 1
禁止 禁止 置0
置1
Qn
当把两个输入 S 和 R 变为一个 D 的互补输 入后,可以通过控制 信号 E 完成该触发器 的写入操作,在 E =1 时,Q 将随D而变化。
/Q Q
现态 E 0 0 0 0 1 1 D 0 0 1 1 0 0 Qn 0 1 0 1 0 1
次态 Qn+1 禁止 禁止 禁止 禁止 0 0
说明 禁止 禁止 禁止 禁止 置0
D
1 1
E
1 1
0 1
1 1
置1
D 型触发器
前面刚介绍的触发器属于电平触发方式, 输入 R 和 S 不能同时为低电平,而且 R 、 S 和 D 在触发器写入期间应保持不变,否 则产生操作错误。 D 型触发器是由3个基本触发器构成的, 它属于边沿触发方式。输入信号 D 在触发脉 冲(时钟) Clock(clk) 的正跳变沿期间被 写入触发器,其它时间 D 的变化不会影响触 发器的状态。
D 型触发器又被称 为延时触发器,常用于 构建寄存器,移位寄存 器,计数器等部件。 输入信号 /S 和/R 用于触发器的清 0 和置5
与非3
与非4
与非6
/R
D
CLK
/S
/Q /R CLK
Q /S D
One of D trigger stats table
现态 /R /S CLK D 1 1 0 X 1 1 1 0 1 1 1 1 1 0 1 ↑ ↑ X X X 1 0 X X Qn X X X X X X 次态 说明 Qn+1 Qn Qn 1 0 0 1 保持 D 置0 置1
3.1.1 MOS晶体管
• 按物质是否导电,可以分为:
– 导体(双向导电) – 绝缘体(不导电) – 半导体
• 同时具备导体和绝缘体两种特性,其特性取决于在 物体两端所施加电压的方向,当在一个方向上有正 的电压存在时,可以允许电流流过(导体特性); 而在相反的方向上施加一定大小的电压时,该物体 中不会产生电流(绝缘体特性),即该物体只能在 单个方向上导电。
X=A+B
X
A B 0 0 0 1 1 0 1 1
X 1 1 1 0
或门
或非门
真值表和逻辑表达式的对应关系
真值表
A B 0 0 0 1 1 0 1 1
X 0 0 0 1
A B
X = A •B
1. 用与逻辑写出真值表中 每一横行中输出为 1 的逻辑表达式; X 2. 用或逻辑汇总真值表中 全部输出为 1 的逻辑。 3. 不必理睬那些输出为 0 的各行的内容,它们已 经隐含在通过 1、2 两 步写出的表达式中。 X= A * B + A * B + A * B
D_trigger code
//d_trigger.v module d_trigger(rst,clk,d,q,qb); output q,qb; //qb=~q; input rst,clk,d; reg q,qb; initial begin qb=~q; end
always@(negedge rst or posedge clk) begin if(rst==0) q=0; else q=d; qb=~q; end endmodule
D_trigger testbench code
`timescale 1ns/1ns module d_trigger_tb; wire q,qb; reg clk,rst,d; initial begin rst=0; clk=0; #100 rst=1;d=0; #100 d=1; #200 rst=0;d=1; end always #100 clk=~clk; d_trigger m(.rst(rst),.clk(clk),.d(d),.q(q),.qb(qb)); endmodule
断(0) 断(0) 灭(0) 断(0) 合(1) 灭(0) 合(1) 断(0) 灭(0) 合(1) 合(1) 亮(1)
与门:灯亮=K1· K2
或门:灯亮=K1+K2
二输入与非门和或非门
R R U U K1 K2 K1
¤
K2
¤
• 与非门和或非门真值表
输入 K1 K2 输出 灯 输入 K1 K2 断(0) 断(0) 输出 灯 亮(1) 断(0) 断(0) 亮(1)
• 半导体分为
– 二极管 – MOS晶体管(三极管中的一种)
• N沟道MOS晶体管 • P沟道MOS晶体管
• N--MOS晶体管的符号如下
栅极G 栅极G(VG)
源极S
漏极D
源极S(VS)
漏极D(VD)
• 在数字电路中,MOS管工作于开关状态,相 当于一个可控开关。
MOS管状态 导通达到饱和 截止 开关状态 数字电路状态 接通 0(L—低电平) 断开 1(H—高电平)
边沿触发的D触发器
• 数据在计算机存放在下列地方:
– 运算器中的寄存器 – 主存储器(内存) – 外部存储器(外存)
• 这里介绍用Verilog HDL语言描述边沿触发的D触 发器,如下图。 输入
清除 时钟 D 输出Q L X X L H ↑ H H H ↑ L L H L X Q H H X Q
VDD=5V G(VG) S(D)
低电平(L) 典型值 范围 ≈0 <=2 ≈0 <=1.3
PMOS管
• 在数字电路中, MOS管相当于一个 开关,可控信号是 VG。如NMOS管, 当VGS>VH时NMOS 管导通。
3.1.2 逻辑门
C语言中,最基本的逻辑运算有:与运算,或 运算,非运算。 与之对应的是最基本的逻辑电路:与门,或门, 非门。 用它们可以组合出实现任何复杂的逻辑运算功 能的电路。 逻辑关系是可以采用数学公式来表示和运算的, 此数学工具就是布尔代数,又称逻辑代数。 例如,A = B * C + E * /F; A为输出(运算结果)。 B 、C、E、F为输入, * 、+、 / 分别代表与、 或、非运算符。 运算符的优先级(从高到低):非->与->或。
• 稳定状态下不允许工作于导通而又不饱和的状态 (电压不允许处在不高、不低的模糊状态)。 • 高电平或低电平的具体数值与电路结构、材料等有 关,下表为MOS数字电路的高低电平的典型值。
电源电压 (V) VD=5 VD=3.3
D G(VG) S(VS) NMOS管
高电平(H) 典型值 范围 5 >=3 3.3 >=2
断(0) 合(1) 灭(0)
合(1) 断(0) 灭(0) 合(1) 合(1) 灭(0)
或非门:灯亮=K1+K2
断(0) 合(1)
合(1) 断(0) 合(1) 合(1)
亮(1)
亮(1) 灭(0)
与非门:灯亮=K1· K2
与非门电路图
VDD VDD
VDD R
x1 x2
f
x1 x2
CMOS与非门
f x1
总线 /G1 A B /G2 C /G3 例如,当控制信号 /G1 为低电平, /G2 和 /G3 为高电平时,三态门的 输入 A 被送到总线上, 另外两个三态门的输出 处于高阻态。
计算机中常用的逻辑器件
•按是否有时序可分为:
– 组合逻辑电路的输出状态只取决于当前输入 信号的状态,与过去的输入信号的状态无关。
• 例如与门、加法器,译码器,编码器,数据选择 器等电路。
– 时序逻辑电路的输出状态不仅和当前的输入 信号的状态有关,还与以前的输入信号的状 态有关,即时序逻辑电路有记忆功能。
• 最基本的记忆电路是触发器,包括电平触发器和 边沿触发器,由基本触发器可以构成寄存器,计 数器等部件。
• 从器件的集成度和功能区分: • 低集成度的、只提供专用功能的器件。
– – – – 加法器和算术逻辑单元 译码器和编码器 数据选择器 触发器和寄存器、计数器
• 高集成度的、现场可编程的通用功能电路 (阵列逻辑电路)
– – – – 存储器芯片 RAM 和 ROM 通用阵列逻辑 GAL 复杂的可编程逻辑器件 CPLD: MACH器件 现场可编程门阵列 FPGA 器件
一、时序电路 R-S 触发器
与门 X=A•B
A B 0 0 0 1 1 0 1 1
X 1 1 1 0
A B
与非门
X
Using C function code
//logic and function bool and(bool x,bool y) { return x && y; }
//test file include<stdio.h> int main() { int i,x,y; for(i=0;i<4;i++) { x=i%2; y=i/2; printf(―%d && %d=%d\n‖,x,y,and(x,y)); } return 0; }
触发器是典型的时序逻 辑电路,有记忆功能,最 简单的可以由两个交叉耦 合的 “与非”门组成的 R-S 触发器,2 个输出分 别为 Q和 /Q,两路输入分 别为 R 和 S。
/Q Q
现态 S R Qn
次态 Qn+1
说明
S
R
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
非门(NOT)
R
VDD
VDD
非门的主要功能是对 输入信号求反。其布 尔表达式为 f= x
R
f x
NMOS非门
f x
CMOS非门
f
K
非门真值表 输入 x 输出 f L(0) H(1)
U
¤
x
非门符号
H(1)