Most FPGAs support JTAG.
This project comes with a tutorial source code written in C to be used with a Xilinx parallel-III or Altera ByteBlasterMV/II cable. Get it here.