mirror of
https://github.com/soconnor0919/eceg431.git
synced 2025-12-11 06:34:43 -05:00
31 lines
1.2 KiB
Plaintext
31 lines
1.2 KiB
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/5/Computer.hdl
|
|
/**
|
|
* The Hack computer, consisting of CPU, ROM and RAM.
|
|
* When reset = 0, the program stored in the ROM executes.
|
|
* When reset = 1, the program's execution restarts.
|
|
* Thus, to start running the currently loaded program,
|
|
* set reset to 1, and then set it to 0.
|
|
* From this point onwards, the user is at the mercy of the software.
|
|
* Depending on the program's code, and whether the code is correct,
|
|
* the screen may show some output, the user may be expected to enter
|
|
* some input using the keyboard, or the program may do some procerssing.
|
|
*/
|
|
CHIP Computer {
|
|
|
|
IN reset;
|
|
|
|
PARTS:
|
|
// ROM32K provides instructions to CPU
|
|
// find where PC points to, output instruction
|
|
ROM32K(address=pc, out=instruction);
|
|
|
|
// CPU executes instructions and manages data flow
|
|
CPU(inM=memOut, instruction=instruction, reset=reset, outM=outM, writeM=writeM, addressM=addressM, pc=pc);
|
|
|
|
// memory does storage and IO
|
|
Memory(in=outM, load=writeM, address=addressM, out=memOut);
|
|
}
|