Not appropriate for everything, but for most things I do, can't be beat.
I also wrote my own tool to design/spec/test such designs.