Skip to content

Add FuseSoC support for building verilator model

Eclipse Webmaster requested to merge github/fork/olofk/fusesoc into master

Created by: olofk

This adds FuseSoC support for building and running the verilator model of Ariane (a.k.a. Saturn-V). Before this works, it needs FuseSoC support for the core dependencies (https://github.com/pulp-platform/axi_mem_if/pull/1 and https://github.com/pulp-platform/uvm-components/pull/1)

Once this is done, the FuseSoC support can be tested by first creating a workspace directory and register the libraries by running

fusesoc library add axi_mem_if https://github.com/pulp-platform/axi_mem_if
fusesoc library add uvm-components https://github.com/pulp-platform/uvm-components
fusesoc library add ariane https://github.com/pulp-platform/ariane

or, alternatively if the repos are already on disk and you want to use those instead, add

[library.axi_mem_if]
location = /path/to/repo

[library.uvm-components]
location = /path/to/repo

[library.ariane]
location = /path/to/repo

If all repos exist under a common directory it's enough to add

[library.pulp_cores]
location = /path/to/parent/directory

To list all targets supported by the ariane core, run fusesoc core-info ariane. Currently the only supported target is verilator. To build and run a simulation in one step, use fusesoc run --target=verilator ariane -p /path/to/elf/file. To only build, run fusesoc build --target=verilator ariane. This model can then be run without rebuilding with fusesoc run --run --target=verilator ariane -p /path/to/elf/file

Merge request reports

Loading