有限状态机编写(第4节)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.按输出与输入的关系划分
若电路输出与输入和状态有直接关系,称为 Mealy 型 若时序电路输出仅与状态有直接关系,称为 Moore 型
3
时序电路逻辑功能的表示方法
时序电路的逻辑功能可用:逻辑表达式、状态表、状 态图、时序图等方式表示,这些表示方法可以互相转换 1.逻辑函数表达式
⑴ 输出函数表达式 反映电路输出Z与输入x和状态y之间的关系。 对 Mealy型,函数表达式为:Zi=Fi(x1…xn ,y1…ys) i=1…m 对 Moore型,函数表达式为:Zi = Fi(y1 …ys) i=1…m ⑵ 激励函数表达式 反映存储单元输入Y与输入x和状态y之间的关系。 Yj= Gj(x1…xn ,y1…ys ) i=1…m ⑶ 次态函数表达式 反映电路的次态 y(n+1) 与激励函数Y和电路现态y的关系 y(n+1)= K(Yj ,yn )
01 0 0
11 × ×
10 0 0
X 0 1
00 0 0 (b)
01 0 1
11 × ×
10 0 1
Q0n 1 的卡诺图
Q1n 1 的卡诺图
24
n Q0 1 XQ1nQ0n
n Q1n 1 XQ0 Q1n XQ1n
Q0n 1 XQ1n Q0n 0 Q0n n 1 Q1 XQ0nQ1n XQ1n
FF2 Q1 Q1 & 1J C1 1K Q2 Q2
Y
CP
6
检查电路能否自启动
将无效状态111代入状态方程计算:
n n n Q0 1 Q2 Q1n Q0n 1 Q0 0 n 1 n Q1 Q0 Q1n Q2n Q0n Q1n 0 n 1 n n Q2 Q1n Q0 Q2n Q1n Q2 0
原始状态图中,凡是在输入相同时,输出相同、要转换到的次 态也相同的状态,称为等价状态。状态化简就是将多个等价状态 合并成一个状态,把多余的状态都去掉,从而得到最简的状态图。 所得原始状态图中,状态S2和S3等价。因为它们在输入为1时输出 都为1,且都转换到次态S3;在输入为0时输出都为0,且都转换到 次态S0。所以它们可以合并为一个状态,合并后的状态用S2表示。
Q
n 1
T Q
n
将各触发器的驱动方程代入,即得电路的状态方程:
n Q1n 1 T1 Q1n X Q0 Q1n n n n Q0 T0 Q0 1 Q0 Q0n
13
3
计算、列状态表
输入 X 现
n 1
态
n 0
次
态
Q Q
0 0 1 1 0 0 1 1
15
时序逻辑电路的设计方法
时序电路的设计步骤: 设计 要求
1
画原始 状态图
2
化简
最简状 态图
3
状态分配 状态表
4
检查电 路能否 自启动
6
画电 路图
5
选触发器,求时 钟、输出、状态、 驱动方程
16
例
设计一个按自然态序变化的7进制同步加法计数器,计数 规则为逢七进一,产生一个进位输出。 1
建立原始状态图
比较,得驱动方程:
Q
n 1
JQ K Q
n
n
J 0 XQ1n J1 XQ0n
时序电路的 “状态” 信号:y1~ ys
…
…
时钟 CP 时序电路激励信号:Y1~Yr 某一时刻的状态称为 “现态”,记作 y,某一现态下
随外部信号变化而即将到达的状态称为 “次态”,记作 y(n+1)
2
时序电路分类
1.按电路工作方式划分
同步时序电路——存储电路由带时钟控制的触发器组成,电路 状态的改变由系统统一时钟控制。时钟到来前的状态为 “现态”, 时钟到来后的状态为 “次态”。 异步时序电路 ——存储电路由触发器和延时元件组成,时序 电路中状态的改变不受统一时钟的控制,输入的变化将直接导致 输出的变化。
CP CP CP2 CP 0 1
输出方程:
Q0n
n Q2 Q1n
00 0 1 0 0
01 0
11 1
10 0
0 × 0 Y 的卡诺图
n 1 n 2
18
Y Q Q
Q0n
n Q2 Q1n
00 01 1 0 11 0 × 10 1 0
n 2
n 1
Q0n
00 0 1 0 0 (c)
01 0 1
同步时序电路的时钟 方程可省去不写。
写 方 程 式
Y Q Q
n 1
n 2
输出仅与电路现态有关,为 穆尔型时序电路。
J 2 Q1n J1 Q0n 驱动方程: n J 0 Q2
K 2 Q1n K1 Q0n K0 Q
n 2
7
2
求状态方程
JK触发器的特性方程:
4
时序电路逻辑功能的表示方法
2.状态表 反映时序电路输出Z、次态Y和电路输入x、现态 y之间关系的表格。 3.状态图 反映同步时序电路状态转换规律及相应输入、 输出取值关系的有向图。圆圈表示状态,有向线段 表示状态转换关系,箭头起点为现态,终点为次态。 4.时序图 用波形图表示输入信号、输出信号和电路状态 等的取值在各时刻的对应关系。
4
00 0/1 11 0/0 1/0 1/1 1/1
01
CP X 0/1 Q0
画 时状 序态 图图
5
Hale Waihona Puke Baidu
10
Q1 Y (b) 时序图
0/1 (a) 状态图
电 路 功 能
由状态图可以看出,当输入X=0时,在时钟脉冲CP的 作用下,电路的4个状态按递增规律循环变化,即: 00→01→10→11→00→… 当 X =1时,在时钟脉冲 CP 的作用下,电路的4个状态 按递减规律循环变化,即: 00→11→10→01→00→… 可见,该电路既具有递增计数功能,又具有递减计数 功能,是一个2位二进制同步可逆计数器。
11
X
FF0 1T C1
例
“1”
Q0
FF1 =1 1T C1 Q1
&
Y
CP
Q0
Q1
1
同步时序电路,时钟方程省去。 输出方程: Y
写 方 程 式
XQ X Q
n 1
n 1
输出与输入有关,为 米利型时序电路。
T1 X Q0n 驱动方程: T0 1
12
2
求状态方程
T触发器的特性方程:
1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 1 1 1 0 0 0 0
0 0 0 0 1 1 0 0
9
4
排列顺序:
n n Q 2 Q1n Q0
画状态图、时序图
/Y /0 /0 000→001→011 /1↑ ↓/0 100←110←111 /0 /0 (a) 有效循环 (b) 010 /1 无效循环 /0 101
有限状态机
时序逻辑电路的结构
时序逻辑电路分析和设计
有限状态机的基本概念
有限状态机 (Moore和Mealy)
硬件描述语言
1
时序逻辑电路结构
时序电路由组合电路和存储电路组成。其输出 不仅取决于当时的输入,还与过去的状态有关。
时序电路输入信号:x1~xn 时序电路输出信号:Z1~Zm
x1 xn Zm ys : 组合电路 y1 存储电路 Y1 Yr : Z1
23
4
选触发器,求时钟、输出、状态、驱动方程
选用2个CP下降沿触发的 JK 触发器,分别用FF0 、FF1表示。采 用同步方案,即取:
Q1nQ0n
输 出 方 程
状 态 方 程
X 0 1
Q1nQ0n
00 0
01 0
11 ×
10 0 1
Q1nQ0n
Y XQ
n 1
0 0 × Y 的卡诺图
X 0 1
00 0 1 (a)
n 1 2
11 0 ×
10 1 1
0 1
1 0
状 (a) 态 n 方 Q2 Q1n 00 程 Q0n
0 1 0 1
Q0n 1 的卡诺图
01 1 0 11 0 × 10 0 1
Q
的卡诺图
最好画出状态转移表
n Q0n 1 Q2 Q1n Q0n 1 Q0n n 1 Q1 Q0n Q1n Q2n Q0n Q1n n 1 n Q2 Q1n Q0n Q2n Q1n Q2
Q1n 1 的卡诺图 (b)
不化简,以便使之与JK触发器的特性方程的形式一致。
19
n Q0n 1 Q2 Q1n Q0n 1 Q0n n 1 Q1 Q0n Q1n Q2n Q0n Q1n n 1 n Q2 Q1n Q0n Q2n Q1n Q2
比较,得驱动方程:
J 0 Q2n Q1n 、 K 0 1
J 1 Q 0n 、 K 1 Q2n Q0n n n n J 2 Q1 Q 0 、 K 2 Q1
Q
5
n 1
JQ K Q
n
& FF 0 1 1J C1 1K
n
& FF1 1J C1 1K &
20
电 路 图
Q0 Q0
Q
Q1n 1 X Q0n Q1n n Q0 Q0n Y X Q1n
n 1 1
Q
n 1 0
输出 Y 1 1 1 1 0 0 1 1
14
0 0 0 0 1 1 1 1
0 1 0 1 0 1 0 1
0 1 1 0 1 0 0 1
1 0 1 0 1 0 1 0
0/1
排列顺序:
n n Q 2 Q1n Q0
/Y
/0 /0 /0 000→001→010→011 /1 ↓/0 110←101←100 /0 /0
2
状态化简 状态分配
已经最简。 已是二进制状态。
17
3
4
选触发器,求时钟、输出、状态、驱动方程
因需用3位二进制代码,选用3个CP下降沿触发的JK触 发器,分别用FF0、FF1、FF2表示。 由于要求采用同步方案,故时钟方程为:
状态图
10
CP
时 序 图
Q0 Q1 Q2 Y
5
电 路 功 能
有效循环的6个状态分别是0~5这6个十进制数字的 格雷码,并且在时钟脉冲 CP的作用下,这6个状态是 按递增规律变化的,即: 000→001→011→111→110→100→000→… 所以这是一个用格雷码表示的六进制同步加法计数 器。当对第6个脉冲计数时,计数器又重新从000开始 计数,并产生输出Y=1。
可见111的次态为有效状态000, 电路能够自启动。
21
例
1
设计一个串行数据检测电路,当连续输入3个或3个以 上1时,电路的输出为1,其它情况下输出为0。例如: 输入X 101100111011110 输入Y 000000001000110
建立原始状态图
0/0 0/0 S3 1/1 1/1 1/0 S0 0/0 0/0
X/Y S1 1/0 S2
设电路开始处于初始状态为S0。 第一次输入1时,由状态S0转入 状态S1,并输出0; 若继续输入1,由状态S1转入状 态S2,并输出0; 如果仍接着输入1,由状态S2转 入状态S3,并输出1; 此后若继续输入1,电路仍停 留在状态S3,并输出1。
电路无论处在什么状态, 只要输入0,都应回到初 始状态,并输出0,以便 重新计数。
Q n 1 JQ n K Q n
将各触发器的驱动方程代入,即得电路的状态方程:
n n n Q2 1 J 2Q2n K 2Q2 Q1nQ2n Q1nQ2 Q1n n 1 n n n Q1 J1Q1n K1Q1n Q0 Q1n Q0 Q1n Q0 n 1 n n Q0 J 0Q0n K 0Q0 Q2nQ0n Q2nQ0 Q2n
8
3
现
计算、列状态表
态 次 态 输出
n n Q2 1 Q1n 1 Q0 1
n n Q2 Q1n Q0
n Q2 1 Q1n n 1 Q1 Q0n n 1 Q0 Q2n
Y
Y Q Q
n 1
n 2
0 0 0 0 1 1 1
1
0 0 1 1 0 0 1
1
0 1 0 1 0 1 0
5
时序逻辑电路的分析方法
时序电路的分析步骤:
1
电路图
时钟方程、 驱动方程和 输出方程
2
状态方程
3
判断电路 逻辑功能
5
状态图、 状态表或 时序图
4
计算
6
&
Y
例
CP
FF0 1J C1 1K
Q0
FF1 1J C1 1K
Q1
FF2 1J C1 1K
Q2
Q0
Q1
Q2
1
时钟方程: 输出方程:
CP2 CP CP CP 1 0
22
2
1/0 0/0 0/0 1/1 S3 1/1 (a) S0 0/0 0/0
状态化简
1/0 S1 1/0 S2 0/0 S0 0/0 0/0 1/0 1/1
3
状态分配
1/0 0/0 00 0/0 0/0 1/0 01 1/0 10 1/0
S1 1/0 S2 1/0
原始状态图
1/1 S0=00 S1=01 (b) 简化状态图 S2=10 (c) 二进制状态图