第3章 用数字电路实现数据的存储和运算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
禁止 禁止 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
CMOS或非门
f x2
NMOS与非门
逻辑功能的表示和等效电路
逻辑功能表示: 布尔代数式、卡诺图、真值表、线路逻辑图 下图是非门、与门、或门等的图形符号。
真值表
A B 0 0 0 1 1 0 1 1
X 0 0 0 1
A
X
A B
X=A•B
X
A B
X= A•B
X
非门
与门
X=A+B
A X 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
• 例如与门、加法器,译码器,编码器,数据选择 器等电路。
– 时序逻辑电路的输出状态不仅和当前的输入 信号的状态有关,还与以前的输入信号的状 态有关,即时序逻辑电路有记忆功能。
• 最基本的记忆电路是触发器,包括电平触发器和 边沿触发器,由基本触发器可以构成寄存器,计 数器等部件。
• 从器件的集成度和功能区分: • 低集成度的、只提供专用功能的器件。
断(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)
D 型触发器又被称 为延时触发器,常用于 构建寄存器,移位寄存 器,计数器等部件。 输入信号 /S 和/R 用于触发器的清 0 和置 1操作。
/Q
与非1
Q
与非2
与非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
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为输入, * 、+、 / 分别代表与、 或、非运算符。 运算符的优先级(从高到低):非->与->或。
Qb Q Reset clock D
• D触发器的敏感信号
– 清零信号reset – 时钟信号clock
• reset信号低电平有效,且优先级高于clock。 • 当reset=1且Clock发生正跳变时,触发器将输入 信号D的值保存下来并送到输出端Q。触发器保持 这个状态不变化,直到下一次reset和clock发生变 化。 • 带异步清零的边沿触发D触发器的Verilog HDL代 码如下。
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
第3章 用数字电路实现数 据的存储和运算
3.1 数字电路基本元件—逻辑门
•数字逻辑电路是实现数字计算机的物质基 础。 •若将其做在一块集成电路上(被完整封装, 看不到内部结构),称为数字集成电路,它是 现代计算机的基本元件。 •数字集成电路的基本元件是逻辑门,逻辑门 由晶体管组成。
–这里只简介MOS晶体管(金属-氧化物-半导体场 效应管)组成的逻辑门。
与门 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; }
• 半导体分为
– 二极管 – MOS晶体管(三极管中的一种)
• N沟道MOS晶体管 • P沟道MOS晶体管
• N--MOS晶体管的符号如下
栅极G 栅极G(VG)
源极S
漏极D
源极S(VS)
漏极D(VD)
• 在数字电路中,MOS管工作于开关状态,相 当于一个可控开关。
MOS管状态 导通达到饱和 截止 开关状态 数字电路状态 接通 0(L—低电平) 断开 1(H—高电平)
寄存器类型 无输入输出 //testbench code module and1_tb; 数据位数2位 reg [1:0] i; 线网类型 reg x,y; wire z; initial 100延时单 for(i=0;i<=3;i=i+1) 位后输出 begin #100 x=i%2;y=i/2; end and1 m(.x(x),.y(y),.z(z)); endmodule
边沿触发的D触发器
• 数据在计算机存放在下列地方:
– 运算器中的寄存器 – 主存储器(内存) – 外部存储器(外存)
• 这里介绍用Verilog HDL语言描述边沿触发的D触 发器,如下图。 输入
清除 时钟 D 输出Q L X X L H ↑ H H H ↑ L L H L X Q H H X Q
• 稳定状态下不允许工作于导通而又不饱和的状态 (电压不允许处在不高、不低的模糊状态)。 • 高电平或低电平的具体数值与电路结构、材料等有 关,下表为MOS数字电路的高低电平的典型值。
电源电压 (V) VD=5 VD=3.3
D G(VG) S(VS) NMOS管
高电平(H) 典型值 范围 5 >=3 3.3 >=2
非门(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)
L(0)
• 目前的集成电路以CMOS电路为主。 • CMOS的优点
– 功耗小 – 从输入信号发生变化到输出信号变化的延迟时间 小,因而速度快。
– – – – 加法器和算术逻辑单元 译码器和编码器 数据选择器 触发器和寄存器、计数器
• 高集成度的、现场可编程的通用功能电路 (阵列逻辑电路)
– – – – 存储器芯片 RAM 和 ROM 通用阵列逻辑 GAL 复杂的可编程逻辑器件 CPLD: MACH器件 现场可编程门阵列 FPGA 器件
一、时序电路 R-S 触发器
初始化变量 {}
生成实例并代 入参数运行
• 缓冲器
– 缓冲器只能简单地把输入信号传送到输出器。 主要用于当某个信号所驱动的负载特别大时能 给出较大的电流,或为了避免延迟时间过长。
• 传输门 • 传输门电路如右下图。其工作原理如下
– 当S=1,MOS管导通,f=x; – 当S=0,MOS管截止,f=z(高阻态); x
总线 /G1 A B /G2 C /G3 例如,当控制信号 /G1 为低电平, /G2 和 /G3 为高电平时,三态门的 输入 A 被送到总线上, 另外两个三态门的输出 处于高阻态。
计算机中常用的逻辑器件
•按是否有时序可分为:
– 组合逻辑电路的输出状态只取决于当前输入 信号的状态,与过去的输入信号的状态无关。
• 非门的波形图如下。
x f
不考虑延迟 实际电路
x f
延迟时间td
二输入与门与或门
R K1 K2 R K1
U
¤
输入 K1 K2 输出 灯
U
K2
¤
• 与门与或门真值表
输入 K1 K2 断(0) 断(0) 断(0) 合(1) 合(1) 断(0) 合(1) 合(1) 输出 灯 灭(0) 亮(1) 亮(1) 亮(1)
3.1.1 MOS晶体管
• 按物质是否导电,可以分为:
– 导体(双向导电) – 绝缘体(不导电) – 半导体
• 同时具备导体和绝缘体两种特性,其特性取决于在 物体两端所施加电压的方向,当在一个方向上有正 的电压存在时,可以允许电流流过(导体特性); 而在相反的方向上施加一定大小的电压时,该物体 中不会产生电流(绝缘体特性),即该物体只能在 单个方向上导电。
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
f
电路图
S
三态门电路
三态门电路是一种构建计算机总线接口的理想电 路,具有信号驱动能力强、传输速度快的特性,又 有集电极开路电路的输出可以“线与”的优点。 “三态”是指电路可以输出 “0‖ 或 “1‖逻辑电 平,也可以处于高阻态(与所连接的线路断开),取决 于输入和控制信号。用于实现从多个数据输入中选 择其一的场合。
断(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
触发器是典型的时序逻 辑电路,有记忆功能,最 简单的可以由两个交叉耦 合的 “与非”门组成的 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
Verilog HDL code
注释 端口功 能描述 模块名 模块端口定义 分号结束
功能定义
//source code module and1(x,y,z); input x,y; output z; assign z=x&&y; endmodule
其他的逻辑运算类推
Testbench code
次态 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 的变化不会影响触 发器的状态。