all repos — nand2tetris @ fe18b30c58f75b5a650a5a179ce9fc1dcdeaa573

my nand2tetris progress

projects/05/Computer.hdl

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
// 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:
    ROM32K(address=pc-out, out=rom32k-out);
    CPU(inM=memory-out, instruction=rom32k-out, reset=reset,
        outM=in-m, writeM=load-m, addressM=address-m, pc=pc-out);
    Memory(in=in-m, load=load-m, address=address-m, out=memory-out);
}