Other design exercises should include the use of multiplexers to perform complex logic on a single chip, and the use of adders and 2,s complement addition and subtraction. Sequential circuits should be designed using individual flipflops and registers. Both serial and parallel data transfer should be included. Students learn how logic functions are implemented in combinational and sequential circuits. These exercises show data transfer in algorithmic state machines.
Students use tristates, including timing diagrams, to route data.
Design is stressed, so that students develop a proper attitude toward design for reliability. Exercises include programming at the assembly language level, detecting errors, and using a debugger. Ideally, students should have access to an independent laboratory, in order to minimize interference with other activities. Some of this work can be done with simulators. Experiments on standalone equipment can be devised to demonstrate synchronization and handshaking protocols.