Been a while since I've been running this, but you can patch something together with GHDL [0] (or Xilinx's simulation suite (ISim)).
Define your circuit with VHDL/Verilog, create a testbench, run the scripts and export to VCD, and then look at the waveforms with GTKwave [1] or your waveform viewer of choice.