mirror of
https://github.com/usatiuk/nand2tetris.git
synced 2025-10-28 16:17:48 +01:00
26 lines
936 B
Plaintext
26 lines
936 B
Plaintext
// 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/05/Computer.hdl
|
|
|
|
/**
|
|
* The HACK computer, including CPU, ROM and RAM.
|
|
* When reset is 0, the program stored in the computer's ROM executes.
|
|
* When reset is 1, the execution of the program restarts.
|
|
* Thus, to start a program's execution, reset must be pushed "up" (1)
|
|
* and "down" (0). From this point onward the user is at the mercy of
|
|
* the software. In particular, depending on the program's code, the
|
|
* screen may show some output and the user may be able to interact
|
|
* with the computer via the keyboard.
|
|
*/
|
|
|
|
CHIP Computer {
|
|
|
|
IN reset;
|
|
|
|
PARTS:
|
|
Memory(in=memin, load=memload, address=memaddr, out=memout);
|
|
CPU(inM=memout, instruction=instr, reset=reset, outM=memin, writeM=memload, addressM=memaddr, pc=pct);
|
|
ROM32K(address=pct, out=instr);
|
|
}
|