add stats

This commit is contained in:
Konarak 2021-12-05 09:32:46 +05:30
parent bde2161900
commit 7ae97dea41
4 changed files with 232 additions and 0 deletions

View File

@ -1,3 +1,10 @@
# nand2tetris # nand2tetris
Trying to build a modern computer from first principles. If you want to try it visit: [From Nand to Tetris](https://www.nand2tetris.org) (: Trying to build a modern computer from first principles. If you want to try it visit: [From Nand to Tetris](https://www.nand2tetris.org) (:
## Nand Numbers:
Use [this script](https://gist.github.com/gaurishg/b788d4c13cbc02b324270e9b55f5d74d) to count how many gates you made. I modified it to print markdown tables so I can share them here:
- [Project 01: Boolean Logic](stats-01.md)
- [Project 02: Boolean Arithmatic](stats-02.md)
- [Project 03: Memory](stats-03.md)

110
stats-01.md Normal file
View File

@ -0,0 +1,110 @@
# Project 01: Boolean Logic
## Not
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Nand | 1| 1| 1|
|**Total** ||| **1**|
## And
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Nand | 2| 1| 2|
|**Total** ||| **2**|
## Or
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Nand | 3| 1| 3|
|**Total** ||| **3**|
## Xor
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Nand | 4| 1| 4|
|**Total** ||| **4**|
## Mux
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Not | 1| 1| 1|
|And | 2| 2| 4|
|Or | 1| 3| 3|
|**Total** ||| **8**|
## DMux
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Not | 1| 1| 1|
|And | 2| 2| 4|
|**Total** ||| **5**|
## Not16
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Not | 16| 1| 16|
|**Total** ||| **16**|
## And16
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|And | 16| 2| 32|
|**Total** ||| **32**|
## Or16
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Or | 16| 3| 48|
|**Total** ||| **48**|
## Mux16
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Mux | 16| 8| 128|
|**Total** ||| **128**|
## Or8Way
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Or | 7| 3| 21|
|**Total** ||| **21**|
## Mux4Way16
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Mux16 | 3| 128| 384|
|**Total** ||| **384**|
## Mux8Way16
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Mux16 | 7| 128| 896|
|**Total** ||| **896**|
## DMux4Way
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|DMux | 3| 5| 15|
|**Total** ||| **15**|
## DMux8Way
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|DMux | 7| 5| 35|
|**Total** ||| **35**|

46
stats-02.md Normal file
View File

@ -0,0 +1,46 @@
# Project 02: Boolean Arithmatic
## HalfAdder
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Xor | 1| 4| 4|
|And | 1| 2| 2|
|**Total** ||| **6**|
## FullAdder
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|HalfAdder | 2| 6| 12|
|Or | 1| 3| 3|
|**Total** ||| **15**|
## Add16
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|HalfAdder | 1| 6| 6|
|FullAdder | 15| 15| 225|
|**Total** ||| **231**|
## Inc16
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Add16 | 1| 231| 231|
|**Total** ||| **231**|
## ALU
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Mux16 | 6| 128| 768|
|Not16 | 3| 16| 48|
|And16 | 1| 32| 32|
|Add16 | 1| 231| 231|
|Or8Way | 2| 21| 42|
|Or | 1| 3| 3|
|Not | 1| 1| 1|
|Mux | 1| 8| 8|
|**Total** ||| **1133**|

69
stats-03.md Normal file
View File

@ -0,0 +1,69 @@
# Project 03: Memory
## Bit
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Mux | 1| 8| 8|
|DFF | 1| 4| 4|
|**Total** ||| **12**|
## Register
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Bit | 16| 12| 192|
|**Total** ||| **192**|
## RAM8
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|DMux8Way | 1| 35| 35|
|Register | 8| 192| 1536|
|Mux8Way16 | 1| 896| 896|
|**Total** ||| **2467**|
## RAM64
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|DMux8Way | 1| 35| 35|
|RAM8 | 8| 2467| 19736|
|Mux8Way16 | 1| 896| 896|
|**Total** ||| **20667**|
## RAM512
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|DMux8Way | 1| 35| 35|
|RAM64 | 8| 20667| 165336|
|Mux8Way16 | 1| 896| 896|
|**Total** ||| **166267**|
## RAM4K
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|DMux8Way | 1| 35| 35|
|RAM512 | 8| 166267| 1330136|
|Mux8Way16 | 1| 896| 896|
|**Total** ||| **1331067**|
## RAM16K
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|DMux4Way | 1| 15| 15|
|RAM4K | 4| 1331067| 5324268|
|Mux4Way16 | 1| 384| 384|
|**Total** ||| **5324667**|
## PC
| Chip | Count | NANDs | Total |
|------------|------------|------------|------------|
|Inc16 | 1| 231| 231|
|Mux16 | 3| 128| 384|
|Register | 1| 192| 192|
|**Total** ||| **807**|