Using Java to design and test hardware circuits over a classroom network

A crucial part of the Computer Organization course is the design and analysis of hardware circuits. To teach this part of the course efficiently and to involve the entire class in the design of circuits, we have designed the SCAN system. Starting with a textual specification of a circuit, SCAN generates Java classes that can be used to simulate the way the circuit works. These circuits can be simulated locally or can join with other circuits to simulate larger machine function over a network. This paper describes the SCAN system, the Java classes it generates, and the way we use this in the Computer Organization class.