-
Notifications
You must be signed in to change notification settings - Fork 11
What is this
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 concise circuits. VGA output in less than 10 slices, anyone?
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.