Code Monkey home page Code Monkey logo

circuitsim2's Introduction

CircuitSim2

image1

About This Project

CircuitSim2 is an open-source development platform for digital logic circuits. Circuits are designed by placing tiles onto a grid, each element (such as a wire, switch, LED, or logic gate) takes up one of the grid squares. Tiles that are adjacent to one another and connect together will transfer a logic signal (either low, high, or tri-state). By combining lots of these gates and wires into a module to abstract the design, some complex circuitry can be created such as state machines, computational hardware, and even computers.

This project is ideal if you need a quick prototype for a logic circuit when working closely with low level hardware. Using Verilog or just building a circuit on a breadboard are other alternatives to this, but these methods can take some time. As a bonus, it is very easy to see the inner workings of circuits built with this tool and this makes debugging a breeze. If you've never even heard of digital logic before then you might be interested in this if you like to create stuff. Some tutorials are provided to cover the basics.

Platform and Usage

Currently, CircuitSim2 is only available for Windows but a Linux/MacOS build may be available in the future.

The latest build can be found here.

Just unzip the file and it should be good to go. If running it gives an error that MSVCPxyz.dll is missing then just run the installer for the Visual C++ runtime in "redist/vcredist_x86.exe" and try again. If you prefer to compile this project yourself, the latest build was compiled with Visual Studio 2017 and SFML 2.5.1 (but newer versions should work as well).

Update: CMake is now used for building. A build can be run with the following after cloning this repository:

For single-configuration generator (such as Linux and MacOS with Make/clang):

# On my Arch Linux machine, I needed to install: kdialog
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

For multi-configuration generator (such as Windows with Visual Studio):

cmake -S . -B build
cmake --build build --config Release

Getting Started

To learn about some of the basic controls and tools that are available with this application, some tutorials are provided in the "boards/tutorials" directory (use File->Open... to view these). If you want to see some of the larger examples, the calculator and computer boards are cool ones to check out.

That's all for now, happy circuit building!

Screenshots

image2

Some examples of components that can be used to construct circuits, and the wire tool making a new path.

image3

Quick demo of a binary-to-decimal converter in action. The binary input is provided at the bottom of the circuit.

image4

A carry lookahead adder computing 31 + 9. The result can be easily converted to decimal and checked with the query tool.

circuitsim2's People

Contributors

tdepke2 avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.