数字电路与逻辑设计 课件 数电8-时序逻辑电路(2).pptx

数字电路与逻辑设计 课件 数电8-时序逻辑电路(2).pptx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

时序逻辑电路2

康槿

片上微控制系统原理与项目设计

第八讲

授课内容

触发器

寄存器

同步时序电路分析

同步时序电路设计

比特存储模块

D触发器是更好的比特存储模块。

特点:只加载时钟上升沿出现的D值,因此在同一时钟周期内,值不能传播到其他触发器。

权衡:在内部使用比D锁存器更多的门,并且需要比SR更多的外部门——但现在门数不再是问题。

特征:如果D在C=1之前和之前稳定,则SR不能为11。

问题:C=1太久会通过太多的锁存器传播新值;太短可能不会导致该位被存储。

特点:S和R只在C=1时有效。我们可以设计外部电路,因此当C=1时,SR=11永远不会发生。

问题:避免SR=11仍是一种负担。

特点:S=1将Q设置为1,R=1将Q重置为0。

问题:SR=11产生未定义的Q。.

实验:采用DFF实现护士呼叫系统2?

寄存器

存储信息

1bit:DFF

Mbits:采用多个D触发器保存一组二进制信息的电路称为寄存器,也称为数据寄存器。

moduleReg4hl(CP,D,Q);

inputCP;

input[3:0]D;

outputreg[3:0]Q;

always@(*)

if(CP)

Q=D;

endmodule

moduleReg4pe(CP,D,Q);

inputCP;

input[3:0]D;

outputreg[3:0]Q;

always@(posedgeCP)

Q=D;

endmodule

具有载入功能的寄存器

寄存器可以用来存储信息—状态

有些场景下,希望仅仅时我们让他存储时才存储。

load

应用举例1

秤有两个显示屏

当前重量

减轻重量

有助于将当前项目与上一个项目进行比较

使用寄存器存储重量

按下按钮会使当前重量存储在寄存器中

寄存器内容始终显示为“已保存的重量”,即使出现新的当前重量也是如此

Scale

Savedweight

WeightSampler

Presentweight

clk

b

Save

I

3

I

2

I

1

I

0

Q3

Q2

Q1

Q0

load

3pounds

3pounds

2pounds

a

应用实例2

有些汽车在后视镜上方设有显示屏。驾驶员可以按下按钮,在显示外部温度(T),汽车的平均里程数(A),油耗(I)和剩余里程数(M)之间进行选择。

方案1:只使用数据选择器需要32根线

方案2:使用寄存器需要11根线

C

d0

d1

d2

d3

e

i0

i0

i1

i2

i3

a0

a1

load

i1

2

×

4

8

8

8

8

8

D

d

8

x

y

s1

s0

8-bit

4

×

1

load

load

load

load

r

eg0

r

eg1

r

eg2

r

eg3

T

A

I

M1

1

移位寄存器

若干个D触发器级联构成的D触发器组称为移位寄存器。数据从S输入,每个时钟节拍接收一位保存在D触发器内。

moduleShiftRegm(CP,S,Q);

inputCP,S;

outputreg[m-1:0]Q;

always@(posedgeCP)

Q={Q[m-2:0],S};

endmodule

串行输入端Ri的值通过1个时钟后从Q3端输出,2个时钟后从Q2端输出,3个时钟后从Q1端输出,4个时钟后从Q0端输出。因此,移位寄存器实质就是延时器,常用于数字信号处理电路中。

若将D触发器的数据输入端通过2-1MUX来连接前级触发器的状态和并行输入,则构成可预置移位寄存器。

modulePLSReg4(CP,Ri,LD,D,Q);

inputCP,Ri,LD;

input[3:0]D;

outputreg[3:0]Q;

always@(posedgeCP)

Q=LD?D:{Ri,Q[3:1]}

endmodule

应用实例2(续)

方案1:只使用数据选择器需要32根线

方案2:使用寄存器需要11根线

方案3:使用移位寄存器4根线

11wires

c

d0

d1

d2

d3

e

i0

i0

s1

s0

x

y

i1

i2

i3

a0

a1

shi

f

t

i1

2

×

4

8

8

8

8

D

d

4

×

1

shr

shr_in

shr

shr_in

shr

shr_in

shr

shr_in

r

eg0

r

eg1

r

eg2

r

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档