1
第 12章数字系统设计基础
2
概述
传统的真值表、卡诺图、状态转移图等方法设计电路需要凭设计者的经验,而且不适合大规模的数字系统设计。
需要一种数字系统的设计方法,突破传统方法的局限性。
本章将详细介绍数字系统的描述工具:方框图,算法流程图、处理器明细表,ASM图。
3
第一节 概述一,数字系统的基本模型输出接口数据处理器输入接口输入接口 控制器 输出接口外部输入控制信号时钟输入信号状态信号控制信号数字逻辑子系统输出信号外部输出控制信号图 12.1.1 数字系统的一般模型
4
基本模型的功能
输入输出接口,完成 A/D,D/A转换,同步化处理。
数据处理器 (受控电路):信息的传送处理。
控制器 (控制电路):完成对数据处理器的控制。
5
说明
控制器根据数据处理器的输出状态来产生控制信号。
数据处理器受控制信号产生状态信号。
在一个计算步骤,控制器发出控制信号给数据处理器,数据处理器完成控制信号所规定的操作。
控制器是区别数字系统和简单的功能部件的标志。
6
2.数据处理器
)C,Q,X(FQ nn 1
),,( CQXGZ n?
),( nQXRS?
图 11.1.2 数据处理器模型组合逻辑网络
Qm
Q1
m
1…
…输入信号输出信号

S
控制网络
…?m?1
C
X Z
7
数据处理器的描述方法规定数据处理任务的表格称为明细表,
说明:
两个子表:操作表和状态变量表。
操作表,列出在控制信号下,数据处理器应实现的操作。
状态变量表,定义数据处理器输出的状态变量和信号。
8
A
B
组合电路
S C
X Z
设一个简单数据处理器如图输入信号 X,控制信号 C1,C2,C3和 C4(分别记为 NOP,ADDA,ADDB和 CLAB),两个寄存器
A,B。输出状态信号 S1,S2及信号 Z。
9
表 12.1.1 数据处理器明细表
A←0,B←0CLAB
输出 Z=A
B←B+XADDB
X<0S2A←A+XADDA
X>0S1无操作NOP
定 义状态变量操 作控制信号状 态 变 量 表操 作 表
10
控制器
实现一个计算任务,必存在一个算法,控制器就是用来规定算法的步骤。
控制器决定算法步骤,必须有记忆能力,所以它是一个时序电路,应包含存储器
11
组合逻辑网络外部输入控制信号 外部输出控制信号
S
(Q)状态寄存器
C
现态 激励信号图 12.1.3 控制器模型控制器的描述方法,状态转移图或状态转移表
12
二、对数字系统的时序的约定
1.同步数字系统
(1)只有一个系统时钟;
(2)输入信号都与系统时钟同步;
(3)系统时钟同时到达所有存储元件的时钟脉冲输入端。
CP
现态 次态图 12.1.4 系统时钟脉冲波形
13
组合逻辑网络
Qm
Q1
m
1…
…输入信号输出信号

S 控制网络
…?m?1
C
X Z
组合逻辑网络外部输入控制信号 外部输出控制信号
(Q)状态寄存器现态
1)最小时钟周期
)C,Q,X(FQ nn 1
),,( CQXGZ n?
),( nQXRS?
14
2.最小时钟周期
CP↑→S(状态信号)稳定 →C(控制信号)稳定 →τ(寄存器功能选择信号),Z(输出)
稳定 →CP↑。
3.异步输入信号转换成同步输入信号异步输入信号:早于或晚于系统时钟有效沿出现的输入信号。
15
CP
异步输入 a
异步输入 b
同步化后的输入 A
同步化后的输入 B
16
同步化处理的思路:
(1)将异步输入信号寄存并保留到下一个系统时钟出现为止;
(2)让同步化后的输入与当前系统时钟的有效时刻同时出现,并保持一个时钟周期。
17
图 11.1.5转换电路
PB﹡
CP
Q1
Q2
PB
(b) 波形图
1D
C1
1
Q
Q
PB
PB﹡
1D
C1
2
Q
Q
CP
(a) 电路
&
18
三、数字系统的设计步骤
1.系统设计明确设计任务确定初始结构算法流程图
※ 确定输出和输入之间的关系,找到实现数字系统的 设计原理和方法 。
※ 划分系统的控制单元和受控单元,确定初始结构框图。
※ 建立算法流程图,表示解决问题的步骤。
ASM图
※ 根据一定的规则将算法流程图转换成 ASM图
19
当系统中各个子系统(指最低层子系统)或部件的逻辑功能和结构确定后,采用比较规范的形式来描述系统的逻辑功能。
① 数据处理器设计
② 控制器设计建立操作明细表建立状态转移表
2、逻辑设计
20
选择合理的器件和连接关系,以实现系统逻辑要求。电路设计的结果常采用两种方式来表达,电路图方式、硬件描述语言方式 。
3、电路设计
21
确定初始结构框图,
建立算法流程图推导 ASM图系统设计确定数据处理明细表推导控制器状态转移表选择具体的集成电路实现处理器根据状态转移表实现控制器的电路逻辑设计电路设计图 12.1.6 数字系统设计步骤框图
22
12.2 寄存器传输语言 (RTL)
1.寄存器传输操作所存信息的处理和存贮
2.寄存器传输语言既表示了寄存器传输操作,又和硬件间有个简单的对应关系的一种方便的设计工具。
3.寄存器具有广义的概念既包括暂存信息的寄存器,也包括移位寄存器、计数器、存储器等
23
一、寄存器间的信息传输
1.寄存器的表示方法
① 大写英文字母
② 方块图
A
(a)寄存器 A
AnAn-1…A2A1
(b)寄存器 A的各个位表示
A
(c)寄存器位编号表示
1 n
图 11.2.1 寄存器方块图表示
24
1 & A
B
n
控制电路
T1X
实现语句 BATX,1 的逻辑图图 11.2.2
2.传输操作
BA:TX 1
控制函数结束控制函数
25
例,T1,C?A
T5,C?B
T6,D?B:试画出逻辑图解,1)两个目标寄存器,C,D。两个源寄存器:
A,B。
T1 T5 T6 S?EN LDC LDD
000
001
010
0 1 1
100
101
110
111
100
1 0 0 1
1 0 1 0
1 0 1 1
0 0 1 0

