Init nand2tetris

This commit is contained in:
Sven Riwoldt
2023-03-22 19:51:12 +01:00
commit 4c52d4ba55
496 changed files with 88269 additions and 0 deletions

5
projects/demo/Xor.cmp Normal file
View File

@@ -0,0 +1,5 @@
| a | b | out |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |

25
projects/demo/Xor.hdl Normal file
View File

@@ -0,0 +1,25 @@
// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/demo/Xor.hdl
/**
* Exclusive-or gate: true if either a is true and b is false, or
* a is false and b is true; false otherwise.
* QUESTION: how can the simulator execute this program properly without
* HDL implementations of the underlying Not, And, and Or chip-parts?
* Answer: since the demo folder contains no Not.hdl, And.hdl and Or.hdl
* files, the simulator reverts to using their built-in implementations.
*/
CHIP Xor {
IN a, b;
OUT out;
PARTS:
Not (in=a, out=nota);
Not (in=b, out=notb);
And (a=a, b=notb, out=x);
And (a=nota, b=b, out=y);
Or (a=x, b=y, out=out);
}

5
projects/demo/Xor.out Normal file
View File

@@ -0,0 +1,5 @@
| a | b | out |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |

29
projects/demo/Xor.tst Normal file
View File

@@ -0,0 +1,29 @@
// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/01/Xor.tst
load Xor.hdl,
output-file Xor.out,
compare-to Xor.cmp,
output-list a%B3.1.3 b%B3.1.3 out%B3.1.3;
set a 0,
set b 0,
eval,
output;
set a 0,
set b 1,
eval,
output;
set a 1,
set b 0,
eval,
output;
set a 1,
set b 1,
eval,
output;