Another option for low-level FPGA hacking is to use the FPGA editor. Here's a
tutorial. You can start out with an existing Verilog/VHDL design, and then open it up in the FPGA editor to see how it's implemented, and to make changes. I haven't used it myself yet, but I'm planning to try it on my next FPGA project. My plan is to start with a really trivial design, and use the FPGA editor to understand the slice structure better, and see what synthesis produces.
The FPGA editor is also a useful tool when you want to make a simple design change, such as experimenting with IODELAY or DCM parameters without having to resynthesize the whole design.
Of course, the FPGA editor is also a useful companion to fpgasm hacking, as you an visually inspect what your code produces.