fusesoc cores never been so much fun olof kindgren qamcom
play

FuseSoc - cores never been so much fun Olof Kindgren Qamcom - PowerPoint PPT Presentation

FuseSoc - cores never been so much fun Olof Kindgren Qamcom Research & Technology, FOSSi Foundation Who am I? What is FuseSoc? FuseSoC is a package manager ...and a build tool for HDL What is FuseSoc? FuseSoC is a package manager


  1. FuseSoc - cores never been so much fun Olof Kindgren Qamcom Research & Technology, FOSSi Foundation

  2. Who am I?

  3. What is FuseSoc? FuseSoC is a package manager… ...and a build tool for HDL

  4. What is FuseSoc? FuseSoC is a package manager… ...and a build tool for HDL

  5. Why use FuseSoc? Increase portability Reduce maintenance “Focus on your core business, not your cores”

  6. FuseSoC is the most used package manager non-intrusive modular extendable resourceful battle-proven

  7. Case : Target different tools uses default simulator fusesoc run --target=sim serv No changes Some tool-specific needed. setting needed fusesoc run --target=sim --tool=xsim serv fusesoc run --target=sim --tool=modelsim serv

  8. FuseSoC Edalize

  9. FuseSoC VUnit CoCoTB ASIC flows? ...

  10. Kactus2 MyHDL Edalize Migen CLaSH IceStudio ...

  11. Tomorrow ● Generators ● Formal verification ● Use flags

  12. Future ● Librecores integration ● Edalize everywhere ● Industry standard - World domination

  13. ? ? ? ? ? ? ? ? Anyone? ? ? ? ? ?

  14. That’s it folks! https://github.com/olofk/fusesoc http://fusesoc.net https://gitter.im/librecores/fusesoc Don’t miss...

  15. Core description files (example) name : ::picorv32:0-r1 targets : filesets: default: rtl: filesets: [rtl] files: [picorv32.v] test: file_type : verilogSource default_tool: icarus tb: filesets: [rtl, tb, "tool_verilator? (tb_verilator)"] files: [testbench.v] parameters: [COMPRESSED_ISA, firmware] file_type : verilogSource toplevel: tb_verilator: - "tool_verilator? (picorv32_wrapper)" files: [testbench.cc : {file_type : cppSource }] - "!tool_verilator? (testbench)" parameters: firmware: {datatype : file, paramtype : plusarg} COMPRESSED_ISA: datatype : str default : 1 paramtype : vlogdefine

  16. supported tools ● Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado ● Simulations with ghdl, icarus, isim, modelsim, rivierapro, vcs, verilator, xsim ● Linting with spyglass, verilator ● In the works ○ Lattice Diamond, icecube2, radiant ○ ncsim ○ Formal verification with symbiyosys

Recommend


More recommend