状态机类型

存在两种类型的状态机,分别为mealy型状态机和moore型状态机,在实验中,二者的大体实现如下:

其中从输入到输出的连线只有mealy状态机才有,而moore型则无此线。

区分两种类型的状态机的方法

  • mealy的输出由输入和当前状态决定;moore的输出只由当前状态决定

    具体体现在时序中时,我们知道在一个时钟周期内状态机的输出状态不会改变,因此moore的最终输出也不会改变;但当周期内的输入变化时,mealy的输出却可以改变。因此,当题目要求输出保持一个周期时,选择moore无疑。

  • mealy的输出是比moore更快的。举一个例子:状态机由state3->state4时,如果我们希望state4输出高电平,那么moore会在寄存器的输出端输出为state4时变为高电平,但mealy只需要在当前状态为3(无论时钟)且输入为使state3转变为state4时即可变为高电平。

时序逻辑的辨析

如图,是两种寄存器的初始化方式。观察可以发现,他们都是采用counter(max_value = 0x1,stay at value),从而在第一次时钟上升沿前完成舒适化,但不同的是二者的mux摆放位置,这带来的影响是:

  • 当初始化mux放在寄存器前面时,实现了第一时钟上升沿寄存器的输出为初始化的值。
  • 当初始化mux放在寄存器后面时,实现了第一次时钟上升沿寄存器的输出便为初始化状态更新后的新状态。

因此mux置放于register后总会比放于register前输出块一个周期,二者的选择取决于具体题目,例如:当我们将状态采用独热码编号时,我们的初始状态可能为state0 = 00001,而我们又希望从第一次时钟上升沿开始就从state0进行转移,就应该采用mux放于register后的方法。

同步复位与异步复位

上面为同步复位,下面为异步复位。

不常用的元器件简介

  • pull resistor(拉电阻),长得像弹簧一样的玩应

作用:和输入端相连,使浮空值变为高电平或低电平或error

  • transistor(晶体管) 用于模拟开关,使用方式和controlled buffer有点像。
  • decoder(解码器) 相当于一个没有输入的dmx(多位分配器),只是输出的为1。
  • bit selector(比特选择器)将选择的比特位上的数值输出(比特位0下标)。
  • bit adder 输出一个数字共有多少位是1。
  • bit finder 找到0和1在最高位或者最低位出现的位置并输出。
  • ram和rom 都是存储器,不同的是rom只能存储,不能写入。

logisim学习感想(持续更新)的更多相关文章

  1. 【pwn】学pwn日记——栈学习(持续更新)

    [pwn]学pwn日记--栈学习(持续更新) 前言 从8.2开始系统性学习pwn,在此之前,学习了部分汇编指令以及32位c语言程序的堆栈图及函数调用. 学习视频链接:XMCVE 2020 CTF Pw ...

  2. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  3. [读书]10g/11g编程艺术深入体现结构学习笔记(持续更新...)

    持续更新...) 第8章 1.在过程性循环中提交更新容易产生ora-01555:snapshot too old错误.P257 (这种情况我觉得应该是在高并发的情况下才会产生) 假设的一个场景是系统一 ...

  4. Java同步学习(持续更新)

    在需要考虑线程安全性的场合,可以考虑以下五种方式来实现线程的安全性: 1.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,   ...

  5. Linux学习历程(持续更新整理中)

    1.文件目录操作命令 (1) ls   显示文件和目录列表 a ls -l  显示文件的详细信息 b ls -a 列出当前目录的所有文件,包含隐藏文件. c stat '目录/文件'   显示指定目录 ...

  6. 数据分析之Pandas和Numpy学习笔记(持续更新)<1>

    pandas and numpy notebook        最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...

  7. Python基础学习总结(持续更新)

    https://www.cnblogs.com/jin-xin/articles/7459977.html 嗯,学完一天,白天上班,眼睛要瞎了= = DAY1 1,计算机基础. CPU:相当于人的大脑 ...

  8. Cadence物理库 LEF 文件语法学习【持续更新】

    我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索. 关注公众号,拉你进"IC设计交流群". @ 目录 一.LEF简介 1.1 通用规则 1.2 管理 LEF 文件 二. ...

  9. [Hadoop] Hadoop学习历程 [持续更新中…]

    1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...

  10. Semantic ui 学习笔记 持续更新

    这个semantic 更新版本好快~ 首先是代码的标识<code></code> 具体样式就是红框这样的 圈起来代码感觉不错 不过要在semantic.css里在加上如下样式~ ...

随机推荐

  1. AT_abc218_d 题解

    洛谷链接&Atcoder 本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读. 题目简述 给定一个平面内的 \(N\) 个点的坐标,求这 \(N\) 个点中选 \(4\) 个点可构成 ...

  2. Vue3中如何使用this

    vue3提供了getCurrentInstance ,通过这个属性,直接使用ctx是错误的,需要找到全局属性globalProperties import { getCurrentInstance } ...

  3. python none类型

    一.python中的数据类型:数值类型.序列类型.散列类型. 1.数值类型:整数型(int).浮点数(float).布尔值(bool) 2.序列类型(有序的):序列类型数据的内部元素是有顺序的,可以通 ...

  4. 第一讲:日志系统:一条sql更新语句是如何执行的?

    目录 第一讲:日志系统:一条sql更新语句是如何执行的? 回顾 抛出问题: 提出思路: 重要的日志模块:redo log 重要的日志模块:binlog 为什么会有两份日志呢? 这两种日志有以下三点不同 ...

  5. 【Scala】01 基础了解

    Features 特性 1.基于JVM,完全兼容Java 2.同样具有跨平台,可移植,垃圾回收 3.比Java更加的面向对象[完全面向对象] 4.函数式编程 5.面向大数据处理,对集合容器框架有一定的 ...

  6. 【Layui】11 滑块 Slider

    文档地址: https://www.layui.com/demo/slider.html 基本滑块: <fieldset class="layui-elem-field layui-f ...

  7. 如何构建“集成神经网络”“Ensemble neural network”

    参考: https://arxiv.org/pdf/1603.05691.pdf 本文要讨论的是如何构建"集成神经网络"("Ensemble neural network ...

  8. tmux使用教程:终端神器tmux:多任务管理大师

    文字版教程: 阮一峰 Tmux 使用教程 视频教程: 终端神器tmux:多任务管理大师

  9. Google的TPU的逐元素操作特性 —— TPU数据操作时最基本的操作原语(primitive)

    地址: https://jax.readthedocs.io/en/latest/pallas/tpu.html TPU是原来进行矩阵计算加速的一个科学计算的设备,功能大致等同于NVIDIA的GPU的 ...

  10. 程序员学习网站推荐:路线向导(roadmap.sh)

    网站地址: https://roadmap.sh/ 在外网的技术论坛上看到这个网站,上面给出多种编程语言的学习路线,也就是给出不同编程语言的从易到难的组成内容(语言特性),通过这个网站可以辅助学习编程 ...