MCPcopy
hub / github.com/logisim-evolution/logisim-evolution

github.com/logisim-evolution/logisim-evolution @v4.1.0 sqlite

repository ↗ · DeepWiki ↗ · release v4.1.0 ↗
14,492 symbols 54,219 edges 1,167 files 670 documented · 5%
README

Logisim-evolution


Logisim-evolution


Features

Logisim-evolution is educational software for designing and simulating digital logic circuits. Logisim-evolution is free, open-source, and cross-platform.

Project highlights:

  • easy to use circuit designer,
  • logic circuit simulations,
  • chronogram (to see the evolution of signals in your circuit),
  • electronic board integration (schematics can be simulated on real hardware),
  • VHDL components (components behavior can be specified in VHDL!),
  • TCL/TK console (interfaces between the circuit and the user),
  • huge library of components (LEDs, TTLs, switches, SoCs),
  • allows for custom libraries to be loaded on startup
  • supports multiple languages,
  • and more!

Logisim-evolution Logisim-evolution Logisim-evolution


Requirements

Logisim-evolution is a Java application; therefore, it can run on any operating system supporting the Java runtime enviroment. It requires Java 21 (or newer).


Download

Logisim-evolution is available for download in compiled form with ready to use installable packages for Windows, macOS, and Linux or in source code form, which you can build yourself.

The following platform specific packages include the Java runtime and do not require it to be installed separately:

  • logisim-evolution_<version>-1_amd64.deb: Debian package (also suitable for Ubuntu and derivatives),
  • logisim-evolution-<version>-1.x86_64.rpm: Package for Fedora/Redhat/CentOS/SuSE Linux distributions,
  • logisim-evolution-<version>_amd64.snap: The Snap archive for all supported Linux distributions (also available in Snapcraft store),
  • logisim-evolution-<version>-aarch64.msi: Installer package for Microsoft Windows for Arm processors,
  • logisim-evolution-<version>-amd64.msi: Installer package for Microsoft Windows for Intel processors,
  • logisim-evolution-<version>-aarch64.dmg: macOS package for Apple processors,
  • logisim-evolution-<version>-x86_64.dmg: macOS package for Intel processors (also runs on Apple processors in simulation).

The Java JAR logisim-evolution-<version>-all.jar is also available and can be run on any system with a supported Java runtime installed.

Get it from the Snap Store


Note for macOS users: The Logisim-evolution.app is not signed with an Apple approved certificate.

When launching the application for the first time, you will have to start it via the "Open" entry in the application icon's context menu in the macOS Finder. This is either done by clicking the application icon with the right mouse button or holding down CTRL while clicking the icon with the left mouse button. This will open a panel asking you to verify that you wish to launch the application. On more recent versions of macOS, the panel will only give you a choice of moving the app to the trash or Cancel. On those systems, click Cancel, open System Preferences, and select Security & Privacy. There you may need to click the lock to make changes and authenticate with an administrative acccount. It should show an option to open the app. See Safely open apps on your Mac for more information.

Depending on your security settings, you may also get a panel asking if you wish to allow it to accept network connections. You can click "Deny" as we do not need network access currently nor we do request any.

Package Manager

Logisim-evolution is available from a bunch of package managers. Note that these (except for Snap) are not maintained by the core developers. If you should observe a bug in Logisim-evolution while using one of these packages, first make sure that it can be reproduced with the most recent official packages provided through this repository and ideally the HEAD of our main branch before creating an issue on the official Logisim-evolution repository. Otherwise, report the issue to the package maintainer!

  • Snap (snap install logisim-evolution)
  • Flathub (flatpak install flathub com.github.reds.LogisimEvolution)
  • Homebrew (brew install --cask logisim-evolution)
  • MacPorts (port install logisim-evolution)
  • Chocolatey (choco install logisim-evolution)
  • winget (winget install -e --id logisim-evolution.logisim-evolution)
  • Arch User Repository
  • nixpkgs(nix-shell -p logisim-evolution)

