What's a good text for learning to program these? (Or perhaps series of texts, as my knowledge of electronics and computational hardware is very superficial.)
In grad school, I took a configurable computing course in the ECE department. I'm a CS guy - I had never done any hardware design before. You may benefit from reading over my short writeups of the assignments: http://people.cs.vt.edu/~scschnei/ece5530/
I recall that in trying to describe the impact of the web to typical business folks, Douglas Adams compared it to trying to explain the ocean to a river: first, you have to understand that river rules no longer apply. Hardware is similar. First, you have to understand that software rules no longer apply. If you dive into this even a little, I predict you will be shocked (much as I was) how much of your concept of "computation" is tied up in sequential, memory-hierarchy based processors.
Good way to start is to learn one of the hardware description languages.
I liked the book by Pong P. Chu "FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version".
The same book is also available for Verilog, which is another HDL.
Later on you can take a look into higher level HDLs, since creating hardware in VHDL and Verilog is tedious.
It might be tedious, but as an EE, I've never seen or heard of anyone using anything besides VHDL and Verilog to describe digital hardware designs. What sort of high level HDLs do people typically use, and for what purpose?
The article mentioned AutoESL, which compiles C, C++, or SystemC to Verilog/VHDL. This allows you to focus on the algorithmic, or behaviorial level. The advantages are plenty, but the main drawback is that it is one more level abstracted away from the hardware..