12.3 数字系统设计的描述工具在设计的不同阶段采用适当的描述手段,
精确地、无二义性地定义和描述设计目标的功能和性能,是设计工作正确实施的依据。
数字系统设计中常用的描述工具有,方框图、流程图,ASM图和 MDS图。
一、方框图
1.作用描述数字系统的总体结构。
方框图用于描述数字系统的模型。
2.构成要素方框,定义一个子系统,实现某种数据处理或传送等功能。在方框内描述其功能(文字表达式等) ;
带箭头的直线,各子系统之间的信息通道。箭头表示信息传输方向。
标注,表示主要信息通道的名称、功能或信息类型。
系统说明书,给每个子系统尽可能详细的说明。
系统输出输入
… …
( a)一般方框图控制器
C
数据采集输入 数据处理
C
输出数据显示数据打印
( b)系统分解图举例:例,12.3.1给出了一个智能仪表方框图的设计和细化过程。
数据处理
( C)进一步细化方案控制器
C
数据采集输入
C
输出数据显示数据打印
( d)数据处理模块的细化输入 /输出接口
CM寄存器A
寄存器
ALU
C
CC
图 12.3.1 一个智能仪表的方框图二、算法流程图
1.作用描述算法。
2.基本符号入口点;出口点;传输框;判断框
A←A+B PBA
( d)判断框( a)入口点 ( b)出口点 ( c)传输框图 12.3.2 流程图符号注意,按照事件的先后次序排列的,与电路的时序无对应关系。
例 12.3.2 函数求值,计算 Z=4× X1+2 × X2+X3的值。
任务:输入数据 X串行输入序列 X1,X2,X3,计算完成后,提供输出 Z。
解:根据题意,可以采用多种方法实现。
第一种方法,设置 3个寄存器分别存储 X1,X2,X3,
然后对 X1乘 4,X2乘 2,其中乘 2操作用寄存器左移实现,最后执行 3个数的求和运算。
由以上分析可以看出,这种方法的电路结构复杂,需要 3个寄存器,但算法简单。
A←X 1
B←X 2
C←X 3
A←SL(A)
B←SL(B)
A←SL(A)
A←A+B+C
第二种方法,设置两个寄存器 A和 B,寄存器 A存储 X1,
并执行乘 4操作,寄存器 B存储 X2,并执行乘 2操作,
然后执行 A←A+B,,最后再将 A与 X3相加,输出 Z。
A←X 1
B←X 2
A←SL(A)B←SL(B)
A←SL(A)
A←A+B
A←A+X 3
由以上分析可以看出,寄存器结构简化了,
然而算法变复杂了。
第三种方法,系统中只有一个寄存器 A存放计算结果,算法变的更复杂,其系统结构图和流程图如图 12.3.3和图 12.3.4所示,
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
算法流程图图 11.3.3 系统结构图例 11.3.2 绝对值计算,计算 。321 XXXZ
图 12.3.6 算法流程图
A←0,C ←0
X<0
A←A -X
1
X<0
A←A -X A←A+X
X<0
A←A -X
C ←1
A←A+X
C ←1
1 0
1 0
A←A+X
0
Z
控制器
C
A
组合电路X
T S
C
三、算法状态机图( ASM图)
1.作用严格按系统时序来描述系统的工作过程。
2.ASM图符号
(1)状态框
(2)条件框
(3)判断框寄存器操作或输出符号 二进制代码
( a)状态框 ( b)实例
R ← 0
START
011T3
图 12.3.7 状态框状态框中的操作通常用 RTL语言表示,若用具记符代替,则该助记符是控制器发出的控制命令。
( 1)状态框
T3,R←0 ; 用 助记符表示为,CLR R控制命令。
条件分支分支
0 1
分支分支
0 1条件图 12.3.8 判断框判断框表示判断变量对控制器的影响,因此判断框中的条件通常为处理器的状态信号或外部输入控制信号。
( 2)判断框
X1 X20× 11
T1
T2 T3 T4
10
( a)真值表图解分支表示
0 1
T1
X1
T2
T3 T4
X20 1
( b)变量优先级分支表示图 12.3.9 判断框 3个分支表示图 12.3.11 条件框举例
A?0
T1
T2 010
0 1
001
E
R←0
图 12.3.10 条件框寄存器操作或输出条件框 为 ASM图所特有的,条件框内的操作和输出是在给定条件下,判断条件被满足时才发生的,所以条件框的输入必定与判断框的分支相连。
( 2)条件输出框
3.ASM块
2、一个 ASM块由一个状态框和若干与之相连的判断框和条件框组成;
1、一个 ASM块表示一个时钟周期内系统的状态;
A?0
T1
T2 010
0 1
001
E
R ←0
3、一个 ASM块内所有操作在同一有效时钟沿完成。
A← 0和 R←0 在同一个时钟沿完成。 且在 T2状态的有效时钟沿完成。
若 E=1,则发出
CLRA,CLRR
的命令。
若 E=0,只发出
CLRA的命令。
CP1 CP2
A?0
R?0
A?0
Z
控制器
R
A
组合电路X
CLRA E
CLRR
A?0
T1
T3 010
0 1
001
A?A+1
E
R←0
T2
CP1 CP2 CP3
发 CLRA
发 CLRA
发 CLRRA?0
A?0 A?A+1
E=1
E=0
发 INCA
发 INCA
R?0
Z
控制器
R
A
组合电路X
CLRA ECLRR
INCA
(3) ASM图与控制器状态转移图的关系;
状态转移图只能表述控制器状态转移情况,但无法表示处理器完成何种操作以及输出变量为何值。
图 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/10
01/10
1× /11
E F/INCA CLR
图 12.3.13 等效状态转移图例,一个数字系统的数据处理器有 2个触发器 E和 F及
1个二进制计数器 A,计数器的各个位分别用 A4,A3、
A2,A1标记,A4为最高位,A1为最低位。启动信号 S使计数器 A和触发器 F清,0”,从下一个时钟脉冲开始,
计数器增 1,一直到系统停止工作为止。
系统的操作序列由 A3和 A4之值决定,即:
① A3=0,触发器 E清,0”,并继续计数。
② A3=1,触发器 E置,1”,并检验 A4,若 A4=0,继续计数;若 A4=1,触发器 F置,1”,E置,1”,系统停止计数。
图 12.3.114 例 12.3.3 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
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
A4 A3 A2 A1 E F 条 件 状 态
0 0 0 0 0 0 0 T11
0 0 0 1 0 0 0 0 T1
4.ASM图的建立从算法流程图 ASM图原则 1,在算法的起始点安排一个状态;
S0
1
算法流程图
T0
S0
1
ASM图
S0 1
A?0
算法流程图原则 2,必须用状态来分开不能同时实现的寄存器传输操作;
A?A+1
A?SR(A)
ASM图算法流程图
A?A+1
A?SR(A)
原则 3,如果判断框中的转移条件受前一个寄存器操作的影响,应在它们之间安排一个状态。
T0
A=n0 1
A?A+1
T0
A=n0 1
A?A+1
ASM图算法流程图图 11.3.13 算法流程图
A←A+1
0
T0
S
A3 1
T1
A4
0
0
1
1
A←0,F←0
T2 E←1
E←1,F←1
E←0
T0
S
A←A+1T1
1
A4
0
0
E←1
E←0
0
A←0,F←0
1
图 11.3.14 ASM图
A3
T2
E←1,
F←1
1
分析图 12.3.18 的
ASM表的操作序列
1)图 12.3.14和图 12.3.18的 ASM图的差异分析,
将图 12.3.14ASM图与图 12.3.18ASM图相比不同点在于图 12.3.14在 A←A+1 的后面插入了一个方框,这说明了判断是在 A+1
的次态。而图 12.3.18的判断是在 A+1的现态。
这两张 ASM图之间的差异可以从它们各自的 ASM图表操作序列可见。
2)比较两个 ASM表
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
RESET表示系统复位信号。
BEGIN为外部送入系统的启动信号。
END为系统结束命令。
BUSY表示系统是否忙。
T2
C1
C2
C3
C5
S1
S2
0
1
10
C4
T0
T1
T3
ASM图操 作 表 状态变量表控制信号操 作 状态变量定 义
C1 RESET?1
WAIT
S1
S2
BEGIN
END
C2 RESET?0
A?DATA,
BUSY?0
C3 A?SR(A)
C4 BUSY?1
C5 Y?A,BUSY?0
表 12.3.20 处理器明细表
T0
0X/10000 1X/10000
T1
T2
XX/01000
T3 X1/00100
XX/00001
X0/00110
输入 /输出,S1S2/C1C2C3C4C5
图 12.3.20 控制器的状态转移图控制器的状态转移图作业,12.2 ;12.3
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 个人计算机系统