第 8章 时序逻辑设计实践 (二 )
数字逻辑设计及应用
SSI型锁存器和触发器
MSI器件:计数器、移位寄存器其它:文档、迭代、故障和亚稳定性
8.5 移位寄存器 ( shift register)
串行输入
serial input SERIN
SEROUT 串行输出serial output
串入串出移位寄存器可以使一个信号延迟
n 个时钟周期之后再输出串入并出移位寄存器结构串入
serial-in SERIN 1Q
2Q
NQ
并出
parallel-out
可以用来完成串-并转换
serial-to-parallel
conversion
并入串出移位寄存器结构多路复用结构
LOAD/SHIFT
SERIN
SEROUT
并入并出移位寄存器结构
LOAD/SHIFT
SERIN
1Q
2Q
NQ
MSI移位寄存器
CLK
CLR
SERA
SERB
74x164
QA
QB
QC
QD
QE
QF
QG
QH
CLK
CLKINH
SH/LD
CLR
SER
A
B
C
D
E
F
G
H QH
74x166SERA·SERB
P521 图 8-50
4位通用移位寄存器 74x194
CLK
CLR
S1
S0
LIN
D QD
C QC
B QB
A QA
RIN
74x194
S1 S0 功能
0 0 保持
0 1 右移
1 0 左移
1 1 载入左移输入右移输入
4位通用移位寄存器 74x194
00
S1S0
保持
S1’ S0’
S1 S0
10
左移
01
右移
11
载入
P522 图 8-51
Qi* = S1’·S0’·Qi + S1’·S0·Qi-1 + S1·S0’·Qi+1 + S1·S0·INi
通用移位寄存器
S1 S0 功能
0 0 保持
0 1 右移
1 0 左移
1 1 载入
LIN QH
HQH
CLR GQG
CLK FQF
S1 EQE
S0 DQD
G1 CQC
G2 BQB
AQA
RIN QA
74x299 输入输出采用双向三态数据线
P524 图 8-53
CLK
CLR
S1
S0
LIN
D QD
C QC
B QB
A QA
RIN
74x194
CLK
CLR
S1
S0
LIN
D QD
C QC
B QB
A QA
RIN
CLK
CLR
S1
S0
LIN
RIN
移位寄存器的扩展并行输入
( 8位)
并行输出
8位移位寄存器计数器
D0 = F ( Q0,Q1,…,Q n-1 )
反 馈 逻 辑
D Q
CK Q
D Q
CK Q
D Q
CK Q
D Q
CK Q
CLK
FF0 FF1 FF2 FF3
一般结构:
1000 0100 00010010
有效状态 其他状态环型计数器
D Q
CK Q
D Q
CK Q
D Q
CK Q
D Q
CK Q
CLK
FF0 FF1 FF2 FF3
1000 0100
0001 0010
D0 D1 D2 D3
—— 非自启动的无效状态
D0 = Qn-1
有效状态 无效状态
D Q
CK Q
D Q
CK Q
D Q
CK Q
D Q
CK Q
CLK
FF0 FF1 FF2 FF3
1000 0100
0001 0010
D0 D1 D2 D3
自启动的自校正的扭环计数器 ( Johnson Counter)
D Q
CK Q
D Q
CK Q
D Q
CK Q
D Q
CK Q
CLK FF0 FF1 FF2 FF3
D0 = Qn-1’
0000 1000 1100 1110
1111011100110001
无效有效的状态循环
d
d d d
d
d dd
最小成本自校正设计
1、确定有效的状态循环
2、对无效状态进行处理,
使其进入有效循环。
Q0 Q1 Q2 Q3
1 11
1
000
0
1
1 1 1
0
0 00
Q0Q1
00 01 11 10
00
01
11
10
Q2Q3
D0
1
0000 1000 1100 1110
1111011100110001
有效无效
1001 0100 1010 1101
0110101101010010
1
D0 = Q3’ + Q2’·Q1
= ( (Q2’·Q1)’ · Q3)’
D0 = Q3’ + Q2’·Q1
4位 8状态自校正的 Johnson计数器利用通用寄存器 74x194实现环形计数器
Q0
Q1
Q2
Q3
1
0
CLOCK
1
0
0
0
RESET
载入
Q0
Q1
Q2
Q3
CLOCK
自校正的利用通用寄存器 74x194实现扭环计数器
CLK
CLR
S1
S0
LIN
D QD
C QC
B QB
A QA
RIN
74x194
+5V
CLOCK
RESET_L
S1S0接成左移形式自校正改进:
(法一)
D0 = Q3’ + Q2’·Q1
Q0
Q1
Q2
Q3
利用通用寄存器 74x194实现扭环计数器
CLK
CLR
S1
S0
LIN
D QD
C QC
B QB
A QA
RIN
74x194
+5V
CLOCK
RESET_L
自校正改进:
(法二)利用置数每当电路出现 0XX0
下一状态就是 0001
D0 = Q3’+Q0’
Q0
Q1
Q2
Q3
线性反馈移位寄存器( LFSR) 计数器
LFSR计数器 有 2n-1 种有效状态
——最大长度序列发生器反 馈 逻 辑
D Q
CK Q
D Q
CK Q
D Q
CK Q
D Q
CK Q
CLK
FF0 FF1 FF2 FF3
移位寄存器型计数器的一般结构利用反馈逻辑可以实现 模 2~模 16 的计数器
RESET_L
CLOCK
线性反馈移位寄存器( LFSR) 计数器奇校验电路全 0态的下一状态??
反馈方程 P535 表 8-21
LFSR计数器 有 2n-1 种有效状态
——最大长度序列发生器伪随机序列发生器 EN
猜谜游戏机 L1~L4
ERR
G1~G4
CLOCK
使能输入随机产生典型应用:产生逻辑电路的测试输入信号用于检错及纠错码的编码和译码电路
LFSR计数器串 /并转换源模块
Source module
目的模块
Destination module
控制电路控制电路并 -串转换器串 -并转换器并行数据并行数据串行数据
SYNC
同步脉冲并串转换
CLK
CLKINH
SH/LD
CLR
SER
A
B
C
D
E
F
G
H QH
74x166
D7
D6
D5
D4
D3
D2
D1
D0
并行数据?
SDATA
CLOCK
CLOCK
SYNC
CLK
CLR
LD
ENP
ENT
A QA
B QB
C QC
D QD
RCO
’163
CLK
CLR
LD
ENP
ENT
A QA
B QB
C QC
D QD
RCO
’163
计数低位计数高位时隙数位数
RESET_L 到目标
+5V
CLK
CLR
SERA
SERB
74x164
QA
QB
QC
QD
QE
QF
QG
QH
SDATA
CLOCK
CLK
CLR
LD
ENP
ENT
A QA
B QB
C QC
D QD
RCO
’163
CLK
CLR
LD
ENP
ENT
A QA
B QB
C QC
D QD
RCO
’163SYNC
+5V
CLK
EN
1D 1Q
2D 2Q
3D 3Q
4D 4Q
5D 5Q
6D 6Q
7D 7Q
8D 8Q
74x377
并行数据位数
+5V
+5V
串并转换顺序脉冲发生器
利用移位寄存器构成
—— 注意自校正(环形计数器 P530)
利用计数器和译码器构成
—— 注意,毛刺,(二进制计数器的状态译码 P513)
CLK
Q0
Q1
Q2
Q3
序列信号发生器
—— 用于产生一组特定的串行数字信号
例:设计一个 110100 序列信号发生器
利用触发器
利用计数器
利用移位寄存器利用 D触发器设计一个 110100序列信号发生器
1、画状态转换图
2、状态编码
000~101 表示 S0 ~ S5
S0 S1
S5
S2
S4 S3
/1 /1
/0
/1/0
/0
3、列状态转换输出表
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
0 0 0
Q2Q1Q0 Q2* Q1* Q0* Y
1
1
0
1
0
0
4、得到激励方程和输出方程
—— 考虑未用状态的处理
5、得到电路图
0
0
0
0
0
1
用计数器和数据选择器构成 序列信号发生器
74x163
CLK
CLR
LD
ENP
ENT
A QA
B QB
C QC
D QD
RCO
EN
A
B
C
D0
D1
D2
D3
D4
D5
D6
D7
Y
Y
74x151
例:产生一个 8位的序列信号 00010111
+5V
+5V
序列信号输出用移位寄存器构成 序列信号发生器例:产生一个 8位的序列信号 00010111
1
0
1
1
1
0
0
0
Q2Q1Q0
0 0 0
0 0 1
0 1 0
1 0 1
0 1 1
1 1 1
1 1 0
1 0 0
D0
Q2
Q1Q0
0
1
00 01 11 10
D
0 1 1
0 1 0 0
1
D = Q2·Q 1’·Q0 + Q2’·Q1 + Q2’·Q0’
CLK
CLR
S1
S0
LIN
D QD
C QC
B QB
A QA
RIN
74x194
+5V
CLOCK
RESET_L
Q0
Q1
Q2
Q3
用移位寄存器构成 序列信号发生器例:产生一个 8位的序列信号 00010111
1
0
1
1
1
0
0
0
Q2Q1Q0
0 0 0
0 0 1
0 1 0
1 0 1
0 1 1
1 1 1
1 1 0
1 0 0
D0
D = Q2·Q 1’·Q0 +
Q2’·Q1 + Q2’·Q0’
组合逻辑移位寄存器实现序列检测功能设计一个 110串行序列检测电路,
利用移位寄存器实现
CLK
CLR
S1
S0
LIN
D QD
C QC
B QB
A QA
RIN
74x194
+5V
CLOCK
RESET_L
A Z
B
Z
当电路检测到输入 A 连续出现 110 时,
输出 Z为 1
输入 连续出现 110,
且输入 B为 1 时,
输出 Z为 1。
8.6迭代与时序电路
PI
CI CO
PO
CLK
寄存器
CLOCK
PIj
POj
串行比较器( P547),串行加法器( P548)
空间与时间的折衷同步设计中的其他问题
8.7 同步系统结构和设计方法
8.8 同步设计中的障碍竞争和冒险可以不考虑 ( P548)
时钟偏移 ( P553)
选通时钟:设计合理的时钟使能端 ( P557)
异步输入:利用好的同步器协调异步输入同步系统?分解?模块结构数据单元 + 控制单元data unit control unit
寄存器、计数器、存储器 产生控制信号(状态机)
( P558图 8-94,P561图 8-96,P565)
同步系统结构命令控制控制控制数据输入数据输出输 入输 出数据单元
data unit
控制单元
control unit
(状态机)
时钟条件命 令控制控制控制数据输入数据 输出输 入输 出数据单元控制单元
(状态机)
时钟条件时钟控制单元状态数据单元输出 有效数据单元控制输入 有效数据单元条件 有效控制单元激励输入数据单元结果输入时钟偏移同一个时钟信号在不同的时刻到达不同的器件
一个时钟信号的扇出系数不足以驱动所有输入端,
有必要提供多个完全相同的时钟( P554图 8-86)
使多个时钟信号的输出负载基本平衡
注意时钟信号的通路( P555 图 8-87)
将 CLOCK信号线布置为树形结构 (图 8-88)
第 8章 作业
8.13,8.15,8.18
8.29,8.32,8,36,8,39
8,45,8,59,8,61,8,64