add Computer.hdl
This commit is contained in:
parent
57ddecf2a9
commit
e6df3495f2
42
projects/05/Computer.hdl
Normal file
42
projects/05/Computer.hdl
Normal file
@ -0,0 +1,42 @@
|
||||
// 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:
|
||||
// Put your code here:
|
||||
|
||||
ROM32K(
|
||||
address=addressI,
|
||||
out=instruction);
|
||||
|
||||
Memory(
|
||||
in=outM,
|
||||
load=writeM,
|
||||
address=addressM,
|
||||
out=inM);
|
||||
|
||||
CPU(
|
||||
inM=inM,
|
||||
instruction=instruction,
|
||||
reset=reset,
|
||||
outM=outM,
|
||||
writeM=writeM,
|
||||
addressM=addressM,
|
||||
pc=addressI);
|
||||
}
|
Loading…
Reference in New Issue
Block a user