Implementing Tests
As part of the game, players will test their logic circuits against Truth Tables to unlock higher-level parts. I also use the tests to check my own creations. It’s the same as running Unit Tests.
When manually testing, you are far more likely to miss edge cases and find it tedious to try many combinations of inputs. But with automation it is more efficient and easy.
Today I implemented truth tables for the Register, Shift Register, and ALU. Doing this revealed various bugs which I was able to fix. These Truth Tables are not Text Book style, but they map input patterns to expected output patterns.
Maybe you can see that I have implemented some codes to tell the visual Truth Table scene how to display or not to display the data?
An example of Truth Table Data:
I needed to add Bus inputs alongside logic-level inputs. To indicate a Bus in the Truth Table, I simply used lower-case letters, and added new IO Bus parts to use instead of IO Pins. Also, I added the support for hex numbers in the Truth Table.
The ALU in particular was tricky since it deals with twos complement signed binary numbers, so it can get confusing when figuring out how to indicate an overflow for both addition and subtraction for example.
Next we need to test the ROM and RAM parts.
More Devlog entries
Most recent first
- 2021 10 02 New Release of Digital Logic Simulator
- 2021 08 28 Nested Sub Blocks
- 2021 08 27 Debugging with a log file
- 2021 08 26 Testing Circuit Blocks
- 2021 08 24 Bug Fixing with Blocks
- 2021 08 22 Debugging Circuit Blocks
- 2021 08 21 Circuit Blocks Update
- 2021 08 18 Circuit Blocks
- 2021 08 16 Highlighting of wires
- 2021 08 12 Adding Tutorial Content
- 2021 08 07 Numbers Scene
- 2021 08 06 Numbers Tabbed Scene
- 2021 08 04 Number Display Widget
- 2021 07 26 Logic Simulator Update
- 2021 07 24 - Launch of V1.0
- 2021 07 23 - Truth Tables
- 2021 07 22 Progress Update
- 2021 07 21 - Simple Computer Simulation
- 2021 07 16 - Community Forum
- 2021 07 15 - Community News
- 2021 07 11 - Save and Load ROM Data
- 2021 07 09 - Documentation About The Logic Simulator
- 2021 07 08 - Big Progress
- 2021 07 07 - RAM and ROM Testing Complete
- 2021 07 05 - Cool algorithm for binary text string
- 2021 07 04 - Debugging Complex Situations
- 2021 06 30 - End of June - Refactoring Continues
- 2021 06 29 Community
- 2021 06 28 Implementing More OOP
- 2021 06 27 Memory Parts
- 2021 06 26 Improving the Memory Manager
- 2021 06 25 Memory Data
- 2021 06 24 Memory Management
- 2021 06 23 First Devlog Entry