Open source tools for FPGA development
What is available? What is missing? How can we contribute? Francesco Robino
FOSS-Sthlm #16
- F. Robino (FOSS-Sthlm #16)
Open source tools for FPGA development 04-06-2015 1 / 18
Open source tools for FPGA development What is available? What is - - PowerPoint PPT Presentation
Open source tools for FPGA development What is available? What is missing? How can we contribute? Francesco Robino FOSS-Sthlm #16 F. Robino (FOSS-Sthlm #16) Open source tools for FPGA development 04-06-2015 1 / 18 Overview of the talk Goal
Open source tools for FPGA development 04-06-2015 1 / 18
Open source tools for FPGA development 04-06-2015 2 / 18
Open source tools for FPGA development 04-06-2015 3 / 18
Open source tools for FPGA development 04-06-2015 4 / 18
SPI CONTROLLER MEMORY
Open source tools for FPGA development 04-06-2015 5 / 18
Open source tools for FPGA development 04-06-2015 6 / 18
Open source tools for FPGA development 04-06-2015 7 / 18
Open source tools for FPGA development 04-06-2015 8 / 18
SYNTHESIS PACK - MAP PLACE ROUTE BITSTREAM CODE SIMULATE
Editors: emacs vhdl-mode, vim, ... Auto documentation: doxygen, vhdocl, vhdl-dot * ghdl (when the design entry is VHDL) * iverilog (when the design entry is Verilog) * Yosys * Vtr front-end: OdinII - ABC .edif with annotated primitives * Vtr back-end: vpr (theoretical architectures) * Arachne-pnr (only ice40) * Torc: analyze edif and fine grain (architecture) .ncd (CLBs,IOBs), customized for a specific Xilinx FPGA family. Can be transl to .xdl * Torc: analyze xdl and fine grain (physical) .ncd (CLBs,IOBs placed an routed), customized for a specific Xilinx FPGA. Can be transl to .xdl * Torc: analyze xdl and fine grain (physical) * Project icestorm (only ice40) * Fpgatools (only Spartan6 xc6slx9)
Netlist
IBUF IBUF LUT IBUFG FD OBUF LUT FD OBUF
L U T L U T F D F D
* Vtr back-end: vpr (theoretical architectures) * Arachne-pnr (only ice40)
L U T L U T F D F D
Slice#1 Slice#2
CLB
Open source tools for FPGA development 04-06-2015 9 / 18
MUX2 MUX2 Inputs SEL A B SEL_s A_s F_s SEL A B F E G G1 SEL A INV F MUX2 Outputs F E G
Open source tools for FPGA development 04-06-2015 10 / 18
Open source tools for FPGA development 04-06-2015 11 / 18
1 Generic hardware generation (HDL to generic HW such as
2 Logic optimization: remove redundant logic expressions,... 3 Binding to FPGA primitives (e.g. LUTs, MUL,...) of the target FPGA
Open source tools for FPGA development 04-06-2015 12 / 18
Open source tools for FPGA development 04-06-2015 13 / 18
Open source tools for FPGA development 04-06-2015 14 / 18
Open source tools for FPGA development 04-06-2015 15 / 18
Open source tools for FPGA development 04-06-2015 16 / 18
Open source tools for FPGA development 04-06-2015 17 / 18
Open source tools for FPGA development 04-06-2015 18 / 18