Comments (4)
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.
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.
What is the fundamental difference between these schemes?
This is the equivalent circuit. Or does this take into account delays between blocks?
from logisim-evolution.
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)
- Do/Un-Do/Re-Do not positioning properly HOT 4
- Java logo on subwindows
- Simulation Halted by Internal Error VHDL HOT 5
- Add a writable EEPROM with persistent data capability HOT 6
- Feature Request: ROM data width > 64 Bits HOT 1
- AppImage HOT 1
- All Gates - Red Output HOT 4
- wont save circuit after cancel HOT 4
- Shortcuts not working on Linux OpenSUSE and French keyboard HOT 1
- Maximum RAM address bit width unclear HOT 1
- Add a way to hide navigation bar
- Double warning message
- Combinational analysis malfunction in version 3.8 HOT 3
- Custom wire colors / multi-wire selecting HOT 1
- Wrong behavior of asynchronous RAM reads in generated VHDL HOT 4
- Nightly build failed for Mac HOT 6
- User interface is too bright HOT 1
- No X11 DISPLAY variable was set - Wayland HOT 2
- Simulation halted by internal error when generating timing diagram HOT 4
- Debian build and Linux release value HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from logisim-evolution.