逻辑设计大作业二_篮球机控制器同步时序逻辑电路

逻辑设计大作业(二)

问题:

设计一个篮球机控制器同步时序逻辑电路

一家公司要求你为篮球机设计一个控制器,若球员总共得到3分,该控制器将显示他赢得了比赛。这台机器里有两个传感器,一个在篮板上,另外一个在篮筐内侧。如果球员投篮,球击中篮板并且穿过篮筐,那么将获得1分;如果篮球没有击中篮板,球只是穿过篮筐,那么获得2分;如果球员击中篮板,而球没有穿过篮筐,那么将失去1分,总分只能降到零,不能变成负数;如果球没有穿过篮筐或击中篮板,那么它将被视为没有投篮,什么都不会发生。一旦玩家得了三分,游戏结束,一盏灯将指示玩家获胜。

可以使用Moore或Mealy电路,可以使用J-K触发器或D触发器。

分析:

Ⅰ.建立原始状态图和状态表

由题设易知,该篮球机控制器同步时序逻辑电路存在四个状态,我们采用A、B、C、D来表示。A代表玩家此时的得分为0分,B代表玩家此时的得分为1分,C代表玩家此时的得分为2分,而D则代表玩家获胜,游戏结束。

在该情境下有四种不同的输入情况,即四种状态转移条件,分别如下:

  1.  00:获得0分
  2.  01:获得1分
  3.  10:获得2分
  4.  11:失去1分

接下来,我们将会采用Moore型电路来解决这个问题。

原始状态图

原始状态表

现态

次态

输出

x1x2=00

x1x2=01

x1x2=10

x1x2=11

A

A

B

C

A

0

B

B

C

D

A

0

C

C

D

D

B

0

D

d

d

d

d

1

Ⅱ.状态化简

我们可以观察原始状态表,查找是否有冗余或可以合并的状态。但在这个案例中,每个状态都有独特的含义和转移,所以状态化简不适用。

Ⅲ.状态编码

y2

y1

0

1

0

A

D

1

B

C

根据这个状态分配方案,确定状态A的编码为00,状态B的编码为01,状态C的编码为11,状态D的编码为10。故可得如下二进制状态表:

现 态

y2 y1

次态y2(n+1)y1(n+1)

输出

x1x2=00

x1x2=01

x1x2=10

x1x2=11

00

00

01

11

00

0

01

01

11

10

00

0

11

11

10

10

01

0

10

d

d

d

d

1

Ⅳ.列出激励函数和输出函数表达式

若选用D触发器组成储存电路,根据二进制状态表和D触发器激励表,做出激励函数卡诺图和输出函数卡诺图,如下图所示:

经卡诺图化简,可写出激励函数和输出函数表达式:

Ⅴ.画逻辑电路图

总结:

在完成这个逻辑设计大作业的过程中,我深感理论知识与实际应用结合的重要性。从建立原始状态图和状态表,到状态化简、状态编码,再到激励函数和输出函数的确定,每一步都需要细致的考虑和精确的计算。

这次大作业让我更加明白了Mealy和Moore型电路的区别和应用场景。Mealy型电路的输出依赖于当前状态和输入,而Moore型电路的输出只取决于当前状态。在篮球机控制器的设计中,我们选择了Moore型电路,因为其输出与当前状态有关,符合篮球机控制器的需求。

此外,通过这次实验,我学会了如何使用D触发器来构建储存电路。D触发器具有简单、可靠、易于集成等优点,非常适合用于构建时序逻辑电路。

在实验过程中,我也遇到了一些困难。例如,在状态编码阶段,如何确保每个状态都有唯一的编码是一个挑战。此外,在确定激励函数和输出函数时,也需要仔细考虑各种可能的状态转移情况。

这次实验让我深刻体会到了逻辑设计的重要性。一个好的逻辑设计可以大大简化电路的结构和提高电路的效率。同时,我也意识到了团队合作的重要性。在实验过程中,我们需要互相协作、互相学习,共同解决问题。

总的来说,这次大作业让我收获颇丰。我不仅学到了很多理论知识,还提高了自己的实际操作能力。我相信这些经验将对我未来的学习和工作产生积极的影响。

  • 27
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值