热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

异步时序逻辑电路设计方法(统一使用上升沿触发的触发器)

    在异步时序逻辑电路设计部分停留了好些时候,思维一度陷入混乱,但最终还是坚持了下来,并找到了一种设计异步时序逻辑电路的方法.这里肯定会有很多朋友问道,既然已经掌握了同步时序逻

       在异步时序逻辑电路设计部分停留了好些时候, 思维一度陷入混乱, 但最终还是坚持了下来, 并找到了一种设计异步时序逻辑电路的方法. 这里肯定会有很多朋友问道, 既然已经掌握了同步时序逻辑电路的设计方法, 且同步时序逻辑电路比异步时序逻辑电路少了一段级联变化的时间, 那么为什么不用同步时序逻辑电路来设计呢? 由于我报考的院校在初试中考察异步时序逻辑电路的设计知识, 所以我只能花大段时间彻底弄懂异步时序逻辑电路的设计了. 好了闲话不多说, 下面我将为大家详细讲解异步十进制加法计数器的设计方法.

       第一步, 和同步时序逻辑电路的设计套路一样, 列十进制加法计数器的状态表:

《异步时序逻辑电路设计方法(统一使用上升沿触发的触发器)》

        第二步, 将状态表转换为时序图, 并从中找Q3、Q2、Q1和Q0的变化规律:

《异步时序逻辑电路设计方法(统一使用上升沿触发的触发器)》

从时序图中可以看出, 只要系统时钟迎来上升沿时刻, Q0的状态就发生变化; Q1变化在Q0的下降沿处, Q2变化在Q0的下降沿处, Q3也变化在Q0的下降沿处——确定时钟关系 CP0=CP, CP1=CP2=CP3=Q0n’.

        第三步, 根据得到的时钟方程, 修改状态表:

当系统上升沿到来时, CP0既有效, 所以CP0=1; 由 CP1=CP2=CP3=Q0n’, 当Q0由1->0(下降沿)时, CP1、CP2和CP3才有效. 对于无效时钟的次态, 用×来代替之前的数值. 

《异步时序逻辑电路设计方法(统一使用上升沿触发的触发器)》

        第四步, 根据修改后的状态表, 绘制状态激励表:

根据D触发器的特性方程Q^(n+1)=D, 将修改后的状态表变换为下面的状态激励表(只需将Q3^(n+1)、Q2^(n+1)、Q1^(n+1)和Q0^(n+1)改为D3、D2、D1和D0即可).

《异步时序逻辑电路设计方法(统一使用上升沿触发的触发器)》

        第五步, 根据绘制的状态激励表, 求输出方程和状态激励方程:

用卡诺图化简的方式, 求得 D0=Q0n’, D1=Q3n’·Q1n’, D2=Q2n异或Q1n, D3=Q2n·Q1n, Y=Q3n·Q1n.

        第六步, 求次态方程:

Q3^(n+1)=D3=Q2n·Q1n, Q0下降沿时刻有效;

Q2^(n+1)=D2=Q2n异或Q1n, Q0下降沿时刻有效;

Q1^(n+1)=D1=Q3n’·Q1n’, Q0下降沿时刻有效; 

Q0^(n+1)=D0=Q0n’, 系统时钟CP上升沿时刻有效.

        第七步, 根据次态方程, 求无效状态的次态:

将无效状态1010、1011、1100、1101、1110和1111代入求出的次态方程中, 得: 

《异步时序逻辑电路设计方法(统一使用上升沿触发的触发器)》

        第八步, 检查电路的自启动功能:

根据求出的无效状态的次态, 可以得到 1010->1011->0100, 1100->1101->0100, 1111->1000, ∴电路具备自启动功能.

        第九步, 绘制电路的逻辑图:

