如何安装
官网直接下载exe文件:Logisim download | SourceForge.net
下载好点开运行就好了
使用教程
Logisim是一款专为数字逻辑电路教学设计的仿真工具,界面直观,操作简单,非常适合初学者入门。要开始使用它,你首先需要了解其核心界面布局和基本操作流程。
界面布局解析
当你启动Logisim后,会看到一个由几个主要部分构成的窗口:
- 菜单栏与工具栏 (顶部):这里包含了文件操作、编辑、项目设置和仿真控制等所有功能。工具栏则提供了最常用功能的快捷按钮。
- 资源管理器窗格 (左侧):这是你的“元件库”和“项目管理器”。
- 你可以在这里看到当前项目的所有电路文件(例如默认的
main电路)。 - 下方列出了各种内置的元件库,如
Wiring(线路)、Gates(逻辑门)、Plexers(多路复用器)、Arithmetic(算术电路)、Memory(存储元件)等。点击“+”号可以展开库,查看并选用具体的元件。
- 你可以在这里看到当前项目的所有电路文件(例如默认的
- 画布 (右侧):这是你设计和绘制电路的主要工作区域。所有的元件拖放、连线和布局都在这里完成。
基本操作流程
一个典型的设计流程通常遵循以下步骤:
选择并放置元件
- 首先,在左侧的资源管理器窗格中,展开你需要的元件库。例如,要制作一个简单的逻辑门电路,可以展开
Gates库。 - 点击你想要的元件(如“与门”),然后在右侧的画布上点击,即可将其放置。
- 要删除直接点一下,然后键盘点删除键就好了
- 同样,你需要从
Wiring库中添加Pin(引脚)作为电路的输入和输出。
- 首先,在左侧的资源管理器窗格中,展开你需要的元件库。例如,要制作一个简单的逻辑门电路,可以展开
连接电路
- 激活工具:首先,点击工具栏上的黑色箭头图标,确保你处于编辑模式。
- 开始连线:将鼠标移动到一个元件的端点上。你会看到端点处出现一个绿色的小圆点,这表示可以从此开始连线。
- 绘制导线:按住鼠标左键不放,然后拖动鼠标到另一个元件的端点。
- 完成连接:当鼠标悬停在目标端点上时,该端点也会出现一个绿色小圆点。此时松开鼠标左键,一条绿色的导线就连接好了。
- 拐弯:如果你想让导线拐弯,可以在拖动过程中在需要拐弯的地方点击一下鼠标左键,然后继续拖动。
- 删除导线:在编辑模式下,点击选中你想要删除的导线(导线会变粗或高亮),然后按键盘上的
Delete键即可。 - 自动连接:当你移动元件时,与它相连的导线通常会自动跟随移动,保持连接状态。
仿真与测试
- 点击工具栏上的操作工具(手形图标),进入仿真模式。
- 此时,你可以点击画布上作为输入的
Pin元件(如果设置为输入),它的值会在0和1之间切换。 - 观察电路的输出端(例如输出引脚或探针),其状态会随着你的输入操作而实时变化,从而验证你的电路设计是否正确。
保存项目
- 随时可以通过菜单栏的
File->Save或使用快捷键Ctrl+S来保存你的电路设计。Logisim项目文件的扩展名是.circ。
- 随时可以通过菜单栏的
通过以上步骤,你就可以从搭建一个最简单的与门电路开始,逐步学习和构建更复杂的组合逻辑与时序逻辑电路了。
直接带你做一次完整的计算机组成原理实验
我们就用 Logisim 来亲手搭建一个最经典、也最能体现计算机组成原理的部件:8位串行进位加法器。这个实验将带你从最基本的元件开始,一步步构建出一个能进行二进制加法的复杂电路。
🧪 实验目标:设计一个8位串行进位加法器
我们将通过“自底向上”的设计方法,从最基础的逻辑门开始,最终完成一个8位加法器。这不仅能让你熟悉 Logisim 的操作,更能深刻理解计算机是如何进行算术运算的。
第一步:创建1位全加器 (Full Adder)
任何复杂的加法器都是由1位全加器构成的。它负责计算两个1位二进制数以及来自低位的进位。
创建新电路:
- 点击绿色加号:在左侧栏顶部,点击那个绿色的“+”号图标。
- 命名电路:会弹出一个对话框,输入
1-Bit Adder,然后点击“确定”。 - 开始设计:这时左侧列表里会出现一个新的
1-Bit Adder选项,双击它,你就可以在这个新画布里开始第一步的设计了。
放置元件:
- 现在画布是
1-Bit Adder的。我们需要从左侧库中拖入以下元件:- 从
Wiring库中,拖入3个Pin(引脚) 和2个Pin(引脚)。稍后我们会区分输入和输出。 - 从
Gates库中,拖入2个XOR Gate(异或门),2个AND Gate(与门) 和1个OR Gate(或门)。(我也不知道咋摆,先瞎摆一下)
- 从
- 现在画布是
配置元件属性:
- 点击第一个
Pin,在下方的属性栏中,将Label(标签) 改为A,Output?设为No(因为它是一个输入)。(左下角改,然后发现第一个pin旁边显示出了A)后面依次修改 - 点击第二个
Pin,将Label改为B,Output?设为No。 - 点击第三个
Pin,将Label改为Cin(Carry-in),Output?设为No。 - 点击第四个
Pin,将Label改为Sum,Output?设为Yes(这是一个输出)。 - 点击第五个
Pin,将Label改为Cout(Carry-out),Output?设为Yes。 - 你可以通过拖动元件来调整它们在画布上的位置,使其布局清晰。
- 点击第一个
连接电路:
- 点击工具栏上的编辑工具(箭头图标)。(使用教程中有讲如何连线)
- 按照1位全加器的逻辑图进行连线:
A和B连接到第一个XOR门的两个输入端。- 第一个
XOR门的输出,与Cin连接到第二个XOR门的两个输入端。 - 第二个
XOR门的输出,连接到Sum引脚。 A和B同时连接到第一个AND门的两个输入端。- 第一个
XOR门的输出,与Cin连接到第二个AND门的两个输入端。 - 两个
AND门的输出,分别连接到OR门的两个输入端。 OR门的输出,连接到Cout引脚。- 这张图连得确实有点像“意大利面条”,不过好消息是:逻辑连接是对的!
测试:
- 点击工具栏上的操作工具(手形图标)。
- 现在你可以点击
A,B,Cin这三个输入引脚来改变它们的值 (0或1)。 - 观察
Sum和Cout输出引脚的值是否符合全加器的真值表。例如,当 A=1, B=1, Cin=0 时,Sum应为0,Cout应为1。 - 输入状态:你现在的输入是 A=1, B=0, Cin=0(也就是 1 + 0 + 0)。
- 理论结果:和应该是 1,进位应该是 0。
- 你的电路表现:
sum引脚是绿色(代表 1)。Cout引脚是蓝色(代表 0)。
修正建议:
虽然结果显示对了,但红线是不应该存在的。请检查右上角那个异或门的输出,确保它只连向了sum引脚。- 右下角那个与门的输入。
不要让它碰到任何其他的输出端。 只要把红线消除,这就是一个完美的 1 位全加器!接下来就可以去
main电路里把它拼成 8 位的了。
关于颜色的提示
你看到线上有红色和蓝色:
- 蓝色:代表逻辑0(低电平)。
- 红色:代表逻辑1(高电平)。
第二步:构建8位加法器
现在我们已经有了一个可靠的基本单元,可以开始搭建8位加法器了。
回到主电路:
- 在左侧“资源管理器”窗格中,双击
main电路,回到主画布。
- 在左侧“资源管理器”窗格中,双击
放置8个1位全加器:
- 在左侧“资源管理器”窗格中,你会看到我们刚刚创建的
1-Bit Adder电路。 - 点击它,然后在主画布上连续点击8次,放置8个1位全加器。将它们垂直排列,方便连接。
- 在左侧“资源管理器”窗格中,你会看到我们刚刚创建的
放置输入/输出引脚和探针:
- 从
Wiring库中,拖入:- 2个
Pin,分别命名为A和B。在属性栏中,将它们的Data Bits(数据位宽) 设置为8。Facing(朝向) 可以设为East。 - 1个
Pin,命名为Carry In,Data Bits设为1,Output?设为No。 - 1个
Pin,命名为Carry Out,Data Bits设为1,Output?设为Yes。
- 2个
- 从
Input/Output库中,拖入1个Hex Digit Display(十六进制显示器)。这个元件可以直观地显示8位二进制数对应的十六进制值。
- 从
连接电路:
- 连接进位链:
- 将
Carry In引脚连接到最底部(第0位)的1-Bit Adder的Cin端。 - 将第0位加法器的
Cout连接到第1位加法器的Cin。 - 以此类推,将第
i位加法器的Cout连接到第i+1位加法器的Cin,直到连接完所有8个加法器。 - 将最顶部(第7位)加法器的
Cout连接到Carry Out引脚。
- 将
- 连接数据输入:
- 点击
A引脚,你会看到它引出了一条粗线,代表8位总线。 - 从
Wiring库中选择Splitter(分线器),放置在A引脚和8个加法器的A输入端之间。 - 配置
Splitter:Facing设为East,Bit Width In设为8,Fan Out设为8。这会将8位总线拆分成8条单独的线。 - 用导线将这8条线分别连接到8个加法器的
A输入端(从下到上,分别对应第0位到第7位)。 - 对
B引脚和8个加法器的B输入端,重复同样的操作,使用另一个Splitter。
- 点击
- 连接数据输出:
- 从
Wiring库中选择Probe(探针),放置8个。将它们分别连接到8个加法器的Sum输出端。这样你可以实时看到每一位的运算结果。 - 为了使用
Hex Digit Display,我们需要将8个Sum输出重新合并成一个8位总线。 - 在8个加法器的
Sum输出端右侧,放置另一个Splitter,这次它的Fan Out是8,Bit Width In是8,但方向相反(Facing设为West)。 - 将8个
Sum输出分别连接到这个Splitter的8个分支上。 - 将这个
Splitter的主干(8位总线)连接到Hex Digit Display的输入端。
- 从
- 连接进位链:
第三步:运行与验证
- 点击工具栏上的操作工具(手形图标)。
- 点击
A和B这两个8位输入引脚,它们的值会以十六进制形式变化(00 到 FF)。 - 尝试一些简单的加法,例如:
- 设置
A为01,B为01,Carry In为0。你应该看到Hex Digit Display显示02,Carry Out为0。 - 设置
A为FF(十进制255),B为01(十进制1),Carry In为0。你应该看到Hex Digit Display显示00,Carry Out为1,这表示结果溢出了8位。
- 设置
恭喜你!你已经成功使用 Logisim 完成了一个8位串行进位加法器的设计与仿真。这个过程完整地模拟了数字电路从底层逻辑门到复杂功能模块的构建思想。