abstractaccelerator/configs
Olof Kindgren 63e74e2391 Add initial FuseSoC support
This adds support for using SweRV with FuseSoC. For SweRV itself, it allows linting with verilator running simulations with the provided testbench using most available simulators and doing synthesis for resource usage analysis with Vivado. It also allows SweRV to be integrated into FuseSoC-built SoCs, such as [SweRVolf](https://github.com/chipsalliance/Cores-SweRVolf)

**Quickstart**

1. Install [FuseSoC](https://github.com/olofk/fusesoc) and Verilator
2. Create an empty workspace directory. All subsequent commands are run from this directory
3. Add SweRV as FuseSoC library `fusesoc library add swerv https://github.com/chipsalliance/Cores-SweRV`
4. Run linting with Verilator `fusesoc run --target=lint chipsalliance.org:cores:SweRV_EH1`
5. Run testbench with default simulator (Verilator) `fusesoc run --target=sim chipsalliance.org:cores:SweRV_EH1`
6. Run testbench with another supported simulator (e.g. ModelSim) `fusesoc run --target=sim --tool=modelsim chipsalliance.org:cores:SweRV_EH1`
7. Run synthesis with Vivado `fusesoc run --target=synth chipsalliance.org:cores:SweRV_EH1`

* configs/swerv_config_gen.py is a wrapper around `configs/swerv.config` to dynamically create a SweRV configuration by setting parameters in the FuseSoC .core file
* swerv.core is the FuseSoC core description file
* tools/vivado.tcl marks `common_defines.vh` as a global include file when using Vivado
2020-02-24 21:28:54 +01:00
..
README.md Version 1.5 2020-02-19 18:25:04 -08:00
swerv.config Version 1.5 2020-02-19 18:25:04 -08:00
swerv_config_gen.py Add initial FuseSoC support 2020-02-24 21:28:54 +01:00

README.md

SweRV RISC-V core from Western Digital

Configuration

Contents

Name Description
swerv.config Configuration script for SweRV

This script will generate a consistent set of `defines/#defines needed for the design and testbench.
A perl hash (perl_configs.pl) and a JSON format for SweRV-iss are also generated.

$RV_ROOT/configs/swerv.config -h will provide options for the script.

While the defines files may be modified by hand, it is recommended that this script be used to generate a consistent set.