====== Logisim-evolution:数字逻辑电路设计与仿真 ====== Logisim-evolution 是目前唯一仍在活跃维护的数字逻辑电路设计与仿真工具。它的前身 Logisim 由 Carl Burch 于 2001 年创建,但自 2011 年后原始项目停更。2014 年瑞士高校团队 fork 出 Logisim-evolution 并持续开发至今,因此现在所说的"Logisim"实质上就是指 **Logisim-evolution**(([[https://github.com/logisim-evolution/logisim-evolution|GitHub: logisim-evolution — 7.3k Stars]]))。 ===== 历史沿革 ===== Logisim 由 Dr. Carl Burch(Hendrix College 计算机系副教授)在 2001 年左右创建。他本人将其描述为"一款用于设计和仿真逻辑电路的图形化工具"(([[https://cburch.com/logisim/|Logisim 官方主页(存档)]])),发音为 **LODJ-uh-sim**(而非 LOG-ism)。 ^ 时间 ^ 事件 ^ | ~2001 | Carl Burch 开始开发 Logisim | | 2011-03-21 | Logisim 2.7.1 — 最后一个官方版本 | | 2013 | Burch 启动替代项目 Toves(后终止) | | 2014-09 | Logisim-evolution 仓库创建 | | 2014-10 | Burch 正式宣布 Logisim 开发终止 | | 2016 | Logisim-evolution 首个稳定版发布 | | 2024-08 | Logisim-evolution v3.9.0(Java 21) | | 2026-02 | Logisim-evolution v4.1.0(最新版) | Carl Burch 在 2014 年暂停开发时坦言:"Working on Logisim is no longer compatible with my paid responsibilities." 他同时指出 Logisim 架构存在难以克服的缺陷,为此启动了替代项目 Toves,但后者也在早期阶段终止。Burch 此后加入 Google 担任软件工程师(([[https://cburch.com/|Carl Burch 个人主页]]))。 ===== 继承与创新 ===== Logisim 原始版本自 2011 年后再无更新,瑞士三所高校联合创建了 Logisim-evolution 并持续维护至今(([[https://github.com/logisim-evolution/logisim-evolution|GitHub: logisim-evolution]])): - **BFH**(伯尔尼应用科学大学) - **HEPIA**(日内瓦景观、工程与建筑学院) - **HEIG-VD**(沃州工程与管理学院) ^ 指标 ^ 数据 ^ | Stars | 7,278 | | Forks | 966 | | 许可证 | GPL v3.0 | | 编程语言 | Java 21+ | | 最新版本 | v4.1.0(2026-02-15) | | 最后提交 | 2026-07-07(持续活跃) | 核心维护者包括 Theo Kluter(BFH,2,379 commits)、Marcin Orłowski(波兰,1,124 commits)等,社区中也有来自清华大学(Zhao Hanyuan)和北京工业大学(Liu Yuchen)的中国贡献者。 ===== 功能特性 ===== **原始 Logisim(2.7.1)已有功能**: - 图形化电路设计与仿真 - 组合逻辑分析(最小项之和、最大项之积) - 卡诺图化简 - 子电路(层次化设计) - 内置元件库:门电路、导线、复用器、算术运算、存储器、I/O - Poke 工具交互式仿真 - 时钟信号仿真 **Logisim-evolution 新增功能**: - **VHDL/Verilog 组件**:可以用硬件描述语言定义元件行为 - **时序图(Chronogram)**:直观展示信号随时间变化的波形 - **FPGA 板集成**:支持 BASYS3、TinyFPGA BX 等开发板,可直接将电路烧录到真实硬件 - **TTL 74xx 系列库**:包含大量常用数字 IC 模型 - **TCL/TK 控制台**:实现电路与用户的脚本化交互 - **测试向量**:支持时序电路的自动化测试 - **自动保存**:防止意外丢失工作 - **自定义快捷键** - **项目导入/导出为 ZIP** ===== 安装方式 ===== Logisim-evolution v4.1.0 起,平台专用安装包已**内置 Java 运行环境**,无需预先安装 JDK/JRE。 ^ 平台 ^ 安装包 ^ | Windows (Intel/AMD) | .msi 安装包 | | Windows (ARM) | .msi 安装包(Surface Pro X 等) | | macOS (Apple Silicon) | .dmg(M 系列 Mac) | | macOS (Intel) | .dmg(Intel Mac,也可通过 Rosetta 运行) | | Linux (Debian/Ubuntu) | .deb 包 | | Linux (Fedora/RHEL) | .rpm 包 | | 任何平台(需 Java 21) | 便携版 .jar:``java -jar logisim-evolution-all.jar`` | 包管理器安装: # Snap snap install logisim-evolution # Flatpak flatpak install flathub com.github.reds.LogisimEvolution # macOS (Homebrew) brew install --cask logisim-evolution # Windows (winget) winget install logisim-evolution 所有安装包均可在 GitHub Releases 页面下载(([[https://github.com/logisim-evolution/logisim-evolution/releases|Logisim-evolution Releases]]))。 ===== 典型应用场景 ===== **计算机组成原理教学**:Logisim-evolution 最经典的用途是在计算机体系结构课程中设计 CPU。学生可以从零开始搭建 ALU、寄存器堆、控制单元,最终构建一个完整的 MIPS 或 RISC-V 处理器。Logisim-evolution 的 VHDL/Verilog 支持和 FPGA 集成,使这些设计可以进一步烧录到真实开发板上运行。 **数字逻辑实验**:从基本门电路到复杂的时序电路(计数器、状态机),Logisim-evolution 提供了比实物实验板更便捷的调试体验。卡诺图化简和组合逻辑分析功能帮助初学者理解布尔代数。 **FPGA 原型验证**:借助 FPGA 板集成,可以在软件中完成设计验证后直接部署到硬件,大幅缩短了数字系统的开发迭代周期。 ===== 文件格式 ===== Logisim-evolution 使用 ``.circ`` 格式保存电路文件,本质上是 XML 格式的文本文件,包含元件名称、放置坐标、连线信息等数据(([[https://fileinfo.com/extension/circ|FileInfo: .circ 文件格式]]))。这一格式使得版本控制(Git)和协作变得方便。 ===== 相关项目 ===== 除了 Logisim-evolution,数字逻辑仿真领域还有以下工具: - **Digital**:由 Helmut Neemann 开发的现代数字逻辑仿真器,功能与 Logisim 类似,具有更现代化的架构(([[https://github.com/hneemann/Digital|GitHub: hneemann/Digital]])) - **Logisim-iitd**:IIT Delhi 分支,集成了浮点运算组件(([[https://github.com/thesurajtripathi/logisim-iitd|GitHub: logisim-iitd]])) - **Toves**:Carl Burch 尝试的 Logisim 替代品,但已终止开发 ===== 总结 ===== Logisim-evolution 作为一款教学用数字逻辑仿真工具,继承了 Carl Burch 原始 Logisim 的简洁易用特点,同时大幅扩展了 HDL 支持、FPGA 集成等专业功能,使其既能满足本科教学需求,也能胜任数字系统原型验证工作。值得注意的是,现在市面上能下载到的"Logisim"实质上都已是 Logisim-evolution(([[https://github.com/logisim-evolution/logisim-evolution|GitHub: logisim-evolution]]))。 {{tag>logisim 数字逻辑 电路 仿真 FPGA}}