Lecture 5: Logic Simulation