Swift's Three Laws of Simplicity
Note: The goal of WIZ is to find the simplest, smallest, most elegant circuit possible,
that implements an efficient and scalable microprocessor.
It is to answer the question, "What is the *essence* of a computer?"
This is a pure research project, not a commercial venture with a profit motive.
If you follow these Laws, you will not make any money! At least not for a while, until you perfect the product!
These laws are written for me. They are "notes to self". I invite you to read over my shoulder.
Law 1. Simplicity is the overriding consideration.
Never allow any change in the direction of complexity.
Law 2: Always search for more simplicity. PERSIST!
Find systemic changes not incremental changes.
Never push the edges.
Moore's Law is your friend.
Believe in fundamental truths. Have faith that they can be found. You can do it.
Law 3: Do it in software, not in hardware!
(See page 3 here for the best description of what the WIZ is all about!)
The more you have to explain it, the more you probably have it wrong.
If questioning whether to include it or not, the answer is: NOT.
If debating between several possibilities, there may be a higher principle you are missing.
Warning: once a feature is added, it will be almost impossible to ever take away. "Legacy" is a dirty word.
Do it in hardware only if there is no other way to do it
Keep all WIZ complexity on the backend, never mess with the frontend