版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8.5
Shift
Register(移位寄存器)Serial
Input(串行输入)SERINSEROUT
Serial
Output(串行输出)Serial-In,Serial-Out(串入串出移位寄存器)Can
be
used
to
delay
aSignal
by
n
clock
ticks(可以使一个信号延迟n个时钟周期之后再输出)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)1——即n位寄存器,每次时钟触发移动一位。Serial-In,
Parallel-Out
Shift
Register(串入并出移位寄存器)Serial-In(串入)SERIN1Q2QNQParallel-Out(并出)2Can
be
used
toperformSerial-to-ParallelConversion(可以用来完成串-并转换)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)3Parallel-In,
Serial-Out(并入串出移位寄存器)多路复用结构LOAD/SHIFTSERINSEROUTDigital
Logic
Design
and
Application
(数字逻辑设计及应用)Can
be
used
toperformParallel-to-SerialConversion
(可以用来完成并-串转换)4Parallel-In,
Parallel-Out(并入并出移位寄存器)LOAD/SHIFTSERIN1Q2QNQDigital
Logic
Design
and
Application
(数字逻辑设计及应用)可实现串-串串-并并-串并-并等转换多路复用结构MSI
Shift Register(MSI移位寄存器)——4-Bit
Universal
Shift Register
(74x194)74x194S1
S0功能00保持01右移10左移11载入Left
Shift
Input:From
QD
to
QA(左移输入)Right
ShiftInput:From
QA
to
QD(右移输入)CLR_L:异步清零,RIN:右移输入,LIN:左移输入,D~A:4bit加载数MSBCLKLSBCLRS1S0LINDQDCQCBQBAQARINDigital
Logic
Design
and
Application
(数字逻辑设计及应用)600S1’
S0’S1
S010左移S1S0保持01右移11载入Figure
8-41Qi*
=
S1’·S0’·Qi
+
S1’·S0·Qi-1
+
S1·S0’·Qi+1
+S1·S0·INiDigital
Logic
Design
and
Application
(数字逻辑设计及应用)4-Bit
Universal
Shift
Register(4位通用移位寄存器74x194)QDQCQBQACLKCLRS1S0LINDCBARIN74x194QDQCQBQACLKCLRS1S0LINDCBARINCLKCLRS1S0LINRIN移位寄存器的扩展ParallelInputs(并行输入(8位))ParallelOutput(并行输出8位)78.5.3
Shift-Register
Counters(移位寄存器计数器)D0
=
F
(
Q0
,
Q1
,
…
,
Qn-1
)Feedback
Logic
(反馈逻辑)D
QCK
QD
QCK
QD
QCK
QD
QCK
QCLK8FF0FF1FF2FF3General
Structure
(一般结构):Digital
Logic
Design
and
Application
(数字逻辑设计及应用)0001100001008.5.4 Ring
Counters(环型计数器—)—非自启动的D
QCK
QD
QCK
QD
QCK
QD
QCK
QCLKFF0FF1FF2FF3000100101000
0100有效状态D3
D2
D1D0无效状态D0
=
Qn-1001098.5.4 Ring
Counters(环型计数器—)—非自启动的D
QCK
QD
QCK
QD
QCK
QD
QCK
QCLKFF0FF1FF2FF3000100101000
0100有效状态D3
D2
D1
D0无效状态D0
=
Qn-11110110110110111110010100100110110D
QClk
QD
QClk
QD
QClk
QD
QClk
QCLKFF0FF1FF2FF3如何实现自启动、自校正?D0
=
(Qn-2+
…
+
Q1
+
Q0)’Q3Q0Q2Q1单个1的循环自校正:10001000100010001000100010008.5.5
Twisted-Ring
CountersJohnso(n,扭Mo环eb计ius数C器oun)terD
QCK
QD
QCK
QD
QCK
QD
QCK
QCLKFF0FF1FF2FF3D0
=
Qn-1’00000001001101111110
111111001000Normal
State
Cycle(有效的状态循环)Self-correcting(自校正)1001120010010110110110110110100100修改成自启动的方法不影响有效循环无效循环中至少有一个状态能直接或间接进入有效循环(注意:由于修改条件的限制——仅D0可改变,不是每个状态都能进入直接有效状态)电路应最简枝尽可能短检查修改后的状态图是否只有一个圈,若只有一个圈,则
成功。否则,重复第二步,直到状态图只有一
个圈,其余都是枝为止。Digital
Logic
Design
and
Application
(数字逻辑设计及应用)13Twisted-Ring
Counters(扭环计数器)Minimal
Cost
(最小成本)1d001ddd110ddd0dQ3
Q2
Q1Q0Q3Q200
01
11
10011110D0Q1Q000有效D0=1
D0=1
D0=11000
D0=01100
D0=0
1110
D0=0
11110000
0001
0011
0111D0=0
D0=1——Self-Correcting
Design(自校正设计)1、确定有效的状态循环D0
=Q3’(无自校正能力)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Twisted-Ring
Counters(扭环计数器)Q3Q200
01
11
10011110D0Q1Q0001100110011001100——Self-Correcting
Design(自校正设计)1、确定有效的状态循环无效D0=0
D0=1
D0=11001
0010
0101
1011D0=00110D0=1D0=0
D0=0D0=10100
1010
1101Q3
Q2
Q1
Q0D0=1
D0=1
D0=10000
0001
0011
0111D0=0
D0=11000
D0=01100
D0=0
1110
D0=0
1111有效Digital
Logic
Design
and
Application
(数字逻辑设计及应用)01100100
1010
1101无效D0=1D0=0
D0=0D0=1Q3Q200
01
11
10011110D0Q1Q000Twisted-Ring
Counters(扭环计数器)1、确定有效的状态循环1100110111011100D0
=
Q2’·Q0
+
Q3’=
((Q2’·Q0)’
·
Q3)’最终的实现最好是与非-与非逻辑!——Self-Correcting
Design(自校正设计)D0=0D0=0这是一个方法Q3
Q2
Q1Q0D0=1
D0=1D0=1
D0=11001
0010
0101
1011有效2、负反馈逻辑D0=F(Q0,Q1,Q2,Q3)是改变下一状态的上佳,遂查找哪些无效状态能通过改变输入D0而进入有效循环...D0=1
D0=1
D0=10000
0001
0011
0111D0=0
D0=11000
D0=01100
D0=0
1110
D0=0
1111Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Q3Q0Q2Q1Twisted-Ring
Counters(扭环计数器)——Self-Correcting
Design(自校正设计)D0
=
Q2’·Q0
+
Q3’=
((Q2’·Q0)’
·
Q3)’D
QClk
QD
QClk
QD
QClk
QD
QClk
QCLKFF0FF1FF2FF3Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Twisted-Ring
Counters(扭环计数器)QDQCQBQACLKCLRS1S0LINDCBARIN——利用74x194来实现+5V74x194CLOCKRESET_LS1S0接成左移型Q0Q1Q2Q3Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Twisted-Ring
Counters(扭环计数器)QDQCQBQACLKCLRS1S0LINDCBARIN——利用74x194来实现+5V74x194CLOCKRESET_LS1S0接成左移型自校正改进:(方法一)D0
=
Q2’·Q0
+
Q3’=
((Q2’·Q0)’
·
Q3)’Q0Q1Q2Q3Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Twisted-Ring
Counters(扭环计数器)——利用74x194来实现自校正改进:扭环计数器的状态图Q3
Q2
Q1Q0(方法二)可利用74x194的置数功能来强制某些无效状态进入某个有效状态。比如:可强制无效状态1001的下一状态为1000即:当电路状态出现Q3Q2Q1Q0=1001
时将下一状态置为有效状态Q3Q2Q1Q0
=
1000有效D0=0D0=0
D0=0无效D0=0D0=1D0=10100
D0=0
1010
D0=0
1101
D0=1
0110D0=1
D0=1
D0=10000
0001
0011
0111D0=0
D0=11000
1100
1110
1111置数1001
0010
0101
1011D0=1
D0=0置数条件
=Q0·Q1’·Q2’·Q3问题:无效态进入有效态的支路太长;置数条件太复杂,需要两个反相器和一个4输入与门。(置数输入端ABCD应连接1000)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Twisted-Ring
Counters(扭环计数器)——利用74x194来实现自校正改进:(方法二)扭环计数器的状态图Q3
Q2
Q1Q0D0=1
D0=1
D0=10001
00110111D0=11000
D0=0
1100
D0=0
1110
D0=0
11110000D0=0有效效D0=0
D0=1D0=11011D0=0
无0100
D0=0
1010
D0=0
1101
D0=1
01101001
0010
0101D0=1能否强制的无效状态进入某个有效状态,且不破坏有效状态原有的循环呢??可利用74x194的置数功能来强制某些无效状态进入某个有效状态。Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Twisted-Ring
Counters(扭环计数器)——利用74x194来实现自校正改进:扭环计数器的状态图Q3
Q2
Q1Q0(方法二)可利用74x194的置数功能来强制某些无效状态进入某个有效状态。无效状态中0XX0有3个,而有效状态只涉及1个(0000)可以设定:当电路状态出现Q3Q2Q1Q0=0XX0
时将下一状态置为有效状态0000的下一状态,即Q3Q2Q1Q0
=
0001D0=1
D0=1
D0=10001
00110111D0=11000
D0=0
1100
D0=0
1110
D0=0
11110000D0=0有效无D0=0D0=1
D0=10010
0101
1011D0=0效0100
D0=0
1010
D0=0
1101
D0=1
01101001D0=1置数条件
=Q3’·
Q0’这样可以避免破坏有效状态的原有循环。(置数输入端ABCD应连接0001)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Twisted-Ring
Counters(扭环计数器)——利用74x194来实现QDQCQBQACLKCLRS1S0LINDCBARIN74x194CLOCKRESET_LQ0Q1Q2Q31000S1S0接成左移型+5V自校正改进:(方法二)置数条件=Q3’·
Q0’在这里相当于
S0
=
Q3’
·
Q0’Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Twisted-Ring
Counters(扭环计数器)——利用74x194来实现自校正改进:(方法二)扭环计数器的状态图Q3
Q2
Q1Q0D0=1
D0=1
D0=10001
00110111D0=10000D0=0有效无效01101010
11011000
D0=0
1100
D0=0
1110
D0=0
1111D0=0
D0=1
D0=11001
0010
0101
1011D0=1D0=0
D0=0D0=1
D0=00100可利用74x194的置数功能来强制某些无效状态进入某个有效状态。还有没有其他方案?当电路状态出现Q0Q1Q2Q3=1XX1
时将下一状态置为0111Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Twisted-Ring
Counters(扭环计数器)——利用74x194来实现自校正改进:(方法二)扭环计数器的状态图Q3
Q2
Q1
Q0D0=1
D0=1
D0=10000
0001
0011
0111D0=0
D0=11000
D0=0
1100
D0=0
1110
D0=0
1111有效效011011011010D0=0
D0=1
D0=11001
0010
0101
1011D0=0
无D0=1D0=0
D0=0D0=10100可利用74x194的置数功能来强制某些无效状态进入某个有效状态。还有没有其他方案?还有很多方案当电路状态出现Q3Q2Q1Q0=X01X
时将下一状态置为0111Digital
Logic
Design
and
Application
(数字逻辑设计及应用)8.5.6
Linear
Feedback
Shift-Register
Counter(LFSR,线性反馈移位寄存器计数器)LFSR计数器有2n-1种有效状态——最大长度序列发生器反馈逻辑D
QCK
QD
QCK
QD
QCK
QD
QCK
QCLK26FF0
FF1
FF2
FF3移位寄存器型计数器的一般结构利用反馈逻辑可以实现模2~模16的计数器Digital
Logic
Design
and
Application
(数字逻辑设计及应用)CLOCKRESET_L27反馈方程表8-26LFSR计数器有2n-1种有效状态——最大长度序列发生器全0态的下一状态??奇校验电路Digital
Logic
Design
and
Application
(数字逻辑设计及应用)8.5.6
Linear
Feedback
Shift-Register
Counter(LFSR,线性反馈移位寄存器计数器)伪随机序列发生器猜谜
机使能输入随机产生ENL1~L4ERRCLOCKG1~G4LFSR计数器典型应用:产生逻辑电路的测试输入信号用于检错及纠错码的编码和译码电路Digital
Logic
Design
and
Application
(数字逻辑设计及应用)28Serial-to-Parallel
Conversion(串/并转换)Destination
Module(目的模块)SourceModule(源模块)29控制电路控制电路并-串转换器串-并转换器(并行数据)(并行数据)(串行数据)SYNC(同步脉冲)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)30Serial-to-Parallel
Conversion(串/并转换)SYNC信号上1位宽的脉冲用来作为一个时间间隔的起始标记这个间隔被称为“帧”(frame)所有256位数据都在这个时间间隔内在SDATA上传送将SDATA分为32个时隙(timelot),每个时隙包含8位数据可以运送一个数字编码的话音信号时隙
和一个时隙内的每个数据位的位置都由它们与SYNC脉冲的相对位置来决定Digital
Logic
Design
and
Application
(数字逻辑设计及应用)31Parallel-to-SerialConversion(并串转换)CLKCLKINHHQH74x166D6D5D4D3并行数据→D7CLOCKCLOCKSDATASYNCCLKCLRLDENPENTQAQBQCQDRCO’163CLKCLRLDENPENTQAQBQCQDRCO’163位
计
D2时SH/LDCLRSER
ABCDEF
数
D1
G隙高
D0数计位数数低位RESET_L到目标+5VCLKCLRSERASERB74x164QAQBQCQDQEQFQGQHSDATACLKCLRLDENPENTQAQBQCQDRCO’163CLKCLRLDENPENTQAQBQCQDRCO’163SYNC+5VCLKEN1D
1Q2D
2Q3D
3Q4D
4Q5D
5Q6D
6Q7D
7Q8D
8Q74x377并行数据位数+5VCLOCK+5V串并转换Sequence
Pulse
Generator(顺序脉冲发生器)CLKQ0Q1Q2Q3利用移位寄存器构成——
注意自校正(环形计数器)利用计数器和译
构成——
注意“毛刺”(二进制计数器的状态译码)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)3435Serial
Signal
Generator(序列信号发生器)——用于产生一组特定的串行数字信号利用触发器利用计数器利用移位寄存器Digital
Logic
Design
and
Application
(数字逻辑设计及应用)例1:利用D触发器设计一个110100序列信号发生器序列信号发生器没有输入,因此这是一个Moore机。序列输出有6位,可视为6种状态。1、画状态图
3、写出转移/输出表2、状态编码000~101
表示
S ~S0
5S0Y=1Q2Q1Q0Q*2Q*1Q*0Y0000011001010101001100111001100101010100004、求各激励方程和输出方程——考虑未用状态的处理5、画出逻辑电路图S1Y=1S2Y=0S3Y=1S5Y=0S4Y=0例2:设计一个8位的00010111序列信号发生器74x163CLKCLRLDENPENTQAQBQCQDRCOENABCD0D1D2D3D4D5D6D7YY74x151+5V+5V序列信号输出
0
0
0
1
0
1
1
1方案一:采用D触发器来设计(略)方案二:用计数器和数据选择器来设计CLKQ1Q0Q20100
01
11
10IN01101001Q2Q1Q0
IN0
0
0
10
0
1
00
1
0
11
0
1
10
1
1
11
1
1
01
1
0
01
0
0
0需要几位的移位寄存器?IN为移位寄存器的输入Q2为序列输出序列输出有8位,可视为8种状态∴可先用3位的移位寄存器试试看填写
图输出序列例2:设计一个8位的00010111序列信号发生器方案三:采用移位寄存器来设计移位触发器没有重复的有效状态∴3位的移位寄存器够用了图化简得IN
=Q2·Q
1’·Q0
+
Q2’·Q1
+
Q2’·Q0’CLKCLRS1
S0LIND
QDC
QCB
QBA
QARIN74x194+5VCLOCKRESET_LQ0Q1Q2Q3组合逻辑IN0
0
0
10
0
1
00
1
0
11
0
1
10
1
1
11
1
1
01
1
0
01
0
0
0输出序列IN为移位寄存器的输入Q2为序列输出Q2Q1Q0
IN例2:设计一个8位的00010111序列信号发生器方案三:采用移位寄存器来设计移位触发器没有重复的有效状态∴3位的移位寄存器够用了图化简得IN
=Q2·Q
1’·Q0
+
Q2’·Q1
+
Q2’·Q0’例3:设计一个6位的001010序列信号发生器方案一:采用D触发器来设计序列信号发生器没有输入,因此这是一个Moore机。序列输出有6位,可视为6种状态。1、画状态图
3、写出转移/输出表2、状态编码000~101
表示
S ~
S0
5S0Y=0Q2Q1Q0Q*2Q*1Q*0Y0000010001010001001110111000100101110100004、求各激励方程和输出方程——考虑未用状态的处理5、画出逻辑电路图S1Y=0S2Y=1S3Y=0S5Y=0S4Y=1例3:设计一个6位的001010序列信号发生器方案二:采用计数器和多路复用器来设计74x163计数值0~5循环,74x151输入D0~D5依次连接数字序列。74x163CLKCLRLDENPENTABCDQAQBQCQDRCOENABCD6D7YY74x151+5V
0
D0
0
D1
1
D2
0
D3
1
D4
0
D5序列信号输出CLK+5VQ3Q2Q1Q0IN001010101010100010001000100010IN
=
Q3’·Q1
+Q3·Q
1’
=
Q3
⊕
Q1IN为移位寄存器的输入2Q
为序列输出需要几位的移位寄存器?此时,触发器没有重复的有效状态∴至少需4位的移位寄存器有重复状态须增加一位Q1Q0Q3
Q200d0d100dddddd1dd000
01
11
10IN序列输出有6位,可视为6种状态∴可先用3位的移位寄存器试试看采用最小成本法(Minimal
cost)来设计,假设10个未用状态永不出现,可当作任意项。011110移位例3:设计一个6位的001010序列信号发生器方案三:采用移位寄存器来设计Q3Q2Q1Q0IN001010101010100010001000100010IN
=
Q3’·Q2’·Q0’
+
Q2’·Q1’·Q0’
+
Q2·Q
1·Q
0’00001001100110111010011101110110010101101100011110Q3
Q200
01
11
10001001010001110001101000IN填写
图并化简Q1Q0方案三:采用移位寄存器来设计采用最小法(Minimal
risk)来设计,让10个未用状态在数次移位后能进入有效状态,具备自校正能力。例3:设计一个6位的001010序列信号发生器利用移位寄存器74x194来实现74x194CLKCLRS1
S0LIND
QDC
QCB
QBA
QARIN+5VCLOCKRESET_LXEN检测使能Y则输出Y为1。例4:用移位寄存器实现序列检测功能设计一个110串行序列检测电路,当电路检测到输入X连续出现110,且使能输入EN为1
时,
1
1
011接成左移型8.6
Iterative
versus
Sequential
Circuits(迭代与时序电路)PICICOPOCLKRegister(寄存器)CLOCKPIj45POj串行比较器、串行加法器Space/Time
Trade-off(空间与时间的折衷)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)8.7
Synchronous
Design
MethodologySynchronous
(S同yst步em设St计ru方ctu法re)and
DesignMethodology(同步系统结构和设计方法)同步系统➔分解➔模块结构Data
Unit
(数据单元)+
Control Unit
(控制单元)寄存器、计数器、
器
产生控制信号(状态机)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)46Synchronous
System
Structure(同步系统结构)命令控制控制控制数据输入数据输出输入输出数据单元data
unit控制单元control
unit(状态机)时钟条件Digital
Logic
Design
and
Application
(数字逻辑设计及应用)478.8 Impediments
to
Synchronous
Design(同步设计中的
)Race
and
Hazards
are
not
a
problem
insynchronous
systems(只要不在 时触发,竞争和 可以不考虑)Clock
Skew
(时钟偏移)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)8.8.1 Clock
Skew(时钟偏移)同一个时钟信号在不同的时刻到达不同的器件(Figure
8-65)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)8.8.1 Clock
Skew(时钟偏移)同一个时钟信号在不同的时刻到达不同的器件(Figure
8-65)导线长度是时钟偏移的重要原因Digital
Logic
Design
and
Application
(数字逻辑设计及应用)8.8.1 Clock
Skew(时钟偏移)一个设计不好的例子:导线长度是时钟偏移的重要原因Digital
Logic
Design
and
Application
(数字逻辑设计及应用)某的时钟走线8.8.1 Clock
Skew(时钟偏移)导线长度是时钟偏移的重要原因一个设计良好的例子:时钟线采用树形结构,以减少时钟偏移Digital
Logic
Design
and
Application
(数字逻辑设计及应用)某的时钟走线一个时钟信号的扇出系数不足以驱动所有输入端。有必要提供多个完全相同的时钟(Figure
8-66)时钟延迟不一致8.8.1 Clock
Skew(时钟偏移)Digital
Logic
Design
and
Application
(数字逻辑设计及应用)8.8.1 Clock
Skew(时钟偏移)时钟信号的负载不均衡是时钟偏移的另一重要原因交流负载可看成等效电容
负载越大,时钟延迟就越大应尽量使多个时钟信号的输出负载基本平衡Digital
Logic
Design
and
Application
(数字逻辑设计及应用)8.8 Impediments
to
Synchronous
Design(同步设计中的
)Ga
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轻钢龙骨制作工风险评估与管理考核试卷含答案
- 民族拉弦弹拨乐器制作工岗前岗后考核试卷含答案
- 凿岩工安全生产基础知识能力考核试卷含答案
- 丧葬抚恤委托书
- 2025年胃动力药项目发展计划
- 2025年陈设艺术陶瓷制品项目发展计划
- 2026年数字孪生 航空发动机运维项目建议书
- 2026年环视全景影像系统项目评估报告
- 2025年数字媒体艺术专业考试试题及答案
- 家居环境适老化评估量表、适老化改造设计方案要点
- 湖南省2025-2026学年七年级历史上学期期末复习试卷(含答案)
- 2026年中国热带农业科学院南亚热带作物研究所第一批招聘23人备考题库完美版
- 2026新疆阿合奇县公益性岗位(乡村振兴专干)招聘44人考试参考试题及答案解析
- 纺织仓库消防安全培训
- 器官移植术后排斥反应的风险分层管理
- 虚拟电厂关键技术
- 事业单位清算及财务报告编写范本
- 护坡绿化劳务合同范本
- 临床绩效的DRG与CMI双指标调控
- 中华系列期刊目录
- 马口铁空罐检验标准
评论
0/150
提交评论