Nightly builds

We also offer builds based on the current state of the main branch. If the main branch has been changed, a new Nightly build is created at midnight UTC.

Note that these builds may be unstable since the main branch is a work in progress.

To get nightly downloads, please go to the nightly workflow page and browse to the last successful build from the Nightly worker. Nightly runs each night, but terminates quickly and does not produce new packages if nothing has changed since the last run. Find the most recent run that contains the packages. The time Nightly took to run, given near the clock icon on the right, helps your search. Note that due to GitHub internals, all files are provided as ZIP archives. You must unzip the downloaded file to get the installation package.

Please share your experience in Discussions or open a ticket if you found a bug or have suggestions for improvement.


License

Extension points exported contracts — how you extend this code

VhdlSimulatorListener (Interface)
Listener interface for all classes who wants to be advised on current VHDL simulator status changes. @author christian. [14 …
src/main/java/com/cburch/logisim/vhdl/sim/VhdlSimulatorListener.java
BaseMouseListenerContract (Interface)
Dummy implementation of java.awt.event.MouseListener interface. The main purpose of this interface is to provide default [27 …
src/main/java/com/cburch/contracts/BaseMouseListenerContract.java
BaseKeyListenerContract (Interface)
Dummy implementation of java.awt.event.KeyListener interface. The main purpose of this interface is to provide default ( [26 …
src/main/java/com/cburch/contracts/BaseKeyListenerContract.java
BaseWindowListenerContract (Interface)
Dummy implementation of java.awt.event.WindowListener interface. The main purpose of this interface is to provide defaul [15 …
src/main/java/com/cburch/contracts/BaseWindowListenerContract.java
BaseMouseMotionListenerContract (Interface)
Dummy implementation of java.awt.event.MouseMotionListener interface. The main purpose of this interface is to provide d [19 …
src/main/java/com/cburch/contracts/BaseMouseMotionListenerContract.java

Core symbols most depended-on inside this repo

get
called by 3827
src/main/java/com/cburch/logisim/prefs/PrefMonitor.java
add
called by 3649
src/main/java/com/cburch/logisim/util/QNodeQueue.java
getter
called by 1371
src/main/java/com/cburch/logisim/util/LocaleManager.java
setColor
called by 895
src/main/java/com/cburch/logisim/gui/generic/TikZInfo.java
getValue
called by 826
src/main/java/com/cburch/logisim/data/AttributeSet.java
size
called by 770
src/main/java/com/cburch/logisim/util/QNodeQueue.java
put
called by 768
src/main/java/com/cburch/logisim/circuit/ExpressionComputer.java
getY
called by 701
src/main/java/com/cburch/logisim/data/Bounds.java

Shape

Method 12,630
Class 1,734
Interface 117
Enum 11

Languages

Java100%

Modules by API surface

src/main/java/com/cburch/logisim/gui/generic/TikZInfo.java103 symbols
src/main/java/com/cburch/logisim/gui/main/Canvas.java102 symbols
src/main/java/com/cburch/logisim/data/Attributes.java91 symbols
src/main/java/com/cburch/logisim/gui/hex/HexFile.java90 symbols
src/main/java/com/cburch/logisim/fpga/data/FpgaIoInformationContainer.java88 symbols
src/main/java/com/cburch/logisim/std/gates/PlaTable.java87 symbols
src/main/java/com/cburch/logisim/fpga/designrulecheck/Netlist.java80 symbols
src/main/java/com/cburch/logisim/circuit/Circuit.java76 symbols
src/main/java/com/cburch/logisim/soc/nios2/Nios2State.java75 symbols
src/main/java/com/cburch/logisim/gui/log/Model.java75 symbols
src/main/java/com/cburch/logisim/file/LogisimFileActions.java73 symbols
src/main/java/com/cburch/logisim/analyze/gui/TableTab.java73 symbols

For agents

$ claude mcp add logisim-evolution \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact