Giter VIP home page Giter VIP logo

Comments (4)

davidhutchens avatar davidhutchens commented on June 2, 2024

I may be missing something, but it looks to me that you have a race condition with which changes arrive first. In going from 3 to 4, if the first two bits drop before the third bit rises, that may cause the output from the AND to rise giving the OR a short pulse of a 1 causing its output to rise which will trigger a reset. That reset is immediate and not synchronized.

This is why it is recommended that you always clock the memories to ensure all inputs have settled before storing a value. A reset should not be used for logic.

I note that your implementation in the other simulator uses the clock so it isn't the same. It still uses logic to produce the reset, so it is suspect. Perhaps they synchronize the reset with the clock?

from logisim-evolution.

maehne avatar maehne commented on June 2, 2024

I agree with @davidhutchens: Your design doesn't follow recommended design approaches for sequential circuits, as you misuse the asynchronous set/reset inputs of the D-flip-flops for other purposes than the power on reset. Flip-flops should be always clocked by the same clock signal and their next state should be determined via the D input to guarantee synchronous behaviour. I will close this issue as invalid. Feel free to reopen if you disagree.

from logisim-evolution.

RedErr404 avatar RedErr404 commented on June 2, 2024

What is the fundamental difference between these schemes?
1
2
This is the equivalent circuit. Or does this take into account delays between blocks?
3

from logisim-evolution.

maehne avatar maehne commented on June 2, 2024

Please check the "Value propagation" chapter in the "Guide to Being a Logisim User" (reachable via Help -> User's Guide) for some explanations of Logisim's simulation algorithm. Indeed, gate delays are considered to some extend - though Logisim's concept of simulation time is limited. Therefore, hazards may occur due to the propagation of signal changes through the different paths from inputs to outputs traversing the different layers of gates.

from logisim-evolution.

Related Issues (20)

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.