A traditional approach to constructing a discrete event simulation model for the LC3 would be very easy to implement and understand. Each device in the system would receive input– changed events whenever any input value changed, and that device would calculate some rise-time and propagation delay values within the device, and then schedule an input–changed event for all directly connected outputs again adding some small speed–of–light delay to account for delay on the wires. We did in fact implement such an approach as discussed later. We refer to this approach as the Push–Model, as each device pushes new inputs to all other directly connected devices