The performance and efficiency of event-driven simulations, such as VHDL and Verilog simulation, depend on the number of events that occur during the simulation. In this paper, we classify events into two categories, sensitive events and insensitive events, according to the necessity of simulations, and show classification algorithms for both combinational circuits and sequential circuits. We also implement the optimization methodology that eliminates unnecessary simulation activity caused by the insensitive events. VHDL programs can be rewritten by augmenting suppressed sensitivity lists. Experiments show that the optimized VHDL programs run almost two times faster than the original ones.