olof kindgren qamcom research & much fun …supported tools synthesis/p&r support with...
TRANSCRIPT
![Page 1: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/1.jpg)
FuseSoc - cores never been so much fun
Olof KindgrenQamcom Research & Technology, FOSSi Foundation
![Page 2: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/2.jpg)
Who am I?
![Page 3: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/3.jpg)
What is FuseSoc?
FuseSoC is a package manager…
...and a build tool for HDL
![Page 4: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/4.jpg)
What is FuseSoc?
FuseSoC is a package manager… ...and a build tool for HDL
![Page 5: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/5.jpg)
Why use FuseSoc?
Increase portability
Reduce maintenance
“Focus on your core business, not your cores”
![Page 6: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/6.jpg)
FuseSoC isthe most used package manager
non-intrusive
modular
extendable
resourceful
battle-proven
![Page 7: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/7.jpg)
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
![Page 8: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/8.jpg)
FuseSoC Edalize
![Page 9: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/9.jpg)
FuseSoC VUnitCoCoTBASIC flows?...
![Page 10: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/10.jpg)
Kactus2MyHDLMigenCLaSHIceStudio...
Edalize
![Page 11: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/11.jpg)
Tomorrow● Generators
● Formal verification
● Use flags
![Page 12: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/12.jpg)
Future● Librecores integration
● Edalize everywhere
● Industry standard - World domination
![Page 13: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/13.jpg)
? ??
?
?
??
? ?
??
??
Anyone?
![Page 14: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/14.jpg)
That’s it folks!https://github.com/olofk/fusesochttp://fusesoc.nethttps://gitter.im/librecores/fusesoc
Don’t miss...
![Page 15: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/15.jpg)
Core description files (example)name : ::picorv32:0-r1filesets: 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 : strdefault : 1paramtype : 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)"
![Page 16: Olof Kindgren Qamcom Research & much fun …supported tools Synthesis/P&R support with icestorm, ise, quartus, trellis, vivado Simulations with ghdl, icarus, isim, modelsim, rivierapro,](https://reader030.vdocuments.net/reader030/viewer/2022040208/5e2587d09ed1945823730a62/html5/thumbnails/16.jpg)
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