资讯详情

logisim基本组件介绍

文章目录

  • Logisim介绍基本组件
    • 前言
    • 功能菜单
      • 自动生成电路
      • 毛刺现象
      • 震荡现象
    • logisim自带组件介绍
      • 介绍基本设备
      • 复用器库的主要部件
      • 运算器库常用组件介绍
      • 存储库
      • 输入输出库
    • 一些概念问题
      • 高低电频的有效概念

Logisim介绍基本组件

前言

简介:本文只是对的logisim介绍了自己的组件,没有设计逻辑部件和及时逻辑部件的基本组合

教程推荐:华中科技大学logisim教程

  1. alt 数字键可以方便的改变引脚位宽
  2. 可以改变视图显示的大小,选择消除点阵(用于截图)
  3. 三态和未定义处理是指是否添加高阻和高阻是上拉还是下拉
  4. 选择元件,然后使用快捷键ctrl D可以快速创建元件副本
  5. 直接选中门再按下数字键可以快速更改门的数量
  6. 所有元件都可以一起修改数据位宽
  7. 可在线路中添加探针进行实时观察
  8. 在其他电路中调用已完成的电路,直接将电路从左侧拖入主界面,自动生成包装内部结构的元件

线路状态图

功能菜单

自动生成电路

左上角->项目->分析电路

  • 根据真值表或逻辑表达式,自动方便,避免手绘
  • 生成电路相对美观
  • 只支持组合逻辑
  • 输入引脚限制在8个以内,输出引脚限制在12个以内,只支持1个引脚

例如:利用分析电路实现全加器

全加器简介:使用两个一位二进制数进行相加求和,考虑低位进位和高位进位的逻辑电路 输入:3,参与二进制数运算A、B,低位进位C_1 输出:2,和S,进位C_0

实例2:卡诺图实现的七段数字管

虽然你可以用手绘卡诺图进行分析,但它不仅需要很长时间,而且还会伤害你的眼睛。现在采用自动生成电路设计,快速方便(约5-6分钟)

毛刺现象

Plus:logisim在模拟环境中,所有组件的延迟都是一样的

  • 当打开信号模拟时,可以添加计数器来观察毛刺现象
  • 关闭默认启用的信号模拟
  • 打开单步传输,ctrl I在线路上观察信号的具体传输过程

解决效果

  1. 在最短路径通路上添加缓冲器(起到一级延迟的作用)
  2. 直接将非门集成到口 如何集成?

震荡现象

死循环:单位时间内信号传输logisim的阈值 plus:震荡时,logisim自动关闭信号模拟转换为单步传输(为了保护模拟,防止其陷入死循环),电路可以正常工作,但存在明显的冲击

logisim自带组件介绍

介绍基本设备

  • 分线器:分离多个宽线中的某些位置,反之亦然(合并) Attention!分线器不是逻辑功能部件,因此没有时间延迟和方向特性

  • 引脚:输入输出

  • 探针:动态监测线路值(不同格式值可通过设置属性显示) 不贴图比较简单

  • 隧道:远程线路连接类似PCB板过孔 解决了组件之间的远距离连接和堵塞组件之间的连接问题

    不,不,各种线路连接太复杂

    不能滥用:如果滥用,各部件之间的关系不够清楚

  • 上下拉电阻Pull Resistor:处理线路中的悬浮和不确定值(感觉鸡肋?)(之前试过,比较容易出来。bug,但还是挺有用的)

  • 时钟、常量、接地、电源

时钟:logisim提供时钟源,可直接使用鼠标修改值或快捷键ctrl t修改,也可以使用ctrl k按照你的设定频率不断翻转时钟源 常量:可以在设置面板中选择常量的位宽和值(非常有用,因为它可以替代一个输入) 电源、接地:两个特殊常量1 0

(验证)

将能端置于高阻态x,输出为Error 使能端置为True,正常输出 使能端置为False,输出为高阻态x

