The SimulAVR program is a simulator for the Atmel AVR family of microcontrollers. (ATtiny and ATmega) SimulAVR can be used either standalone or as a remote target for avr-gdb. There is a python- and Tcl interface.
See also Arduino for an (eco-)system making heavy use of the AVR controller family.
See also http://reprap.org/wiki/SimulAVR#TCL_Examples