26
所以,S=T5+T6;?EN=?T1?T5?T6;
LDC=T1+T5; LDD=T6
B A
C D
1 0
MUX
1
1
1
选择 S
使能?EN
T5
T1
T6
27
二、算术操作
T2,A←A+B T5,A←A+1
并行加法器
A
B
B
并入增 1
T2
T5
AA+B
图 11.2.5 完成加和增,1”操作的方框图
28
三、逻辑操作与运算符,∧,;或运算符,∨,
T1+T2,A A+B,C D∨ F
两个操作同时实现(并行关系)
—— 为了与算术运算的符号,·”,,+”区别。
29
四、移位操作
1.右移操作,X←SR ( A,X)
2.左移操作,X←SL ( X,A)
X←SR ( X)
X←SL ( X)
A X1 X2 … Xn
X1 X2 … Xn A
0 X1 X2 … Xn
X1 X2 … Xn 0
30
五、条件控制语句
P,IF(条件) Then(微操作 1) Else(微操作 2)
控制函数例:
T2,IF( C=0) THEN( F?1) ELSE( F?0)可以写成两个一般语句:
C·T2,F?1
C·T2,F?0。
31
小结一条 RTL 语句:描述数字系统所处的一个状态。
其操作:说明数据处理器要实现的操作。
控制函数:说明控制器发出的命令。
一个 RTL语句可以定义一个数字系统。
32
第三节 数字系统设计的其它描述工具一、方框图
1.作用描述数字系统的总体结构。
2.构成要素方框,定义一个子系统,实现某种数据处理或传送等功能。
在方框内描述其功能(文字表达式等) ;
带箭头的直线,各子系统之间的信息通道。箭头表示信息传输方向。
标注,表示主要信息通道的名称、功能或信息类型。
系统说明书,给每个子系统尽可能详细的说明。
33
系统输出输入
… …
( a)一般方框图控制器
C
数据采集输入 数据处理
C
输出数据显示数据打印
( b)系统分解图
34
( C)进一步细化方案控制器
C
数据采集输入 数据处理
C
输出数据显示数据打印
35
( d)数据处理模块的细化输入 /输出接口
CM寄存器A
寄存器
ALU
C
CC
图 11.3.1 一个智能仪表的方框图
36
二、算法流程图
1.作用注意:按照事件的先后次序排列的,与电路的时序无对应关系。
2.基本符号描述算法。
入口点;出口点;传输框;判断框
A←A+B PBA
( d)判断框( a)入口点 ( b)出口点 ( c)传输框图 12.3.2 流程图符号
37
例 12.3.2:函数求值,计算 Z=4?X1+2?X2+X3的值。
任务:输入数据 X串行输入序列 X1,X2,X3,计算完成后,
提供输出 Z。
A
组合电路控制器系统结构图
38
A?0
A?A+X
A?SL(A)
A?A+X
A?SL(A)
A?A+X
A=X1
A=2?X1
A=2?X1+X2
A=4?X1+2?X2
Z=4?X1+2?X2+X3
算法流程图
39
图 11.3.3 系统结构图控制器
C C
A
组合电路X
T S
例 11.3.2 绝对值计算,计算 。321 XXXZ
40图 12.3.6 算法流程图
A←0,C ←0
X<0
A←A-X A←A+X
X<0
A←A-X A←A+X
X<0
A←A-X
C ←1
A←A+X
C ←1
1 0
1 0
1 0
41
三、算法状态机图( ASM图)
1.作用按系统时序来描述系统的工作过程。
2.ASM图符号
(1)状态框
(2)判断框
(3)条件框
42
寄存器操作或输出符号 二进制代码
( a)状态框 ( b)实例条件分支分支
0 1
分支分支
0 1 条件
R ← 0
START
011T3
图 12.3.7 状态框图 12.3.8 判断框
43
X1 X20× 11
T1
T2 T3 T4
10
( a)真值表图解分支表示
0 1
T1
X1
T2
T3 T4
X20 1
( b)变量优先级分支表示图 12.3.9 判断框 3个分支表示
44图 12.3.11 条件框举例
A?0
T1
T2 010
0 1
001
E
R←0
图 12.3.10 条件框寄存器操作或输出条件框 为 ASM图所特有的,条件框内的操作和输出是在给定条件下,判断条件被满足时才发生的,所以条件框的输入必定与判断框的分支相连。
45
3.ASM块
(1)必定包含一个状态框;
(2)表示一个时钟周期内系统的状态;
(3) ASM图与 状态转移图 ;
无法表示 操作 和 输出变量与输入变量的函数关系。
4.各种逻辑框之间的时间关系
46
图 12.3.12 ASM块
A←A+1
T1
T2 010
0 1
001
E
R←0F
T4 100T3 011
0 1
001
100
011
010
00/
01/
1× /
EF/
图 12.3.13 等效状态图
47
例,一个数字系统的数据处理器有 2个触发器 E
和 F及 1个二进制计数器 A,计数器的各个位分别用 A4,A3,A2,A1标记,A4为最高位,A1
为最低位。启动信号 S使计数器 A和触发器 F清
,0”,从下一个时钟脉冲开始,计数器增 1,
一直到系统停止工作为止。
系统的操作序列由 A3和 A4之值决定,即:
① A3=0,触发器 E清,0”,并继续计数。
48
② A3=1,触发器 E置,1”,并检验 A4,若 A4=0,
继续计数;若 A4=1,触发器 F置,1”,系统停止计数。
49
图 12.3.13 例
12.3.4 ASM图
A←A+1
0
T0
初态
S
A3 1
T1
A4
0
A←0,F←0
E←1
E←0
E←1,F←1
0
1
1
50
表 12.3.1 ASM图的操作序列
A4 A3 A2 A1 E F 条 件 状 态
0 0 0 0 1 0
A3 =0
A4 =0 T1
0 0 0 1 0 0
0 0 1 0 0 0
0 0 1 1 0 0
0 1 0 0 0 0 A
3 =1
A4 =0 T10 1 0 1 1 00 1 1 0 1 0
0 1 1 1 1 0
1 0 0 0 1 0 A
3 =0
A4 =1 T11 0 0 1 0 01 0 1 0 0 0
1 0 1 1 0 0
1 1 0 0 0 0 A3 =1 T1
1 1 0 1 1 1 A4 =1 T0
51
4.ASM图的建立从算法流程图 ASM图原则 1,在算法的起始点安排一个状态;
原则 2,必须用状态来分开不能同时实现的寄存器传输操作;
原则 3,判断如果受寄存器操作的影响,应在它们之间安排一个状态。
52
A←A+1
0
T0
S
A3 1
T1
A4
0
0
1
1
图 11.3.13 算法流程图
A←0,F←0
T2 E←1
E←1,F←1
E←0
53
A←A+1
0
T0
S
A3 1
T1
A4
0
A←0,F←0
E←1
E←0
E←1,
F←1
0
1
1
图 11.3.14
ASM图
T2
54
5,ASM图推导处理器明细表和控制器状态转移图
RESET?1
WAIT
RESET?0
A?DATA,BUSY?0
A?SR(A)
BUSY?1 Y?A,BUSY?0
BEGIN
END
0
1
10
控制信号,C1
控制信号,C2
控制信号,C3
控制信号,C5控制信号,C4
状态信号,S1
状态信号,S2
55
T2
C1
C2
C3
C5
S1
S2
0
1
10
C4
T0
T1
T3
ASM图
56
表 12.3.20 处理器明细表操 作 表 状态变量表控制信号 操 作 状态变量 定 义
C1
C2
C3
C4
C5
RESET?1 WAIT
RESET?0
A?DATA,BUSY?0
A?SR(A)
BUSY?1
Y?A,BUSY?0
S1
S2
BEGIN
END
57
图 12.3.20 控制器的状态转移图
T0 T1
1?/10000
T2
输入 /输出:
S1S2/C1C2C3C4C50?/10000
/01000
0/00110T3?1/00100
/00001
58
作业题
12.2
12.3
59
第四节 数字系统设计举例例 1 设计一个求两个 4位二进制数之积的数字乘法器。乘数存于寄存器 Q中,被乘数存于寄存器 M中,求两数之积的命令信号为 START,Z
为 8位乘积。
60
一、系统级设计
1.明确设计任务
(1)手算过程算法规律:
Ⅰ 两个 r位的二进制数相乘,乘积为 2r位 。
Ⅱ 乘数的第 i位为 0时,第 i位的部分积为 0;
乘数的第 i位为 1时,第 i位的部分积是被乘数 。
(一次相加 )
Ⅲ 第 i位的部分积相对于第 i-1位的部分积求和时左移一位 。
61
运算过程 算式说明
1 0 1 0 被乘数
× 1 1 0 1 乘数
1 0 1 0 第一部分积
0 0 0 0 第二部分积
1 0 1 0 第三部分积
+ 1 0 1 0 第四部分积
1 0 0 0 0 0 1 0 乘积 =部分积之和表 12.4.1 乘法的手算过程
62
为了用数字电路完成求和运算,必须改变乘法过程,把一次多数相加改成累计求和,累计的和称为部分和,把它存如累加寄存器中
63
运算过程 算式说明
1 0 1 0 被乘数
× 1 1 0 1 乘数
0 0 0 0 0 0 0 0 累加器初始内容
+ 1 0 1 0 第一部分积
0 0 0 0 1 0 1 0 第一部分和
+ 0 0 0 0 第二部分积
0 0 0 0 1 0 1 0 第二部分和
+ 1 0 1 0 第三部分积
0 0 1 1 0 0 1 0 第三部分和
+ 1 0 1 0 第四部分积
1 0 0 0 0 0 1 0 乘积 =第四部分和表 12.4.2 累计部分积的乘法过程
64
Start=1
Q=0
Qr=1
A←A+M
Q←SR(Q)
M←SL(M)
Y
Y
Y
(a)算法流程图
N
N
N
65
图 12.4.1 乘法器的算法与结构
(b)结构
A1 … Ar Ar+1 … A2r
组合逻辑 控制器累加寄存器 乘数寄存器加法命令被乘数寄存器左移命令右移指令
M1 … Mr Mr+1 … M2r
Q1 … Qr
数据处理器
66
(a)结构
M
组 合 电 路
CNT 控制器
S C
Start
Z
Q1 … QrA0 … Ar
67图 12.4.2 乘法器的算法与结构
(b)算法流程图
Start
CNT←0,A←0
Qr=1
A←A+M
A←SR(A),Q←SR(Ar,Q),CNT←CNT+1
CNT= r
Y
Y
Y
N
N
N
CLR
ADD
SHIFT
S1
S2
S3
68
S1
S2
SHIFT
1
0
0
0
T0
T1
T2
1
10
01
1
00
CLR
ADD
S3
T3
乘法器的AS
M

