数字逻辑课件第6章计数器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
描述组合逻辑
在QuartusⅡ中进行功能仿真
CP1
0001
CP2
0010
CP3
0011
CP4
0100
CP5
0101
CP16
1111
CP15
1110
状态转移表(次态真值表) Q4(t) Q3(t) Q2(t) Q1(t) 0 0 0 0 0 0 0 0 1 0 1 0 Q4(t+1) Q3(t+1) Q2(t+1) Q1(t+1) 0 0 0 0 0 0 0 1 1 1 0 1
11 0 10 0 10 0 0 0000 110 0
10 00 11 0 111 1111 10 11
Q4 ( t 1) Q3 ( t 1) Q2 ( t 1) Q1( t 1)
用状态方程法求解——将根据状态表求出的状态方程转换成J-K触发
器特性方程
Q( t 1) J Q t KQt 形式,求出激励方程J , K。
5)激励方程
6)电路图
J4=K4=Q3Q2Q1 J3=K3=Q2Q1 J2=K2=Q1 J1=K1=1
7)分析 当采用JK触发器构造二进制同步计数器时,随位数的增加,触发器 输入端J、K的表达式结构是有规律的。即任意位二进制加1计数器,采用 JK触发器设计时,满足:
见教材P201
K i J i Qi 1 Qi 2 Q1 J1 K1 1
可用逻辑符号表示上述的逻辑电路 > CP QD QC QB QA
思考:电路的实用性? 电路的复位状态? 电路状态的预置? 如何满足迭代设计的要求?(使能输入、模溢出)
需要在主要功能之上增加一些辅助功能,对电路进行 重新设计。
二进制计数器的功能表: /CLR /LD 0 1 0 1 1 1 1 1 1 P T CP QD QC QB ↑ 0 0 0 ↑ D C B 0 QD QC Q B 0 QD QC Q B 1 1 ↑ 加1 QA RCO 说明 0 0 清零 A * 并行置数 QA * 保持 QA 0 保持 * 计数
4)根据JK触发器激励表建立激励矩阵 JK触发器激励表 Q( t ) Q J K (t 1) 0 0 0 0 1 1 1 0 1 1 1 0
Q4 Q3
Q 2 Q1
00 01 11 10
激励方程
J4 K4 Q 3 Q 2 Q1
00 0 0 0 0
01 0 0 0 0
典型同步时序电路的设计实现
(1) 基于触发器的设计
(2) 基于中规模时序器件的设计
(3)基于硬件描述语言的建模
基于触发器的典型同步时序电路设计步骤
1)根据已知的状态数画出状态图; 2)对状态进行编码; 3)画出编码后的卡诺图形式的状态表(状态矩阵); 4)写出状态方程; 5)选择触发器类型(本课程要求D或JK); 6)求出触发器的最简激励方程; 状态方程法(掌握)
0
0 0 1
0
1 1 1
1
0 0 1
1
0 1 0
0
0 0 1
1
1 1 …… 1
0
0 1 1
0
1 0 1
……
1
1
1
1
0
0
0
0
3)建立卡诺图形式的状态表(状态矩阵):
Q 2 Q1
Q4 Q3
00 01 11 10
00 000 0 10 110 10 0
01
1 1 1 1 0 0 10 0 110 1110 10 10
第六章
典型同步时序电路的设计
6.1 计数器 6.2 寄存器 6.3 移位寄存器
6.4 移位寄存器型计数器
6.5 节拍分配器
典型时序电路的状态数量是已知的,其转换比 较简单、明确,规律性强,一般不用化简,较容易 进行状态分配。
而一般时序电路的设计,主要讨论原始状态图 的建立、状态的化简、状态的分配等问题。
7)画出规范的电路图;
8)进行必要的讨论。 激励表法、卡诺图分区法、 状态图法(自学)
6.1 计数器
计数器是一种对CP脉冲进行计数的逻辑电路,它 的状态图为一个环,环中状态数 m 称为计数器的模。 S1 S2 Sm
CP脉冲的有效 沿到来时改变状 态
S3 S4
计数器的分类
按数制:二进制计数器、十进制计数器、 任意进制计数器
按功能:加法计数器、减法计数器、可逆计数器
按时序:异步计数器(串行计数)、
同步计数器(并行计数)
按码制:任意编码计数器
6.1.1 二进制同步计数器的设计与描述
例1:试用D触发器设计一个四位二进制同步加1计数器。
1)状态图: 0
CP1
1
CP2
2
CP3
3
CΒιβλιοθήκη Baidu4
4
CP5
5
CP16
15
CP15
14
2)状态编码:Q4Q3Q2Q1 0000
11 0 1 1 0
10 0 0 0 0
J4 K4
Q4 Q3
Q 2 Q1
00 01 11 10
00 01 11 10 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0
J3K3
Q4 Q3
Q 2 Q1
00 01 11 10
00 0 0 0 0
11 0 10 0 10 0 0 0000 110 0
10 00 11 0 111 1111 10 11
Q4 ( t 1) Q3 ( t 1) Q2 ( t 1) Q1( t 1)
4)求状态方程:
Q 4 ( t 1 ) Q 4Q 3Q 2Q1 Q 4 Q 2 Q 4 Q 3 Q 4 Q1 Q 3 ( t 1 ) Q 3 Q 2 Q 3 Q1 Q 3Q 2Q1 Q 2 ( t 1 ) Q 2Q1 Q 2 Q1 Q 1( t 1 ) Q 1
Di (Qi 1 Qi 2 Q1 ) Qi D1 Q1
i1
你能根据此规律,画出五位二进制加1计数器的电路图吗?
例2:试用JK触发器设计一个四位二进制同步加1计数器。 1)~ 4)同例1,得到状态方程并整理JK触发器形式
Q 4 ( t 1 ) Q 4Q 3Q 2Q1 Q 4 Q 2 Q 4 Q 3 Q 4 Q1 Q 3Q 2Q1 Q 4 Q 3Q 2Q1 Q 4 Q 3 ( t 1 ) Q 3 Q 2 Q 3 Q1 Q 3Q 2Q1 Q 2Q1 Q 3 Q 2Q1 Q 3 Q 2( t 1) Q1 Q 2 Q1 Q 2 Q 1( t 1 ) Q 1 1 Q1 0 Q1
i1
将例1中D触发器的激励方程变形,也可得出用JK触发器设计时的规律
例:已知四位二进制同步加1计数器的状态表,试用状态方程法并采用 JK触发器进行设计。
Q 2 Q1
Q4 Q3
00 01 11 10
00 000 0 10 110 10 0
01
1 1 1 1 0 0 10 0 110 1110 10 10
00 000 0 10 110 10 0
01
1 1 1 1 0 0 10 0 110 1110 10 10
11 0 10 0 10 0 0 0000 110 0
10 00 11 0 111 1111 10 11
Q4 ( t 1) Q3 ( t 1) Q2 ( t 1) Q1( t 1)
Q4 (t 1) Q4 Q3 Q2 Q1 Q4 Q3 Q2 Q1
与特性方程比较,有J4=K4=Q3Q2Q1
阻塞法
余下内容,请同学自己完成
例:已知四位二进制同步加1计数器的状态表,试用卡诺图分区法并采 用JK触发器进行设计。
Q 2 Q1
00 01 Q3原变量区 11 10
Q4 Q3
D4 (Q3 Q2 Q1 ) Q4
整理可得
D3 (Q2 Q1 ) Q3 D 2 Q 2 Q1 D1 Q1
7)画出电路图
D Q
CP
1
Q
Q1
D4 (Q3 Q2 Q1 ) Q4 D3 (Q2 Q1 ) Q3 D 2 Q 2 Q1 D1 Q1
&
=1
D
01 1 1 1 1
11 10 1 0 1 0 1 0 1 0
J2K2
J3=K3=Q2Q1
Q4 Q3
J2=K2=Q1
Q 2 Q1
00 01 11 10
00 01 11 1 1 1 1 1 1 1 1 1 1 1 1
J1K1
10 1 1 1 1
J1=K1=1
J 3 Q2 Q1
余下内容,请同学自己完成
上述逻辑电路也可以用Verilog HDL语言来描述,然后通过EDA工具的输 入、综合、适配、仿真、下载等设计步骤,在可编程器件中形成电路。
module counter (cp, dataout) ; input cp ; output [3:0] dataout ; reg [3:0] dataout ; always @ (posedge cp) dataout <= dataout + 1; endmodule
K i J i Qi 1 Qi 2 Q1 J1 K1 1
i1
你能根据此规律,画出五位二进制加1计数器的电路图吗?
以下激励表法、卡诺图分区法课件 供学生自学时参考!
例:试用JK触发器设计一个四位二进制同步加1计数器。(激励表法)
Q 2 Q1
Q4 Q3
00 01 11 10
*当计数器计为1111,且T=1时,RCO=1。
教材P207,实现该功能的逻辑图,即传统逻辑器件74LS163。
基于Verilog HDL的设计模型
module v163 (clrn, clk, enp, ent, ldn, din, qout, rco) ; input clrn, clk, ent, enp, ldn ; input [3:0] din ; output [3:0] qout ; output rco ; 描述时序操作 reg [3:0] qout ; always @ ( posedge clk ) begin if ( ~ clrn ) qout <= 0 ; else if ( ! ldn ) qout <= din ; else if ( enp && ent == 1 ) qout <= qout + 1 ; else qout <= qout ; end assign rco = ( qout==4'b1111 && ent ) ? 1 : 0 ; endmodule
Q
2
Q
Q2
=1
D
Q
3
Q
Q3
&
=1
D
Q
4
Q
Q4
8)分析
D4 (Q 3 Q 2 Q1 ) Q4 D3 (Q 2 Q1 ) Q 3 D 2 Q 2 Q1 D1 Q1
当采用D触发器构造二进制同步计数器时,随位数 的增加,触发器输入端D的表达式结构是有规律的。即 任意位二进制加1计数器,采用D触发器设计时,满足:
5)用JK触发器
Q( t 1) JQ KQ
6)比较,求出Ji和Ki
6)激励方程
J4=K4=Q3Q2Q1 J3=K3=Q2Q1 J2=K2=Q1 J1=K1=1
8)分析
7)电路图
见教材P201
当采用JK触发器构造二进制同步计数器时,随位数的增加,触发器 输入端J、K的表达式结构是有规律的。即任意位二进制加1计数器,采用 JK触发器设计时,满足:
5)采用D触发器实现,Q(t+1)=D。
6)与求出的状态方程比对,即可直接得出激励方程:
D4 Q 4 Q 3 Q 2 Q 1 Q 4 Q 2 Q 4 Q 3 Q 4 Q 1 D 3 Q 3 Q 2 Q 3 Q1 Q 3 Q 2 Q1 D 2 Q 2 Q1 Q 2 Q1 D1 Q1
00 000 0 10 110 10 0
01
1 1 1 1 0 0 10 0 110 1110 10 10
11 0 10 0 10 0 0 0000 110 0
10 00 11 0 111 1111 10 11
Q4 ( t 1) Q3 ( t 1) Q2 ( t 1) Q1( t 1)
根据J-K触发器特性方程 Q( t 1) J Q t K Qt 的特点,在现态的 反变量区求 J ,在现态的原变量区求 K 。 例如:在Q3的原变量区域(子卡诺图),可求得K3,进而求得K3。
K 3 Q 2 Q1
K 3 Q 2 Q1
在 Q3 的反变量区域(子卡诺图),可求得 J3 。