计组实验1(logisim)

本文指导如何使用Logisim设计一个swap电路,通过门电路实现当S=0时数据不变,S=1时I1和I2互换。涉及逻辑分析、与门、或门和非门的选择与配合,展示了交换电路的原理和实现步骤。

用Logisim完成swap电路并提交

现在需要你使用基础的门电路搭建这样一个电路,当输入S=0时,输出的O1等于输入的I1,输出的O2等于输入的I2。当输入S=1时,则交换两输出,即输出的O2等于输入的I1,输出的O1等于输入的I2。我们给它取名叫做swap电路。

使用Logisim搭建一个swap并在下方提交。

  • 文件内模块名:     swap

  • 输入: I1(1bit), I2(1bit), S(1bit)

  • 输出: O1(1bit), O2(1bit)

  • 注意:请从门级电路开始搭建,切勿使用Plexers类元件。

  • 测试电路图(我们将使用下方的电路对你搭建的电路进行测试,测试的原理是将下图的swap模块替换为你提交文件中的swap模块,随后测试机会仿真运行下图中的电路图,记录其输出并与正确的输出进行对比)
         
    :     

  • 注意:请保证模块的appearance与下图完全一致,否则有可能造成评测错误


  •    

  • 方法一:自动生成电路

  • 1.选择分析电路

  • 2.做好输入输出(注意顺序)

  • 3.由于输入输出不多且关系清楚,直接选择真值表生成电路

  • 就写一下真值表

  • 之后就完事了

  • 方法二:逻辑分析

  • 1.首先对电路进行分析,若只看s和l1或者l2则与或门都是可行的,(这里如果是或门对输出进行控制的话,s就没有作用了)但是考虑到交换电路的问题,因此则采用与和非门相结合的方式
  • 接下来再实现交换电路的部分,但是在这里发现,我s只用一个非门对两路控制是无法满足后面的条件的,且一旦s为1,则输入与s非后的与运算后一定为0,因此发现s让两个电路交换需要进行更复杂运算,单单一个非是不足够控制的
  • 于是之后打算拆开,分解问题来看,首先对l1,l2,s和o2单独分析,在进行多次与非尝试后,发现s的非不能同时对两个输入同时进行与运算,否则,无法进行交换的效果
  • 同样的根据逻辑电路图进行复制,对o1进行同样的操作
  • 总结:实际上进行交换的原理,是非门和与门的共同选择作用,由或门来进行过滤。
    • 以单单o2来看,则是通过非s使得其中一个与门,也即其中一个输入的作用以0而忽略,通过或门由另一运算来决定。
### Logisim 数字逻辑设软件的下载、安装与配置 Logisim 是一款用于数字逻辑电路和仿真的开源工具,广泛应用于教育领域。以下是关于其使用教程、下载、安装及配置的相关说明。 #### 软件概述 Logisim 提供了一个直观的操作界面,支持层次化的电路方法,并内置了丰富的逻辑门元件库[^2]。作为一款跨平台的应用程序,它可以运行在 Windows、macOS 和 Linux 上,适合初学者学习数字电路的基础概念。 #### 下载地址 Logisim 的最新版本可以通过以下链接获取: - **项目主页**: [logisim-evolution](https://gitcode.com/gh_mirrors/lo/logisim-evolution)[^1] 在此页面上,您可以找到不同操作系统的二进制文件以及源代码包。对于大多数用户而言,建议直接下载预编译好的可执行文件以简化安装过程。 #### 安装指南 1. 访问上述提供的官方仓库链接。 2. 找到对应操作系统的发布版本(通常位于 Releases 页面),并点击下载按钮。 3. 将压缩包解压至目标目录后即可运行应用程序——无需复杂的安装流程[^4]。 #### 基本配置 首次打开 Logisim 后,默认设置已满足一般用途需求;然而为了优化体验或者适配特定硬件条件,可能需要调整一些参数: - 修改默认语言:进入菜单 `Options -> Language` 来更改显示文字的语言选项; - 自定义快捷键绑定:通过 `Tools -> Keyboard Shortcuts...` 对话框重新分配常用命令对应的按键合; - 设置网格大小与单位比例:转至 `Circuit -> Properties...` 中调节画布属性以便更精确地布局件位置关系。 完成这些初步设定之后便能够着手构建自己的第一个简单电路模型啦! ```bash # 如果是从源码编译,则需先确认具备 JDK 环境 sudo apt-get install default-jdk # Ubuntu/Linux Mint 用户示例命令 cd /path/to/downloaded/source/ make clean all # 清理旧数据再重建新实例 java -jar build/jar/logisim.jar # 运行生成后的 jar 文件启动应用 ``` 以上脚本片段展示了如何基于原始代码自行搭建开发环境的过程,在多数情况下并不必要除非打算参与贡献改进工作或是解决某些特殊兼容性问题时才需要用到这种方法[^1]。 --- ###
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

01bigdata

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值