复用器库的主要部件

  1. 多路选择器(数据选择器)Multiplexer)
  2. 解复用器(Demultiplexer)
  3. 解码器(译码器Decoder)
  4. 优先编码器(Priority Encoder)
  5. 位选择器(Bit Selector)
  • 多路选择器:使能端为1或无使能端正常工作,使能端为0输出为高阻态x
  • 解复器:与多路选择器相反,根据选择端决定输出一个输入到该接口
  • 解码器\低电平):一般来说,它是最小的生成器
  • 优先编码器(高\低电平编码成二进制输出 与解码器正好相反,以8输入优先编码器为例,优先7->0.逐步递减,输出为优先级最高的请求号,使能量输出为1,仅当无请求且能量端为1时,使能量输入端的功能与以前的组件相似 (plus:使能输出可以连接两个优先编码器级别,前一个使能输出为1,可以作为下一个优先编码器的使能端,继续判断)

运算器库常用组件介绍

  • 加法器:加法器具有符号数,类似于全加法器

  • 减法器:符号数与加法器相似(b in为1借位,b out为借)

  • 乘法器:无符号数乘法器,因为乘数和被乘数相乘得到的结果是2n因此,它们分别存储在乘积低位和乘积高位

  • 除法器:无符号,类似于乘法器

  • 补码器:功能如其名,但有特例。比如-128的补码应该是128,但是位二进制不能代表128(补码是原码)(太简单就不贴图了)

    功能特殊,输入一个数字,输出相反数字的补码

  • 比较器:比较尺寸分为无符号和有符号

  • 移位运算器:分为逻辑右移、算数右移(补充符号位)、逻辑左移、循环右移/左移

存储库

总览

[外链图片存储失败,源站可能有防盗链机制,建议保存图片直接上传(img-5LQlqriC-1634449833464)(D:\pictures_plus\存储基本组件.png)]

  • <>RS存器:最基础的锁存器,直接上图(缺点是输入R=S是无法确定输出状态),Set、Reset

  • D锁存器:D锁存器是RS锁存器的修改版,包括时间输入端CLK和数据输入端D,还有通用的使能端(当输入为0时,忽略时钟输入)、异步重置0\1端,重置输出Q为1

    有关异步重置和同步重置的区别

    异步重置:无条件重置(电频敏感信号)

    同步重置:只有当CLK处在时钟沿时,才触发重置

  • 触发器:以D触发器为例,由两个RS锁存器构成,一个主锁存器,一个右锁存器

    D锁存器和D触发器的区别在于,只要CLK=1,D锁存器就会不断根据输入D更新输出Q的状态,而D触发器只有在时钟沿时才会更新输出状态

  • 寄存器:由多个D触发器并行构成的组件,共用一个时钟元件CLK

    内部原理

    logisim封装

  • 计数器(Counter):组成实验里用于对cpu时钟周期进行计数,甚至可以在cache实验里做淘汰算法的访问次数计数

    四个输入:加载、数据、计数、时钟

    1. 数据=加载=0,计数=1,正常计数
    2. 加载=计数=1,反向计数
    3. 数据!=0,计数=0,加载=1,将数据加载到输出,此时再将计数修改为1,即开始倒计时(类似)

  • 移位寄存器

    功能:存储代码+移位+串行-并行转化+数值运算

    实现方式:多个D触发器并行连接即可,共用一个时钟,并且前一个数据输出作为下一个的数据输入

    原理:移位从CLK上升沿到输出端新状态的建立需要一段时间,但是由于所有D触发器的时钟为并行连接,所以从 Q n Q_n Qn​到 D n + 1 D_{n+1} Dn+1​,输出端的输出还未改变,但是已经处于上升沿,所以前一个D触发器的输出就顺理成章的成为了下一个D触发器的输出,于是乎数据整体右移(要实现数据整体左移也简单的很,将 Q n + 1 Q_{n+1} Qn+1​与 D n D_n Dn​反向连接即可)

    原理实现(以右移寄存器为例)

    shift控制信号为1时,每出现一个时钟沿,数据右移一位,并将输出的数据传入

    load为1,shift为0是,每出现一个时钟沿,将预先定义好的数据并发的载入端口中

  • ROM(Read Only Memory):只读存储器

    操作还是很通俗易懂的,就是输入地址然后根据地址输出对应数据,注意最好不要直接在元器件里面修改值,容易出bug,还有选择不同的位数,生成的存储器外观上也不太一样

  • RAM(Random Access Memory):可写随机存储器

    四种模式

    双向输入输出引脚同步模式:需要时钟信号

    双向输入输出引脚异步模式:可以直接在电频信号的作用下输入输出

    输入输出分离同步模式:左侧输入,右侧输出,在logisim中使用较多D

    :注意读写数据地址共用(clr是异步重置内存),当写使能为0是,根据地址从RAM中读取数据,为1时,三台缓冲器使能,id置0,向地址中写入数据

    对比之下,就可以看出分离模式的结构有多简单了

输入输出库

输入输出库常用组件

  • 键盘、哑终端:非常有意思的读写组件

    可以使得电路直接接受计算机输入的值,输入后,ASCII将存储在键盘组件的缓冲区中,当读使能置为1是,每出现一个时钟沿,缓冲区最左侧(最先键入的ascii字符)就会被读取到输出端输出

    plus:可以接受ascii字符,但是无法输入中文

  • 七段数码管:之前有实例涉及到过,比较熟悉(注意一下内部引脚的连接)

  • 十六进制数码管:更加常用

  • LED矩阵:分为行模式、列模式、行列模式(可以用于复杂图形显示、显示一个汉字的值等)

一些概念问题

高低电频有效的概念

高\低电频有效表示给电路施加某电频是,电路功能被触发

For Example:输入低电平有效,表示你输入信号为低电平是,电路触发,为高电平时则不触发

输出时也是同理,假设某数据选择器输出无符号数为10011,如果此时是输出高电平有效,该输出值就是19,如果是低电平有效,该输出值就是12

  • 因为低电平时电路的阻抗低,噪声造成的电平变化小,也就是说,。换句话说:低电平有效时干扰把它变成高电平,比高电平有效时干扰把它变成低电平要困难。就是因为低电平阻抗低,所以说低电平有效抗干扰能力强。 在数字系统中,比较容易出现在低电平上叠加一个噪声正脉冲。如果采用高电平有效的方式,就可能在无效的低电平上,出现高电平噪声,从而使某个信号在不应当有效的时候,出现有效的高电平。所以在数字系统中,大多数信号的有效电平为低电平。
  • 该段解释引用自CSDN博主「Aslier」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/a419116194/article/details/103238872

标签: 控制器连接器组件

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台