Lab0
这里放一些 Logisim tricks
在本地搭建 Logisim 实验环境
常见的 Logisim 有三种版本:
- Logisim,更新止步于 2013 年,后面的版本都是它的 Fork
- Logisim Italian Fork,比较经典的 Fork,似乎是两年一次更新
- Logisim-evolution,比较前沿的 Fork,有较多的新功能,似乎在持续维护
对于 DLCO 这门课,你应该选择第二个版本,选择正确的版本对你在本地调试有很大的帮助(这三个版本的.circ文件不完全互通,你也不希望自己在本地连好的实验在评测机上打不开吧嘿嘿)。
具体来说,实训平台用的是 v2.16.1.3 的版本,个人建议使用最新的 v2.16.2.2 版本或者在线平台的 v2.16.1.3 版本,否则后期遇到锁存器和触发器时可能会遇到一些问题(?)
Logisim Tips
Logisim 缺乏友好的新手教程,在此推荐 Logisim 使用教程 - Digital Lab 2025
除此以外,以下给出一些其他比较好用的小 Tips,或许可以减少在 Logisim 上消耗的时间:
- 选择一个元件,在按住
Ctrl或Shift的情况下,右键可以多次点击放置多个元件- (比如说你要放置
x个某元件,可以按住Shift右键放置x-1个元件,再松开Shift左键放置最后一个元件)
- (比如说你要放置

- 选中逻辑门再按下数字键可以切换逻辑门的输入位宽(在放置元件时该操作也有效,并且之后放置的门都遵循该设置);同理可以改变的有“常量”的值(不是位宽)、复用器的选择端位宽
在额外按住 Alt 的情况下,数字键专门用于改变数据位宽,比如运算器、寄存器
此外,你可以多选相同元件,然后批量修改位宽
最好自己试一试,以防你分不清按不按住
Alt分别修改的是什么值,以及理解这一条 Tip 在说什么

- 放置输入输出引脚后(并且正确为引脚命名),点击 “工程→分析组合逻辑电路” ,可以通过编辑真值表 / 输入逻辑表达式的方式自动生成组合逻辑电路

- 如果需要跨文件复制电路,可以点击 “工程→加载库→Logisim库” 导入.circ文件,以整体封装的形式使用电路,也可以在导入后对整个电路复制粘贴(如果你不希望后续的实验存在过多的子电路文件依赖,我建议对整个电路复制粘贴,否则使用封装电路更加简洁)
(这个就不给动图演示了,后续实验就会用到)
- 编辑模式下鼠标中键点击某根电线(或者在戳模式下左键),会加粗与这根电线有连接的所有电线与节点,可以辅助判断有没有发生错误连线
- (比如下面的例子中,同一逻辑门的两个输入不小心连接到了一起)

- 选中元件按方向键可以修改元件朝向(多选元件按方向键也有效,但是电线不会相应旋转)
(没有动图的必要)
- 一次
Ctrl+D操作(复制+粘贴)可以代替一轮Ctrl+CV操作

- Logisim 会主动连接端口,即使之后被分开也会尝试用电线主动连接
(你猜我为什么要放这个动图)

Logisim 电路排查指南
你可以按照以下步骤排查你的电路是否有问题(以及是你的问题还是 Logisim 的问题):
- 重启一次 Logisim 可以解决 Logisim 偶发的渲染问题(尤其是出现莫名其妙的蓝线/红线时)
- 优先排查出现蓝线/红线的地方,善用鼠标中键排查错误连线(早期很多连线问题都是不小心把两个输入端连接到了一起,这种错误通过鼠标中键可以很快排查)
- 没有蓝线/红线但是样例测试不通过 → 针对出现错误输出的部分,对着原理图(如果有)或逻辑式排查问题,善用鼠标中键;如果是时序逻辑电路的话可能还要考虑上升沿/下降沿问题,错误的时钟边沿设置会产生难以排查的问题
- 长时间找不到错误点也是很正常的,必要时要有推倒重来的勇气;在难以构建正确的电路时,可以在cslab的实践课程上寻找教程(确保你已经进行了足够多的思考);真的走投无路的话可以尝试体会开源精神,注意可能造成的后果自负
最后祝连线愉快,作为助教时隔半年已经完全不会用 Logisim 了