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); } |