Skip to content
This repository was archived by the owner on Jul 23, 2021. It is now read-only.

What is this

stacksmith edited this page Sep 30, 2012 · 6 revisions

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.

Home

Clone this wiki locally