JavArch is a simple gate-level and above simulator. It is written in Java so it is portable and uses Java's builtin event-driven mechanisms to reflect how electronics actually work.
The jar file is available at: http://sourceforge.net/projects/javarch/