首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

logisim学习感想(持续更新)

编程知识
2024年09月25日 22:49

状态机类型

存在两种类型的状态机,分别为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只能存储,不能写入。
From:https://www.cnblogs.com/Saiwh/p/18432556
本文地址: http://www.shuzixingkong.net/article/2308
0评论
提交 加载更多评论
其他文章 IDEA如何查看每一行代码的提交记录(人员,时间)
前言 我们在使用IDEA开发时,一般需要使用git来管理我们的代码,而且大家协同开发。 有时候,我们在开发的时候,经常需要看一下当前的代码时谁开发的,除了看类上面的作者外,更精细的方式是看每一行代码的提交记录。 那么,我们该怎么查看呢? 如何查看 首先,我们需要保证我们的代码是有git来管理的。 然
IDEA如何查看每一行代码的提交记录(人员,时间) IDEA如何查看每一行代码的提交记录(人员,时间) IDEA如何查看每一行代码的提交记录(人员,时间)
bfs 与优先队列————洛谷p1126(历经两个小时总算AC了,哭晕)
机器人搬重物 题目描述 机器人移动学会(RMI)现在正尝试用机器人搬运物品。机器人的形状是一个直径 \(1.6\) 米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个 \(N\times M\) 的网格,有些格子为不可移动的障碍。机器人的中心总是在格点上,当然,机器人必须在最短的时
bfs 与优先队列————洛谷p1126(历经两个小时总算AC了,哭晕) bfs 与优先队列————洛谷p1126(历经两个小时总算AC了,哭晕)
Swift查看变量内存地址
withUnsafePointer 不说话,先放代码 withUnsafeBufferPointer(to: a) { point in let address = UnsafeRawPointer(point) let addressInt = Int(bitPattern: address) p
ZooKeeper 学习笔记
概述 ZooKeeper 是一个分布式协调服务,其设计初衷是为分布式软件提供一致性服务。ZooKeeper 提供了一个类似 Linux 文件系统的树形结构,ZooKeeper 的每个节点既可以是目录,也可以是数据,同时 ZooKeeper 提供了对每个节点的监控与通知机制。基于 ZooKeeper
数据结构 - 数组
学习数组,需掌握其ADT定义。数组为同类型元素序列,具固定长度、连续内存、类型相同、索引从0起等特性。通过ADT定义数组,实现类包含内存管理和长度字段,支持初始化、获取/设置元素、插入/删除及释放内存等操作。掌握数据结构需理解其定义并实现。
数据结构 - 数组 数据结构 - 数组
ShiftAddAug:基于乘法算子训练的最新无乘法网络方案 | CVPR'24
不包含乘法的运算符,如移位和加法,因其与硬件的兼容性而日益受到重视。然而,采用这些运算符的神经网络(NNs)通常表现出比具有相同结构的传统NNs更低的准确性。ShiftAddAug利用成本较高的乘法来增强高效但功能较弱的无乘法运算符,从而在没有任何推理开销的情况下提高性能。将一个ShiftAdd小型
ShiftAddAug:基于乘法算子训练的最新无乘法网络方案 | CVPR'24 ShiftAddAug:基于乘法算子训练的最新无乘法网络方案 | CVPR'24 ShiftAddAug:基于乘法算子训练的最新无乘法网络方案 | CVPR'24
Python实现多维傅里叶变换
继前一篇文章中的一维傅里叶变换,本文介绍了多维傅里叶变换的物理图像和基本原理,并附带了Python简单实现。并将Python的计算结果与Numpy中已经实现的二维傅里叶变换的结果进行对比。
Python实现多维傅里叶变换 Python实现多维傅里叶变换
对 LLM 工具使用进行统一
我们为 LLM 确立了一个跨模型的 统一工具调用 API。有了它,你就可以在不同的模型上使用相同的代码,在 Mistral、Cohere、NousResearch 或 Llama 等模型间自由切换,而无需或很少需要根据模型更改工具调用相关的代码。此外,我们还在 transformers 中新增了一些