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

fusesoc cores never been so much fun olof kindgren qamcom
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Who am I?

slide-3
SLIDE 3

What is FuseSoc?

FuseSoC is a package manager… ...and a build tool for HDL

slide-4
SLIDE 4

What is FuseSoc?

FuseSoC is a package manager… ...and a build tool for HDL

slide-5
SLIDE 5

Why use FuseSoc?

Increase portability Reduce maintenance “Focus on your core business, not your cores”

slide-6
SLIDE 6

FuseSoC is

the most used package manager non-intrusive modular extendable resourceful battle-proven

slide-7
SLIDE 7

Case : Target different tools

fusesoc run --target=sim serv

uses default simulator

fusesoc run --target=sim --tool=modelsim serv fusesoc run --target=sim --tool=xsim serv No changes needed. Some tool-specific setting needed

slide-8
SLIDE 8

FuseSoC Edalize

slide-9
SLIDE 9

FuseSoC VUnit CoCoTB ASIC flows? ...

slide-10
SLIDE 10

Kactus2 MyHDL Migen CLaSH IceStudio ... Edalize

slide-11
SLIDE 11

Tomorrow

  • Generators
  • Formal verification
  • Use flags
slide-12
SLIDE 12

Future

  • Librecores integration
  • Edalize everywhere
  • Industry standard - World domination
slide-13
SLIDE 13

?

? ? ?

?

?

?

?

?

? ?

?

?

Anyone?

slide-14
SLIDE 14

That’s it folks!

https://github.com/olofk/fusesoc http://fusesoc.net https://gitter.im/librecores/fusesoc

Don’t miss...

slide-15
SLIDE 15

Core description files (example)

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

  • "tool_verilator? (picorv32_wrapper)"
  • "!tool_verilator? (testbench)"
slide-16
SLIDE 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