Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.4 - More-Optimal Incrementor #17

Open
Draco18s opened this issue Oct 4, 2024 · 1 comment
Open

2.4 - More-Optimal Incrementor #17

Draco18s opened this issue Oct 4, 2024 · 1 comment
Labels
better solution Improve a solution by providing a better approach, using fewer components or NANDs.

Comments

@Draco18s
Copy link

Draco18s commented Oct 4, 2024

image

While it is possible to do it in fewer components this uses fewer NAND gates (basically we swapped 16 full adders for 16 half adders, because we're adding only a single bit to a 16 bit number, rather than two 16 bit numbers: we just need to ripple the carry across as needed, since the other 15 bits of the second input value are always going to be 0).

This saves something like 432 NAND gates across the whole computer.

@Draco18s
Copy link
Author

Draco18s commented Oct 4, 2024

Ref simpler computer.
image

A few other puzzles also use fewer NAND gates due to the inclusion of the simplified increment, but their solutions ultimately don't change (just that the total NAND gate count goes down).

@timlg07 timlg07 added the better solution Improve a solution by providing a better approach, using fewer components or NANDs. label Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
better solution Improve a solution by providing a better approach, using fewer components or NANDs.
Projects
None yet
Development

No branches or pull requests

2 participants