Quantr Logic

A logic simulator written in Java, it is an educational tool for student to learn/design/simulate their circuit.

Features

  1. Completely open source
  2. Support VCD dump format
  3. Fast simulation
  4. Completely in Java Swing, easy to embed it in other swing application

Peter
Ken Lam
michellechw
Ronald Park
Developer performance

to


active
Peter
Missing wire, is this normal? ![Screenshot_2024-01-08_at_3.16.02_PM](/uploads/62da5cf0180079ba01ae6e44c857f429/Screenshot_2024-01-08_at_3.16.02_PM.png) ![Screenshot_2024-01-08_at_3.16.26_PM](/uploads/7c6bd2080bd5698150802a6c8f9442ea/Screenshot_2024-01-08_at_3.16.26_PM.png)
2024-01-09
05:11:17.214
Peter
convert button bug : o=(a+b)cd ![Screenshot_from_2023-12-27_12-28-14](/uploads/6304234685db60eb6b2a6f437c21d3c6/Screenshot_from_2023-12-27_12-28-14.png)
2024-01-05
08:17:58.854
Peter
AndGate has eval2 but other doesn't, so eval2 should be temp function, right?
2024-01-02
08:28:54.774
Peter
Arduino no name and pins @RonaldPark @kenlam296 1. print the name on the component 2. no pins, no input and output ![Screenshot_2023-12-18_at_10.15.46_PM](/uploads/ab146b45b5d54d7451723b66bb2e1bb8/Screenshot_2023-12-18_at_10.15.46_PM.png)
2023-12-23
09:42:50.816
Peter
loopChild() support all gates, xor, nand, etc
2023-09-24
17:49:45.845
Peter
@chanhuiwah @kenlam296 @RonaldPark I want to build an engine to direct convert boolean algebra to the circuit. **Features:** 1. Rather than click on the truth table, I want to let use input the formula by text, e.g. o=ab+c 1. Capture letter means not so o=aB+c means a or not b and c 1. First stage we only support single-character input/output names. So there will be 26 inputs and 26 outputs 1. First stage no need to perform any logic optimization 1. Design needs to be flexible enough for future support pluggable optimization engine Because this is super foundation tech, so straight follow the building steps 1. The boolean algebra parser done here by antlr https://gitlab.com/quantr/eda/quantr-boolean-algebra-library 1. Main intake is QuantrBooleanAlgebra.parse(String) function Hints: 1. Use quantr [netbeans antlr plugin](https://www.quantr.foundation/project/?project=Netbeans%20Antlr) to debug the g4. To install it, follow https://netbeans.quantr.hk/ Something like this: 2. https://www.youtube.com/watch?v=rDFkhrHxHMw&t=105s ![Screenshot_2023-07-11_at_6.56.57_PM](/uploads/7f7b2ac2f149a48258a960eabbdf2a12/Screenshot_2023-07-11_at_6.56.57_PM.png) ![Screenshot_2023-07-11_at_9.19.56_PM](/uploads/9eaf07e215ab53ae8e728a1960787758/Screenshot_2023-07-11_at_9.19.56_PM.png) ![Screenshot_2023-07-11_at_9.20.01_PM](/uploads/728db31ce0eeb919181e15d90d2e2336/Screenshot_2023-07-11_at_9.20.01_PM.png)
2023-08-15
04:15:32.587
Peter
why everytime i start simulation, it load this vcd file from resources? seems useless ![image](/uploads/69a28a265372dee5f3dfdd742e869093/image.png)
2023-08-15
03:09:32.534
Peter
Ugly OOP concept, everytime i call setImage, it create a *new* variable and return it to me. But the class hold a copy. Image if i call it two times, there is no meaning of that copy of variable. @kenlam296 @RonaldPark @chanhuiwah ![Screenshot_2023-07-23_at_11.14.44_PM](/uploads/be2809a00e3ee7450d3e0de25ab93511/Screenshot_2023-07-23_at_11.14.44_PM.png)
2023-08-15
03:06:42.122
Peter
1. o=(abc'+c'd')(ab'c'd) not work 2. i saw you provide two simplify, but you need to provide a button "no simplify"
2023-08-15
03:05:33.507
Peter
@chanhuiwah @kenlam296 @RonaldPark help to write the doc in /doc folders, view in https://www.quantr.foundation/docs/?project=Quantr+Logic&url=https%3A%2F%2Fgitlab.com%2Fquantr%2Feda%2Fquantr-logic%2Fraw%2Fmaster%2Fdoc%2FIntroduction.MD&docPath=Introduction.MD
2023-08-04
14:23:33.042
Peter
Allow user to set the module icon : 1. Label in the center 2. snapshot of the module drawing, that mean the "Graphics", you have already done 3. allow user upload an image for that ![image](/uploads/41f3e731b08e93bbbfd7a0805cb11c1c/image.png)
2023-08-03
08:49:07.506
Peter
[Hex_Counter1.circ](/uploads/04fd316df08e441bba78319edfbe1727/Hex_Counter1.circ) ![Hex-Decoder](/uploads/16dbcdbcd2c83a4df8d68ae9db1a3dbd/Hex-Decoder.gif) from https://github.com/Aaris-Kazi/Hex-Counter-Decoder-using-Logisim
2023-08-01
09:26:10.426
Peter
up arrow click two time will have bug, the little blue dot will dropped to bottom ![Screenshot_2023-07-13_at_12.46.04_AM](/uploads/a029cde87ab956898f18048fa51ae9aa/Screenshot_2023-07-13_at_12.46.04_AM.png)
2023-07-28
07:11:49.378
Peter
![image](/uploads/93b81236bc8400fd3084d99521b259f0/image.png) @kenlam296 @chanhuiwah
2023-07-28
07:11:19.934
Peter
Make the button supports north/east/west/south. Just plot the green point is ok, no need to turn the button.
2023-07-27
06:06:19.425
Peter
close and reopen module, everything gone ![bug](/uploads/e6f328c215a7aad06e40e1a7c05eb6bd/bug.mp4)
2023-07-26
14:27:33.973
Peter
1. these two lines should move inside the if-loop 2. you cant add existing quantrGraphCanvas to a new JScrollPane, you should create a new quantrGraphCanvas object ![Screenshot_2023-06-28_at_10.43.39_PM](/uploads/f9e2542a8c7c7dd675eeb449c4cfe155/Screenshot_2023-06-28_at_10.43.39_PM.png)
2023-07-26
14:26:34.398
Peter
Able to set all pin names in here. And the name become the VCD pin name in the VCD file. Check the naming standard, i believe the name can't have space/#/$ ![Screenshot_1](/uploads/ce0e2ba61f61bba365981f47c5a3f74d/Screenshot_1.png)
2023-07-26
14:25:46.920
Peter
hardcode the clock pin name in vcd file call "clk", QuantrVCDComponent thinks any pin call "clk" is the clock pin ![Screenshot_3](/uploads/5cacaecf7b5edfeacfa580eab5593ba4/Screenshot_3.png) ![Screenshot_4](/uploads/49f20b05b2a6018e34b17f22aced03b9/Screenshot_4.png)
2023-07-26
14:23:55.897
Peter
the above clock is 4Hz, below is 1Hz, but VCD doens't record many record ![image](/uploads/a480e761c038c2d621a646ecde8b3beb/image.png) ![image](/uploads/51b055dde3fabce5d5dd1093c382c2ec/image.png) I saw it keep dumping, but in QuantrVCDComponent just not much record ![image](/uploads/3fe23f86b119fb1afd84ab2a7f67c216/image.png)
2023-07-26
14:23:42.753
Hex Counter
admin
2024-01-04 03:25:40