1 of 21

F4PGA: Open Source Toolchain, Interchange

Format and More in New CHIPS Alliance Workgroup

CHIPS Spring Workshop 2022, 2022-04-19

Karol Gugala, kgugala@antmicro.com

Michael Gielda, mgielda@antmicro.com

2 of 21

ANTMICRO

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Founded in 2009, Antmicro provides commercial engineering services, open source platforms, tools and strategic R&D for high-tech products
  • Introducing new design methodologies and workflows based on open source
  • Comprehensive, end-to-end custom hardware and product development services

3 of 21

SCALING WITH OPEN SOURCE

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • We provide open source services to hyperscalers and large corporations, introducing new workflows and design methodologies based on open source
  • We help customers reap the benefits of next-gen platforms and open source: vertical integration, full control, portability, rapid iteration
  • We believe hardware developers can and should get the benefits of collaboration that open source software developers have!

4 of 21

​

CHIPS ALLIANCE

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • CHIPS Alliance’s breadth covers many of our focus areas: with our CHIPS partners and customers we work with development of open source cores, IP blocks and tools for RISC-V-based SoCs - cores and peripherals
  • As a Platinum Member we lead several tooling efforts, including the creation of the F4PGA Workgroup and the related development

5 of 21

CHIPS ALLIANCE WORKGROUPS

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

Tools

RISC-V DV

Chisel

Interconnects

Cores

​

​

Rocket

F4PGA

Analog

6 of 21

THE F4PGA WORKGROUP

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Established by CHIPS Alliance based on previous work known as SymbiFlow
  • F4PGA = FOSS Flow For FPGA
  • Goal: drive open source tooling, IP and �research efforts for FPGAs
  • Groups academia members, industry and �FPGA vendors
  • Focus on:
    • Open source toolchain for FPGAs (previously known as SymbiFlow)
    • FPGA Interchange Format
    • FPGA Perf Tool
    • Many more…

​

7 of 21

REPRESENTING MANY PERSPECTIVES

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Academia
    • research of new place and route algorithms, novel design approaches
    • organize internships, teach classes, extend toolchain in new directions
  • Industry
    • provide real use cases and requirements
    • improve robustness and reliability of toolchain
  • FPGA vendors
    • collaborate in building out ecosystem
    • reach end users
    • information, joint roadmaps and planning

8 of 21

CURRENT MEMBERS

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

9 of 21

F4PGA OPEN TOOLCHAIN

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Fully open source toolchain for FPGA development
  • Aims to provide an end-to-end FPGA flow, vendor-neutral
  • Makes FPGA development software-centric �and collaborative
  • Vital for research, prototyping, niche uses - toolchain openness allows adaptations for various cases
  • With open tools, we’re hoping FPGAs can become “mundane” part of future SoCs
  • Now part of CHIPS Alliance
  • https://f4pga.org/

​

​

10 of 21

F4PGA OPEN TOOLCHAIN

ENABLING DEVELOPMENT FOR EVERYONE

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Currently supported architectures:
    • Xilinx 7-Series,
    • QuickLogic EOS S3,
    • Lattice CrossLink NX,
    • Lattice iCE40,
    • Lattice ECP5 FPGAs,
    • More to come...

​

​

11 of 21

F4PGA OPEN TOOLCHAIN

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

12 of 21

FPGA INTERCHANGE FORMAT

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Common format for describing FPGA architecture
  • Bridging open and proprietary FPGA tools for easier interop
  • Lowers barriers to developing new open source tools and new approaches to partial dynamic reconfiguration, exploration of different place & route algorithms, etc.
  • Developed in collaboration between Antmicro, Google and Xilinx (now AMD)

13 of 21

FPGA INTERCHANGE FORMAT

SPECIFICATION

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • The format is described via a set of schemas defined using the Cap'n'Proto library schema language.
  • The library was chosen as it allows for generating consistent data access API while supporting multiple programming languages and being cross-platform.
  • All the schemas are available in the GitHub repository: https://github.com/chipsalliance/fpga-interchange-schema

14 of 21

FPGA INTERCHANGE FORMAT

SPECIFICATION

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Define various aspects of the data used by FPGA toolchain
    • Device resources
    • Logical netlist - a synthesized design
    • Physical netlist - placed and routed designs
  • Each step is “interchangeable” between tools supporting the format

struct PhysNetlist {

​

part @0 : Text;

placements @1 : List(CellPlacement);

physNets @2 : List(PhysNet);

physCells @3 : List(PhysCell);

strList @4 : List(Text) $hashSet();

siteInsts @5 : List(SiteInstance);

properties @6 : List(Property);

nullNet @7 : PhysNet;

​

struct PinMapping {

cellPin @0 : StringIdx $stringRef();

bel @1 : StringIdx $stringRef();

belPin @2 : StringIdx $stringRef();

isFixed @3 : Bool;

union {

multi @4 : Void;

otherCell @5 : MultiCellPinMapping;

}

}

​

struct MultiCellPinMapping {

multiCell @0 : StringIdx $stringRef();

multiType @1 : StringIdx $stringRef();

}

15 of 21

FPGA INTERCHANGE FORMAT �ADOPTION AND PLANS

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Adoption
    • Xilinx RapidWright
    • nextpnr
  • Q2
    • VPR/VTR
    • Yosys
  • Read more
    • Blog by Xilinx (AMD)
    • Blog by Google/Antmicro

16 of 21

FPGA PERF TOOL

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Tool by Antmicro to analyzes various FPGA tools for Synthesis and Place & Route (both open source and proprietary)
  • Measures tool performance (MHz, resources, runtime, etc), runtime and quality of results
  • Tells you how well your design is faring over time to detect regressions
  • Repository
  • Dashboard

17 of 21

FPGA DATABASE VISUALIZER

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • Interactively visualize the F4PGA databases
  • Learn more about the FPGA’s internal structure to devise more efficient ways to program them
  • Generated by a library allowing you to visualize arbitrary tile-based FPGAs

18 of 21

MORE F4PGA PROJECTS

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

​

19 of 21

SUMMARY

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

  • CHIPS Alliance is building an open source hardware ecosystem (FPGA & ASIC)
  • The Interchange Format shows that collaboration between many entities - including FPGA vendors - is not only possible but a necessity
  • We would want to “transplant” this success also to ASIC domain - interoperability formats are great!
  • Practical use cases of F4PGA are possible already now (vendor tooling, IP, research)
  • Enabling rapid prototyping and software-driven development of FPGA-based systems in �areas such as ML and video processing

​

20 of 21

JOIN US

​

F4PGA: Open Source Toolchain, Interchange Format and More

​

​

​

​

21 of 21

THANK YOU

FOR YOUR ATTENTION!