FPGAsm is to HDLs (Verilog,VHDL) is what assembly language is to C++.
FPGAsm allows you to create, place and wire up modules of your own design. In order to program in assembly language, you need to understand the processor programming model and the instruction set. Similarly, FPGAsm requires that you have a decent understanding of the FPGA (not verilog or VHDL), its layout and its primitives. It is not that difficult.
You will create modules that contain other modules or FPGA primitives. Eventually you will wind up with a 'top' module. In well under a second FPGAsm will generate an XDL file describing your circuit. You will then use the Xilinx tools to route, generate the bitstream and configure your FPGA. Then entire process takes about 10 seconds for the simple tests here.
An assembler allows you to create optimal code; FPGAsm allows you to create incredibly consice circuits. VGA output in less than 10 slices, anyone? You will probably spend a lot of time fiddling with and tightening up your circuits by looking at them with the Xilinx FPGA Editor (which is a great learning resouce).
Using FPGAsm is a very different experience compared to other HDLs. It is a craft, and perhaps an art. I sincerely hope that you get as much joy from using FPGAsm as I do, and perhaps contribute to our open source community.
See the [Home] page for FPGAsm in a nutshell or proceed to Documentation [Table Of Contents]