状态机类型

存在两种类型的状态机,分别为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. ArchLinux Vmware安装指北

    ArchLinux Vmware安装指北 在本文开始之前,首先允许我提前声明一点,Arch Linux的安装并不算难,但是绝对也算不上简单,中间的安装可能会遇到很多问题,本篇文章不能保证完全贴合你的真 ...

  2. 记录一下实习的第一次线下面试的答辩经历,关于seata|sentinel,gateway与栈

    面的一家小公司,他们准备做单体架构升级到微服务,所以问了我一些微服务相关的东西.回答的依托答辩,今天回想起来记录一下我造出来的笑话,正常的就不写在这里了. 首先我简历上大部分写的是熟悉,只有微服务写的 ...

  3. LLM并行训练7-混合并行总结

    概述 根据前面的系列文章, 对预训练大模型里用到的主要并行加速技术做了一系列拆分分析. 但是在实际的训练里往往是多种并行混合训练. 我们要怎么配置这些并行策略才能让训练框架尽可能的减少通信瓶颈, 提升 ...

  4. Java解压rar5兼容rar4

    RAR文件格式由WinRAR开发,广泛用于文件压缩和归档.随着技术的发展,RAR5作为更新的版本,引入了多项改进以提高压缩效率和数据安全性. 压缩效率:RAR5通过增大字典大小至32MB,相较于RAR ...

  5. 【Vue2】Vue-Cli使用

    1.需要NodeJS环境支持,此处省略NodeJS安装 2.使用NPM命令安装CLI包 vue-cli是npm.上的一个全局包,使用npm install 命令,即可方便的把它安装到自己的电脑上: n ...

  6. RTX显卡 运行TensorFlow=1.14.0 代码 报错 Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

    硬件环境: RTX2070super 显卡 软件环境: Ubuntu18.04.5 Tensorflow = 1.14.0 -------------------------------------- ...

  7. 【运维技巧】海豚调度工作流实例卡在正在停止&任务实例卡在正在运行怎么办?

    在大数据调度系统中,,大家可能会碰到任务实例状态更新不及时的情况. 对于Apache DolphinScheduler用户来说,这可能意味着前端显示的任务状态与实际情况不一致,即使任务已经在后台停止运 ...

  8. sqlserver 索引优化 CPU占用过高 执行分析 服务器检查[转]

    SELECT TOP 10 [Total Cost] = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans) ...

  9. quartz集成spring集群部署

    由于quartz单节点无法满足业务的需求,后面我们在单节点的基础上进行了集群部署. 由以前的定时任务信息放在jobs.xml配置文件中,转而放到数据库中. 1.新建数据库表 CREATE TABLE ...

  10. 到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】

    前言 有粉丝问我到底什么是ARM,搞不清楚Cortex.arm内核.arm架构.ARM指令集.soc这些概念都是什么关系,下面一口君给大家整理一下关于ARM相关的一些概念. 1.ARM既可以认为是一个 ...