I have just downloaded QSpice, which is free, and it appears to be written by one of the authors of LTSpice. It appears more flexible than standard SPICE in that it allows the direct entry of either C++ code or Verilog into modules which it then compiles into a custom DLL for the simulation. A link to the video is included.