Coder Social home page Coder Social logo

0xmartin / logicsimulator Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 17.87 MB

Java-based application for simulating sequential and logic circuits of high complexity.

License: GNU General Public License v3.0

HTML 1.46% Java 98.49% C++ 0.06%
logic-gates logic-circuit sequential-circuits simulator

logicsimulator's Introduction

v 0.9.0 - now only works properly on Windows

HL simulator

Made with Apache NetBeans GitHub release (latest SemVer) GitHub all releases GitHub repo size

HL Simulator is a circuit simulation tool that enables users to design and simulate sequential and logic circuits of various complexities. This application is built with Java and offers an intuitive interface for creating, editing, and simulating circuits.

With HL Simulator, users can easily build complex circuits by selecting from a wide range of built-in logic gates and other circuit components. The application supports simulation of both synchronous and asynchronous circuits, allowing users to observe how their circuits behave over time.

HL Simulator offers a range of simulation options, including smooth simulation at adjustable speeds and step-by-step simulation. This makes it easy for users to track the behavior of their circuits as they change over time.

Overall, HL Simulator is an essential tool for any electrical engineer or hobbyist looking to design and simulate complex circuits with ease.

Workspace

Project Wizard

Diagnostic tools

Software also provides several diagnostic tools. The first of these is the step-by-step simulation feature, which allows users to easily track the behavior of the circuit.

Additionally, HL simulator includes a digital grapher (oscilloscope), which enables real-time monitoring of the states in any part of the circuit. With these powerful diagnostic tools, users can quickly identify and troubleshoot any issues that arise during circuit design and testing.

There is also Karnaugh map tool, which allows for easy definition of combinational circuit behavior and automatically generates the output equation and circuit from it.

Furthermore, the simulator includes a debugger for ASM language programming, making it easier to debug and test programs written in assembly language. With these additional features, HL simulator provides a comprehensive suite of tools for both circuit design and microprocessor programming.

Modules

Another important feature of HL Simulator is the ability to create circuit modules that can be reused in other parts of the circuit. This significantly simplifies the design process and allows for the creation of much more complex circuits.

Once a module is created, it can be easily imported into other circuits, making it possible to build larger and more intricate systems. This feature also enables the creation of a library of standard modules that can be shared and reused across different projects, promoting greater collaboration and efficiency in the design process.

ASM language programmer

HL simulator also offers a built-in environment for developing simple applications in assembly language. The software allows for programming virtual microprocessors and their corresponding instruction sets. Once the program is compiled, it can be uploaded in binary format to the chosen ROM memory (external or internal) with which the microcontroller communicates. When the simulation is started, the program execution begins and can be observed in real-time. This feature provides a convenient way to test and debug microcontroller programs without the need for hardware.

Karnaugh map

Furthermore, HL Simulator also offers a tool for diagnosing combinational circuits called "Karnaugh map." This tool allows defining the behavior of the combinational circuit directly in the map and then automatically generates the output equation and builds the circuit from it. This significantly simplifies the process of designing and implementing combinational circuits.

Direct connection with external devices

The software communicates over the serial link with an external device that processes messages. This enables the external device to directly control some states in the simulator or indicate certain states of the simulator externally.

Keyboard shortcuts

  • Global
    • CTR + ENTER: (new file, new component)
    • CTR + Q: control mode
    • CTR + E: edit mode
    • CTR + Right mouse button: remove reference component from toolbar
  • Workspace
    • CTR + C: copy objects
    • CTR + V: paste objects
    • CTR + R: rotate object/ selection
    • CTR + A: select all objects
  • Module editor
    • CTR + X: set logic model
    • CTR + C: copy
    • CTR + V: paste

TO DO:

  • linux project save/open bug
  • workspace: vertical/horisontal align
  • fix ASM current instruction highlighter
  • history (endo, redo)
  • component: CPU, TCP/IP T/R, Timer on, Timer off, Timer pulse
  • workspace better circuit handler: bridge wire separator algorithm, 2D path finder
  • global settings
  • printing of circuits
  • update system
  • better UI for library info
  • changing of language
  • documentation / tutorials [EN]

Author:

HL Simulator was created as an open-source project by Martin Krčma.

logicsimulator's People

Contributors

0xmartin avatar

Stargazers

 avatar

Watchers

 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.