当前位置: 首页 > news >正文

<<迷雾>> 第10章 用机器做一连串的加法(6)--循环移位寄存器改进的控制器 示例电路

使用循环移位寄存器来简化装载和相加过程.

info::操作说明

鼠标单击开关切换开合状态

  1. 开始之前, 应当设置循环移位寄存器 RR 的初始状态, t0=1, t1=0.(如果不是该状态, 可单击一次开关 K 即可)

  2. 在 GA 传输门左边的开关置入一个数, 比如 10.

  3. 闭合 K装载, 断开 K相加, 此时 IGA=IRA`=1, 传输门 GA 打开.

  4. 按下开关 K 不放, 此时对于 RR 循环移位寄存器是一个下降沿信号, RR 输出不变. 而 RA 寄存器的控制信号 V 则是一个上升沿, 数据被 RA 寄存器锁存.

  5. 松开开关 K, RR 循环移位寄存器收到一个上升沿信号, 于是循环移动一次, t0=0, t1=1, IGA=ITR=IRA=IGA=0, 自动进入下一个步骤

  6. 再按一次开关 K, 电路回到最开始的状态, 如果先前装载的数据有误, 此刻可以再来一次装载.

  7. 准备做加法. 在 GA 传输门左边的开关置入一个数, 比如 5, 然后断开 K装载, 闭合 K相加, 此时 IGA=ITR`=1, 传输门 GA 打开.

  8. 加法器计算出 10+5 的值 15, 此时按一下开关 K, 当按下时, 上升沿信号使寄存器 TR 锁存加法器的和; 松开后, RR 再循环移位一次, t0=0, t1=1, IGB=IRA`=1.

  9. 此时传输门 GB 打开, 数据反馈至寄存器 RA 的输入端. 此时再按一次开关 K. 当按下时, 上升沿信号使寄存器 RA 锁存加法器的和; 松开后, RR 再循环移位一次, IGA=IRA`=1, t0=1, t1=0, 传输门 GA 打开.

  10. 此时系统再度回到相加的初始状态, 读者可置入新的要加的数, 并重复上述操作, 也即 “置入新数–按两次开关 K–置入新数–按两次开关 K–…”, 全部加完后, 结果位于寄存器 RA 中.

K 为按钮开关, 不断单击可使 Q0-Q1 不断循环移位变化

“我们的新电路” 模块采用 “自定义逻辑” 实现

更具体的操作流程见书中相应章节的描述

请添加图片描述

primary::在线交互操作链接

https://cc.xiaogd.net/?startCircuitLink=https://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyjsjdmw-ch10-10-using-shift-register-to-simpilify-load-and-add-process.txt

原图

请添加图片描述


http://www.mrgr.cn/news/47623.html

相关文章:

  • vue,router路由传值问题,引用官方推荐
  • 信息系统管理师试题-流程管理
  • c++入门之 命名空间与输入输出
  • C语言教程——指针进阶(2)
  • 鸿蒙UI开发——带农历的日期滑动选择弹窗
  • 【Cocos TypeScript 零基础 6.1】
  • Java 集合 Collection常考面试题
  • Flink和elasticsearch的关系
  • Traefik + Docker
  • IT运维如果转行能干什么?
  • 建筑工程系列中级职称申报有什么要求?
  • [Leetcode] 560 Subarray Sum Equals K
  • DVWA | DVWA 靶场初识
  • Python 列表专题:访问元素
  • 【C++堆(优先队列)】1834. 单线程 CPU|1797
  • Java主流框架项目实战——SpringBoot入门
  • Golang | Leetcode Golang题解之第470题用Rand7()实现Rand10()
  • 代码随想录算法训练营| 39. 组合总和 、 40.组合总和II 、 131.分割回文串
  • C++ | Leetcode C++题解之第470题用Rand7()实现Rand10()
  • MySQL 读写分离
  • YOLO11模型训练 | 目标检测与跟踪 | 实例分割 | 关键点姿态估计
  • DVWA —— 靶场笔记合集
  • MicroFlow:一种高效的基于Rust的TinyML推理引擎
  • 机器学习与神经网络的发展前景
  • Java重修笔记 第六十五天 IO 流 - 打印流、PrintStream 和 PrintWriter、properties 类
  • 代码随想录day30:动态规划part3