同步时序电路的分析方法

2024-05-09 15:36

本文主要是介绍同步时序电路的分析方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

同步时序电路的分析方法

基本步骤

  • Step1:写方程式

    时钟方程 :各个触发器时钟信号的逻辑表达式,同步时序电路可省去不写

    输出方程:时序电路的输出逻辑表达式,通常为现态和输入变量的函数

    驱动方程 :各触发器输入端的逻辑表达式

  • Step2:求状态方程

    状态方程:将驱动方程代入相应触发器的特性方程所得到的方程

  • Step3:根据状态方程列状态表

    状态表:将电路输入和现态的各种取值组合,代入状态方程和输出方程进行计算,求出相应的次态和输出

    注意:如现态的起始值已给定,则从给定值开始计算。如没有给定,则可设定一个现态起始值依次进行计算

  • Step4:根据状态表画出对应的状态转换图 & 时序图

    状态转换图:指电路由现态转换到次态的示意图

    时序图:在时钟脉冲CP作用下,各触发器状态变化的波形图

  • Step5:检查电路能否 “自启动”

    能自启动:存在无效状态,但没有形成循环

    不能自启动:存在无效状态,且形成了循环

  • Step6:电路功能说明

    逻辑功能:根据状态表或状态转换图来说明电路逻辑功能

在这里插入图片描述

分析举例

【例】分析下图时序电路的逻辑功能

在这里插入图片描述

【解】这是时钟 CP 下降沿触发的同步时序电路,分析时不必考虑时钟信号;没有外部输入,只有输出,且输出仅与现态有关,属 Moore 型时序电路

  • Step1:写方程式

    1. 驱动方程 (用现态表示)

      • J 0 = K 0 = 1 J_0 = K_0 = 1 J0=K0=1

        (若把 JK 触发器的输入端都接到高电平 1 ,就相当于把这个 JK 触发器转换成 T’ 触发器,那么 C P CP CP 每来一个下降沿, Q 0 Q_0 Q0 Q 0 ‾ \overline{Q_0} Q0 都会翻转一次)

      • J 1 = Q 2 n ‾ ⋅ Q 0 n J_1 = \overline{Q_2^n}·Q_0^n J1=Q2nQ0n K 1 = Q 0 n K_1=Q_0^n K1=Q0n

      • J 2 = Q 1 n ⋅ Q 0 n J_2 = Q_1^n·Q_0^n J2=Q1nQ0n K 2 = Q 0 n K_2=Q_0^n K2=Q0n

    2. 输出方程(用现态表示)

      Y = Q 2 n ⋅ Q 0 n Y=Q_2^n·Q_0^n Y=Q2nQ0n

  • Step2:将驱动方程代入 JK 触发器的特性方程得到状态方程

    JK 触发器的特性方程 Q n + 1 = J Q n ‾ + K ‾ Q n Q^{n+1}=J\overline{Q^n}+\overline{K}Q^n Qn+1=JQn+KQn

    • Q 0 n + 1 = J 0 Q 0 n ‾ + K 0 ‾ Q 0 n = 1 ⋅ Q 0 n ‾ + 0 ⋅ Q 0 n = Q 0 n ‾ Q^{n+1}_0=J_0\overline{Q^n_0}+\overline{K_0}Q^n_0=1·\overline{Q^n_0}+0·Q^n_0=\overline{Q^n_0} Q0n+1=J0Q0n+K0Q0n=1Q0n+0Q0n=Q0n
    • Q 1 n + 1 = J 1 Q 1 n ‾ + K 1 ‾ Q 1 n = Q 2 n ‾ ⋅ Q 0 n ⋅ Q 1 n ‾ + Q 0 n ‾ ⋅ Q 1 n Q^{n+1}_1=J_1\overline{Q^n_1}+\overline{K_1}Q^n_1=\overline{Q_2^n}·Q_0^n·\overline{Q^n_1}+\overline{Q^n_0}·Q^n_1 Q1n+1=J1Q1n+K1Q1n=Q2nQ0nQ1n+Q0nQ1n
    • Q 2 n + 1 = J 2 Q 2 n ‾ + K 2 ‾ Q 2 n = Q 1 n ⋅ Q 0 n ⋅ Q 2 n ‾ + Q 0 n ‾ ⋅ Q 2 n Q^{n+1}_2=J_2\overline{Q^n_2}+\overline{K_2}Q^n_2=Q_1^n·Q_0^n·\overline{Q^n_2}+\overline{Q_0^n}·Q^n_2 Q2n+1=J2Q2n+K2Q2n=Q1nQ0nQ2n+Q0nQ2n
  • Step3:根据状态方程列状态表

    现态的起始值没有给定,可设定一个现态起始值依次进行计算

    设电路初始状态为 Q 2 Q 1 Q 0 = 000 Q_2Q_1Q_0=000 Q2Q1Q0=000

    在这里插入图片描述

  • Step4:根据状态表画出对应的状态转换图 & 时序图

    状态转换图说明

    在这里插入图片描述

    状态转换图

    在这里插入图片描述

    • 有效状态:被利用的状态(000、001、010、011、100、101),有效状态构成的循环称为“有效循环”

      在这里插入图片描述

    • 无效状态:没有被利用的状态(110、111),无效状态若构成循环称为“无效循环”

    时序图(在时钟脉冲CP作用下,各触发器状态变化的波形图)

    在这里插入图片描述

  • Step5:检查电路能否 “自启动”

    电路虽然存在无效状态,但没有形成循环,所以电路能自启动。即使电路由于某种原因进入无效状态,只要给足够的脉冲,就能返回到有效循环

  • Step6:电路功能说明

    逻辑功能:该电路能对 CP 脉冲进行六进制计数,并在端输出一个下降沿作为进位输出信号,为“同步六进制计数器”

这篇关于同步时序电路的分析方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/973785

相关文章

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

查看MySql主从同步的偏移量方式

《查看MySql主从同步的偏移量方式》:本文主要介绍查看MySql主从同步的偏移量方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 1.mysql的主从同步方案mysqlphp为了在实现读写分离,主库写,从库读mysql的同步方案主要是通过从库读取主库的binl

MySQL主从同步延迟问题的全面解决方案

《MySQL主从同步延迟问题的全面解决方案》MySQL主从同步延迟是分布式数据库系统中的常见问题,会导致从库读取到过期数据,影响业务一致性,下面我将深入分析延迟原因并提供多层次的解决方案,需要的朋友可... 目录一、同步延迟原因深度分析1.1 主从复制原理回顾1.2 延迟产生的关键环节二、实时监控与诊断方案

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

Java中将异步调用转为同步的五种实现方法

《Java中将异步调用转为同步的五种实现方法》本文介绍了将异步调用转为同步阻塞模式的五种方法:wait/notify、ReentrantLock+Condition、Future、CountDownL... 目录异步与同步的核心区别方法一:使用wait/notify + synchronized代码示例关键

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

Nacos集群数据同步方式

《Nacos集群数据同步方式》文章主要介绍了Nacos集群中服务注册信息的同步机制,涉及到负责节点和非负责节点之间的数据同步过程,以及DistroProtocol协议在同步中的应用... 目录引言负责节点(发起同步)DistroProtocolDistroSyncChangeTask获取同步数据getDis

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r