和同步时序逻辑电路一样, 将四个触发器水平依次排开: 低位在左, 高位在右. 根据D3、D2、D1和D0的表达式来接线(D3对应#3触发器, D2对应2#触发器, D1对应1#触发器, D0对应0#触发器). 和同步时序逻辑电路不同的是, 要根据每个触发器的时钟方程来接时钟信号线: CP0=CP->0#触发器的CLK引脚接到系统信号线; CP1=Q0n’->1#触发器的CLK引脚接到0#触发器的Q’端; CP2=Q0n’->2#触发器的CLK引脚接到0#触发器的Q’端; CP3=Q0n’->3#触发器的CLK引脚接到0#触发器的Q’端.

《异步时序逻辑电路设计方法(统一使用上升沿触发的触发器)》

         肯定有朋友会提问道, 看时序图确定每个触发器的时钟方程, 多个人眼中的规律可能是不同的, 那么有标准答案吗: 对于这个问题, 我用异步十进制加法计数器(也就是该电路)做了实验. 在这份设计中, 我做出”Q0变化在系统时钟CP的上升沿时刻, Q1变化在Q0的下降沿时刻, Q2变化在Q0的下降沿时刻, Q3变化在Q0的下降沿时刻”的判断: 在课本中, 作者做出的是”Q0变化在系统时钟CP的上升沿时刻, Q1变化在Q0的下降沿时刻, Q2变化在Q1的下降沿时刻, Q3变化在Q0的下降沿时刻”的判断, 相应得到的时钟方程为 CP0=CP. CP1=CP3=Q0n’, CP2=Q1n’, 显然CP2和这份设计中的结论不同. 我用multisim7验证了这两种判断, 发现它们都是正确的. 所以, 我们可以说, 对同一异步时序逻辑电路的设计, 时钟方程无标准答案.

        也会有朋友问到, 为什么我用的是JK触发器而给出的激励方程用的是D, 这是因为我将JK触发器改造成了D触发器(J=D, K’=D). 具体的分析步骤为 Q^(n+1)=D=D(Qn+Qn’)=D·Qn+D·Qn’=J·Qn’+K’·Qn, 所以J=D, K’=D, 即J=K’=D. mutisim7中提供74107N和74109N, 二者都为JK触发器, 区别大致有两点: ①74107N为下降沿触发的触发器, 74109N为上升沿触发的触发器, ②74107N的两个激励信号为J和K, 74109N的两个激励信号为J和K'(可能是因为multisim7中未提供上升沿触发的D触发器, 只提供了下降沿触发的7474N, 而74109N的存在正是为了弥补这一缺憾).

        最后, 要注意到这里统一使用上升沿触发的JK触发器, 课本上也是这样设计的, 该设计方法也只适用于上升沿触发的触发器(在后续的博客中, 我会讲解如何将统一使用上升沿触发的触发器的异步时序逻辑电路改造成统一使用下降沿触发的触发器的异步时序逻辑电路).


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • qt学习(六)数据库注册用户的实现方法
    本文介绍了在qt学习中实现数据库注册用户的方法,包括登录按钮按下后出现注册页面、账号可用性判断、密码格式判断、邮箱格式判断等步骤。具体实现过程包括UI设计、数据库的创建和各个模块调用数据内容。 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 无线认证设置故障排除方法及注意事项
    本文介绍了解决无线认证设置故障的方法和注意事项,包括检查无线路由器工作状态、关闭手机休眠状态下的网络设置、重启路由器、更改认证类型、恢复出厂设置和手机网络设置等。通过这些方法,可以解决无线认证设置可能出现的问题,确保无线网络正常连接和上网。同时,还提供了一些注意事项,以便用户在进行无线认证设置时能够正确操作。 ... [详细]
  • 本文介绍了游戏开发中的人工智能技术,包括定性行为和非定性行为的分类。定性行为是指特定且可预测的行为,而非定性行为则具有一定程度的不确定性。其中,追逐算法是定性行为的具体实例。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文详细介绍了相机防抖的设置方法和使用技巧,包括索尼防抖设置、VR和Stabilizer档位的选择、机身菜单设置等。同时解释了相机防抖的原理,包括电子防抖和光学防抖的区别,以及它们对画质细节的影响。此外,还提到了一些运动相机的防抖方法,如大疆的Osmo Action的Rock Steady技术。通过本文,你将更好地理解相机防抖的重要性和使用技巧,提高拍摄体验。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 无损压缩算法专题——LZSS算法实现
    本文介绍了基于无损压缩算法专题的LZSS算法实现。通过Python和C两种语言的代码实现了对任意文件的压缩和解压功能。详细介绍了LZSS算法的原理和实现过程,以及代码中的注释。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
author-avatar
77阿建
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有