CNT= r
69
S1
S2
SHIFT
1
0
0
0
T0
T1
T2
1
10
01
1
00
CLR
ADD
S3 CNT= r-1
图 12.4.4 乘法器的 ASM图
70
图 12.4.3 乘法器的初始结构图
2.确定系统的初始结构图和 ASM图
M
并加器
AA0 Q
CNT 控制器
CLR,ADD,SHIFT
CNT=3( S3)
Qr( S2)
START( S1)
数据处理器
71
二、子系统级、部件级、元件级设计
1.数据处理器的设计
ASM图操作明细表选元器件求表达式逻辑设计电路设计
72
操 作 表 状态变量表控制信号 操作 状态变量 定义
NOP 无操作
S1 STARTCLR A←0,CNT←0
ADD A←A+M
SHIFT
A←SR(A)
Q←SR(Ar,Q)
CNT←CNT+1
S2 Qr
S3 CNT=3
表 12.4.3 乘法器明细表
73
寄存器 A的实现
以累加寄存器 A为目标的寄存器操作有清
,0”,置数,右移,保持。注意清,0”是同步操作
选用四位移位寄存器 74194实现
填写 74194功能控制端 M1,M0的真值表
74
表 12.4.4 74194功能表置数11
左移01
右移10
保持00
功能M0M1
表 12.4.5 M1,M0真值表
10SHIFT
11ADD
11CLR
M0M1控制信号
M1=ADD+CLR
M0=CLR+ADD+SHIFT
75
寄存器 A的电路实现
M1M0
SHIFT
≥1 ≥1
CLR
ADD
DSR A(74194)
Q3~ Q0 D3~ D0
QD
CP
LED
76
乘数寄存器 Q的实现
以乘数寄存器 Q为目标的操作有:移位和保持。
为减少集成电路的种类,乘数寄存器 Q也选用
74194实现
SHIFT信号控制右移操作,所以 M0=SHIFT。正常工作时,M1=0,但由于在乘法开始之前,应将乘数送入 Q寄存器,所以可将 M1=C(开关),在乘法开始之前,令 C=1,则 M1M0=10,用左移方式将乘数串行送入乘数寄存器 Q。 DSL开关 D,用来得到相应的乘数。
Q3输出作状态变量 S2。
77
被乘数计数器 M 的实现
没有任何操作,只是寄存功能,正常工作时,
M1M0=00。
考虑开始工作时的送数,将 M1=0,M0=C,
C=1时,将被乘数串行移入 M寄存器。 DSR
接开关 B,用来得到相应的被乘数。
78
加法器的实现
用 74283来实现。
被加数 A4A3A2A1接被乘数寄存器 M输出,加数
B4B3B2B1接累计器 A输出。输出 F4F3F2F1送累加器
A的数据端。
由于 A在 CLR信号到时,需要置 0,所以将
F4F3F2F1先与 CLR相与,再送至 A的数据端。
74283的 CO输出应送 DFF的 D端,但送时受 ADD
信号控制,所以应先与 ADD信号相与再送给 D。
79
计数器 CNT 的实现
CNT的操作:增 1和同步清零。所以采用四位二进制同步计数器 74163来实现
SHIFT?P,T,CLRCR。
当 CNT=3时,产生状态变量 S3,所以
S3=Q1Q0。
80
表 12.4.6 74163功能表
CR LD P T CP 功能
0 ↑ 清 0
1 0 ↑ 并入
1 1 0 保持
1 1? 0? 保持
1 1 1 1 ↑ 计数
81
M1
M0
P
T
CR
LD
Q1Q0
B3~ B0 F3~ F0
A3~ A0
4
M1M0
4
开关 D
M1M0
图 12.4.5 乘法器数据处理器电路
4
SHIFT
SHIFT
&
&
1
≥1 ≥1
&
开关 C
CLR
ADD
DSLDSRDS
R
Q3Q3~ Q0
Q(74194)A(74194)
Q3~ Q0 D3~ D0
开关 B
开关 A
M(74194)
LED
LED LED
DSR
CR 5V
5V
C0C4 74283
74163
CNT
S2
S1
Q3QD
Q3~ Q0
CP
4 4
82
控制器的实现
( 1)传统设计方法该控制器有 3个状态 T0,T1,T2,所以必须选用 2个 DFF触发器 Q2Q1,设编码分别为
00,01,10(标注在 ASM图上)。另外有 3
个输入条件 S1S2S3。所以可得乘法器控制器状态转移表:
83
S1
S2
SHIFT
1
0
0
0
T0
T1
T2
1
10
01
1
00
CLR
ADD
S3
图 12.4.4 乘法器的 ASM图
84
表 12.4.7 乘法器状态转移表现 态 输 入 次 态 输 出
Q2 Q1 S1 S2 S3 Q2 Q1
T0 0 0 0 0 00 0 1 0 1 CLR
T1 0 1? 0? 1 00 1? 1? 1 0 ADD
T2 1 0 0 0 1 SHIFT1 0 1 0 0
85
图 12.4.6 次态图
0 1
0 0 1
1 0?
Q2
Q1
(a) Q2次态图
0 1
0 S1 0
1 S2?
Q
2
Q
1
(b) Q1次态图
Q2n+1=D2=Q1 Q1n+1=D1=?Q2?Q1S1+Q2?S3
同理可得,CLR=?Q2?Q1S1,ADD=?Q2Q1S2,SHIFT=Q2?Q1
86
(2)用数据选择器、寄存器、译码器的方法(用 MSI)
图 12.4.7 利用数据选择器和译码器的控制逻辑框图数据选择器寄存器译码器
1
X D Q T 译码器
C
87
图 12.4.8 用数据选择器和译码器实现的乘法控制器逻辑图
S1
S2
SHIFT
T2
&
&
1 1D Q1
1D Q2A0 A1
A0 A1
CP
T0
T1 ADD
CLR
S2
0
1
2
3
“0”
0
1
2
3
“0”
“1”
74153
74153
译码器
R
R
C1
C1
88
(3)用每态一个触发器的方法(用 SSI)
控制器有多少状态就有多少触发器,每一个状态对应一个触发器,某一触发器出 1表示进入该状态,相当于 3个状态分别编码为 100,010,
001。
优点,a、无须分配状态。
b、控制器的逻辑图易于读懂,调试维护方便,
只要根据哪个触发器输出 1,就知道进入哪个状态。
c、不用列状态转移表,直接根据 ASM图求得触发器得输入;
89图 12.4.4 乘法器的 ASM图
S1
S2
SHIFT
1
0
0
0
T0
T1
T2
1
10
01
1
00
CLR
ADD
S3
D0=T0?S1+T2S3
D1=T0S1+T2?S3;
D2=T1?S2+T1S2=T1
90
S2
START
图 12.4.8 用每态一个触发器的乘法控制器逻辑图
1 & ≥1
1
&
&
&
≥1
&
&
S
1D
CP
C1
F0
Q0
T0
T1
T2
S2
CLR
ADD
SHIFT
R
1D
C1 F1
Q1
R
1D
C1 F2
Q2
91
(4)用 PLA的方法(用 LSI)
传统方法当状态比较多时,用组合电路和中规模电路实现就不合适了,可以采用 PLD器件来实现图 12.4.10 PLA控制器一般结构框图
PLA寄存器

……

输入输出
92
图 12.4.11 乘法器的 PLA控制器
PLA
Q1
S3
S2
S1
D2
Q2
D1
T2(SHIFT)
T1
T0
ADD
CLR
93
现 态 输 入 次 态 输 出
Q2 Q1 S1 S2 S3 Q2 Q1 T0 T1 T2(SHIFT) CLR ADD
T0
0 0 0 0 0 1 0 0 0 0
0 0 1 0 1 1 0 0 1 0
T1
0 1? 0? 1 0 0 1 0 0 0
0 1? 1? 1 0 0 1 0 0 1
T2
1 0 0 0 1 0 0 1 0 0
1 0 1 0 0 0 0 1 0 0
表 12.4.8 乘法器状态转移表
94
表 12.4.9 PLA编码表乘积项输 入 输 出
Q2 Q1 S1 S2 S3 D2 D1 T0 T1 T2(SHIFT) CLR ADD
P1 0 0 0 - - - - 1 - - - -
P2 0 0 1 - - - 1 1 - - 1 -
P3 0 1 - 0 - 1 - - 1 - - -
P4 0 1 - 1 - 1 - - 1 - - 1
P5 1 0 - - 0 - 1 - - 1 - -
P6 1 0 - - 1 - - - - 1 - -
95
1
1
1
1
1
& & & & & &
≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
≥ 1
Q2
Q1
S1
S2
S3
D2
D1
T0
T1
T2
CLR
ADD
PLA实现电路
96
PLD在数字系统设计中的应用
97
(3)公路上无车,或有车,且公路通车时间超过最长时间,则主干道交通灯由 红 → 绿,公路交通灯由 绿 → 黄 → 红 ;
例 12.5.1:设计一个交通灯管理系统。其功能如下:
(1)公路上无车时,主干道 绿灯亮,公路 红灯亮 ;
(2)公路上有车时,传感器输出 C=1,且主干道通车时间超过最短时间,主干道交通灯由 绿 → 黄 → 红,公路交通灯由 红 → 绿 ;
(4)假设公路绿灯亮的最长时间等于主干道绿灯亮的最短时间,都为 16秒,若计时到 E=1;黄灯亮的时间设为 4秒,
若计时到 F=1。当启动信号 S=1时,定时器开始计时。
98
图 12.5.1 十字路口交通灯和传感器示意图主干道乡间公路
99
控制器 指示灯驱动电路定时器传感器信号 C T 主绿 HG
主黄 HY
主红 HR
公绿 FG
公黄 FY
公红 FR
图 12.5.2 系统初始结构框图启动信号S
16s
计时到信号E
4s
计时到信号F
100图 12.5.3 交通灯管理系统 ASM图
HG FR
C
E
S
HY FR
F
S
HR FG
E
CS
S
HR FY
F
S
T0
T2
T1
T3
00
10
01
11
0
1
0
1
0
1
01
0
1
0
1
101
处理器设计
根据 ASM图列出处理器明细表,如表 12.5.1。
操作表 状态变量表控制信号 操作 状态变量 定义
T0 HG=1,FR=1 E
F
E=1
F=1T
1 HY=1,FR=1
T2 HR=1,FG=1
T3 HR=1,FY=1
S 启动定时器
102
根据处理器明细表可知指示灯驱动电路为一组合电路,
可根据明细表列出其真值表,
输入 输出
HG HY HR FG FY FR
T0 1 0 0 0 0 1
T1 0 1 0 0 0 1
T2 0 0 1 1 0 0
T3 0 0 1 0 1 0
103
图 12.5.4 指示灯电路图
≥1
≥1
T0
T2
T1
T3
HG
HY
FG
FY
HR
FR
104
定时电路设计
5V
CLR
74161
A B C DCR
T
P L
D
Q2
S
Q3Q1Q0
CK(秒脉冲)
QCC
&
EF
图 2 定时电路图
S是启动定时器的信号,E,F为定时器的输出信号,标志 16S
和 4S的计时到
105图 12.5.5 定时器电路逻辑图
106
控制器的设计根据每态一个触发器的方法实现控制器。
由 4个 DFF对 4个状态 T0,T1,T2,T3进行编码。根据 ASM图直接推导激励函数为:
D0=T0(?C+?E)+T3F
D1=T0CE+T1?F
D2=T1F+T2?EC
D3=T2(E+C)+T3?F
107
根据 ASM图,产生 S信号的条件为:
&
&
&
&≥1
≥1
1
T0
T1
T2
T3
EC
F
E
C
S
S
图 5 S信号产生电路
3210 )( TFTCETFEC TS
108图 12.5.3 交通灯管理系统 ASM图
HG FR
C
E
S
HY FR
F
S
HR FG
E
CS
S
HR FY
F
S
T0
T2
T1
T3
00
10
01
11
0
1
0
1
0
1
01
0
1
0
1
109F0011
F1111
T3
E+C
E·C
F
F
C·E
C·E
转 换 条 件
1101
0101T
2
0110
1010T
1
1000
0000T
0
Q1Q2Q1Q2
次 态现 态控制器状态转移表图 3 次态图
1
F0
1
0
10Q
2
Q
1
(b) Q1次态图
1
0
10Q
2
Q
1
(a) Q2次态图
F
C·E
E+C
F
F
用数据选择器、时序寄存器、译码器的方法实现
110
图 4 控制器逻辑图
&
1 ≥1
E
C
D0
D1
D2
D3
A1 A0
Y
74153
1D
C1
R
1A0
A1
Y0
T0
1Y1
T1
1Y2
T2
1Y3
T3
Y
1D
C1
R
1
0
1
F
D0
D1
D2
D3
A1 A0
Y
74153
74139
CLK CLR
Q1
Q2
111
(1)减小系统的硬件规模;
(2)提高系统的可靠性;
(3)提高系统的工作速度;
使用 PLD器件的优点
★ 用 PLD器件实现系统
(6)降低设计成本;
(7)增加系统的保密性能。
(4)提高系统的灵活性;
(5)缩短设计周期;
112
一、系统级设计
1.系统初始结构图
2.导出系统 ASM图二、子系统级、部件级、元件级设计根据 ASM图,列出状态转移表,书写源程序;
用 71163实现定时器。
113
GAL16V8
CLK
CLR
QCC
Q1
Q0
C
19 Q0
18 Q1
1
2
9
3
4
5
17 Q2
16 Q3
15 E
14 F
13 S
≥1 ≥1
HGHYFGFY FR HR
74161
QCC Q1Q0
图 12.5.8 初始结构框图
114
NAME TRAFFICLIGHT;
PARTNO;
REV V1.0;
DATE X/X/X;
DESIGNER XXX;
COMPANY NUPT;
ASSEMBLY;
LOCATION;
/* INPUT PIN*/
PIN[1,2,3,4,5,9]=[CLK,C,QA,QB,QCC,CLR];
/* OUTPUT PIN*/
PIN[19,18,17,16,15,14,13,11]=[Q0,Q1,Q2,Q3,E,F,S,OE];
编写的 CUPL程序
115
/*REGISTER INPUT SIGNAL*/
Q0.D=!CLR#(CLR&(Q0&!C#Q0&!E#Q3&F));
Q1.D=CLR&(Q0&C&E#Q1&F);
Q2.D=CLR&(Q1&F#Q2&C&!E));
Q3.D=CLR&(Q2&E#Q2&!C#Q3&!F));
/*START SIGNAL*/
S=Q0&C&E#Q1&F#Q2&E#Q2&!C#Q3&F;
/*TIMING*/
F=Q1&QA&QB&!E#Q3&QA&QB&!E#!S&E;
E=Q0&QCC&!F#Q2&QCC&!QF#!S&F;
/*END*/
116
饮料出售机例 12.6.2 假设该饮料机出售的某种饮料价格为 2元,
机器只能接收 1元和 5角的硬币(其他类型的硬币将被饮料机拒绝)。一旦机器接收到 2元的钱币,则分发该饮料。若收到的硬币超过 2元,则退回所有钱币。
117
clock
饮料机控制器Reset
20c
10c
Ready
Dispense
Coin
饮料机处理器
Return
cloc
k
118
例 3 设电路的输入为 X,输出为 Z,当 X在连续的四个时钟周期内输入全,0”或全,1”时,
输出为,1”,否则输出为,0”,试画出该电路的 ASM图。
119
Z ← 0
XT
1
T0
0
1
T4
XT
2 0
1
XT
3 0
1
X
0
1
Z←1
XT
5 1
0
XT
6 1
0
X
1
0
Z←1
120
例 4 在 T1状态下,如果控制输入 Y和 Z分别等于 1和 0,
系统实现条件操作 ——
寄存器增 1,并切换到状况 T2。试按上述条件画出一个部分 ASM图。
YZ
REG←REG+1
T1
T2
01
11
10
0?
10
121
例 5 控制器的状态图示于下图,它有四个状态和两个输入端。请完成下列问题:
( 1)试画出等效的 ASM图(状态框是空的);
( 2)用数据选择器实现控制器。
11
00
01
10
X=0
X=1 X=0X=0
X=1 Y=0
X=1,Y=0
X=1,Y=1
X=1,Y=0X=1,Y=1
122
( 1)试画出等效的 ASM图(状态框是空的);
X
XY
T0
T2
T1
T3
00
10
011
01
0011
11
10
10
XY XY
11 11
0?
0?
0
11
00
01
10
X=0
X=1 X=0X=0
X=1 Y=0
X=1,Y=0
X=1,Y=1
X=1,Y=0X=1,Y=1
123
( 2)用数据选择器实现控制器。
将二进制代码 00,01,10,11分别分配给 T0,
T1,T2,T3,控制器的状态转移表如下:
101010
0110
111110
010010
T1
10?100
00?000T
0
Q1Q2YXQ1Q2
次 态输 入现 态
00?001
010101
010111
111111
00?011
T3
111101
T2
Q
1
Q2YXQ1Q2
次 态输 入现 态
124
控制器有 4个状态( T0,T1,T2,T3 ),用 2个触发器,2个 4选 1数据选择器实现。 Q2,Q1的次态卡诺图如下:
1
0
10Q2
Q1
(b) Q1次态图
1
0
10Q2
Q1
(a) Q2次态图
0 x+y
x x
x
xy xy
x+y
125
电路图如下:
&
≥1xy
D0
D1
D2
D3
A1 A0
Y
74153
1D
C1
R
Y
1D
C1
R
D0
D1
D2
D3
A1 A0
Y
74153 CLK CLR
Q1
Q2
x
0
x
y
≥1xy
126
例 6 分别用 每态一个触发器法,
多路选择器 —
时序寄存器 —
译码器法 设计右图所示 ASM
图的控制器。
X2
X3
X4
Z
T0
T3
00
11
0
1
1001
0
1
0
1
T1 01
T2 10
X2X1 0011
127
( 1)用每态一个触发器法:
控制器有 4个状态( T0,T1,T2,T3 ),需 4个触发器,采用 DFF,并分别用 F0~ F3表示,由
ASM图知:
12212231212230 )( XXTXXTTXXXXTTD
421321043232101 )( XXTXXTTXXXXXTTD
122212 XXTXTD
43211223 XXXTXXTD
321 XXTZ?
电路图如下:
128
&
≥1
Z
1
1
1
1 &
&
&
&
&
&
&
≥1
≥1
≥1
≥1
1D
C1
S
T0
1D
C1
R
T1
1D
C1
R
T2
1D
C1
R
T3
CP
X1
X2
X3
X4
X2
X3
Q0
Q1
Q2
Q3
F0
F1
F2
F3
129
( 2)用多路选择器 —时序寄存器 —译码器法:
控制器有 4个状态( T0,T1,T2,T3 ),需 2个触发器,采用 DFF,并分别用 F0,F1表示,需 2个四选一多路选择器,1个 2—4线译码器:
将二进制代码 00,01,10,11分别分配给 T0,
T1,T2,T3,控制器的状态转移表如下:
130
现 态 输 入 次 态 输 出
Q2 Q1 X1 X2 X3 X4 Q2 Q1 Z
T0 0 0 0 1 0
T1
0 1? 0 1 0 0
0 1? 1 0? 0 1 0
0 1? 1 1 0 1 1 1
0 1? 1 1 1 0 1 1
T2
1 0 0 0 1 1 0
1 0 0 1 0 0 0
1 0 1 0 0 0 0
1 0 1 1 1 0 0
T3 1 1 0 0 0
131
Q2,Q1的次态卡诺图如下:
1
0
10Q
2
Q1
(b) Q1次态图
1
0
10Q
2
Q1
(a) Q2次态图
0
x1 ⊙ x2 0
1
0
x2x2+x3x4
x1x2
132
电路图如下:
&
≥1
D0
D1
D2
D3
A1 A0
Y
74153
1D
C1
R
1A0
A1
Y0 T0
1Y1 T1
1Y2 T2
1Y3 T3
Y
1D
C1
R
=
0
1
D0
D1
D2
D3
A1 A0
Y
74153
74139
CLK CLR
Q1
Q2
x2
x2
x1
x2&
x4
x3
x2
x1
&
x2
x3
Z
133
进行分解时,须遵循下列原则,才能得到一个系统化的、清晰易懂的、可靠性高、可维护性好的设计:
( 1)正确性和完备性原则检查指标所要求的各项功能是否都实现了,且留有必要的余地,最后还要对设计进行适当的优化。
每个子系统、部件或子部件应设计成在功能上相对独立的模块,而且对某个模块内部进行修改时不应影响其他的模块。
( 2)模块化、结构化原则
134
( 3)问题不下放原则在某一级的设计中如遇到问题时,必须将其解决了才能进行下一级的设计。
在底层遇到的问题找不到解决办法时,必须退回到它的上一级去甚至再上一级去,通过修改上一级的设计来减轻下一级设计的困难。
( 4)高层主导原则
( 5)直观性、清晰性原则不主张采用难以理解的诀窍和技巧,应当在设计中和文档中直观、清晰地反映出设计者的思路。
135
CPU
CACHE
SDRAM 北桥芯片 AGP显卡
CRT
SCSI接口 声卡南桥芯片
HDISK
CDROM
USB1
网卡
ISA/EISA总线 (8.3MHz)
BIOS RS232 并行接口 打印机软盘驱动器接口FDISK
键盘、鼠标接口键盘鼠标
PCI总线 (33MHz)
IDE接口 1
IDE接口 2
USB接口
100/66MHz
133/66MHz100/66MHz
Pentium 个人计算机系统