Tim [Mithro] Ansell has a lot to tell you about the current state of open FPGA tooling ... from a higher-level language to a bitstream is a lot like compiling normal programming languages ...
Prior knowledge needed: ECEA 5360 Introduction to FPGA Design for Embedded Systems, ECEA 5361 Hardware Description Languages for FPGA Design, knowledge of assembly and C Programming, Digital Logic ...