Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FuseSoC support #6

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Add FuseSoC support #6

wants to merge 1 commit into from

Conversation

olofk
Copy link

@olofk olofk commented Oct 21, 2021

This adds support for building the simulation model, linting and running
synthesis of OpenC910 using FuseSoC, as well as making it easier to
integrate in other FuseSoC-based designs.

To test this, first install FuseSoC

pip3 install fusesoc

Create an empty directory, enter it and add openc910 as a library

fusesoc library add openc910 https://github.com/T-head-Semi/openc910

(or if openc910 is already available locally, run)

fusesoc library add openc910 /path/to/openc910/repo

Check that FuseSoC can find the core

fusesoc core list

...and see some basic info...

fusesoc core show openc910

Build the simulation model with the default tool (icarus)

fusesoc run --target=sim openc910

...or with xsim...

fusesoc run --target=sim --tool=xsim openc910

...or Questa/ModelSim...

fusesoc run --target=sim --tool=modelsim openc910

Should hopefully also work with rivierapro, vcs, ncsim etc

Lint the code using Verilator

fusesoc run --target=lint openc910

...or run synthesis with Vivado...

fusesoc run --target=synth openc910

To target a specific part, run e.g. with

fusesoc run --target=synth openc910 --part=xc7a100tcsg324-1

Other synthesis tools have not yet been tested

Signed-off-by: Olof Kindgren [email protected]

This adds support for building the simulation model, linting and running
synthesis of OpenC910 using FuseSoC, as well as making it easier to
integrate in other FuseSoC-based designs.

To test this, first install FuseSoC

pip3 install fusesoc

Create an empty directory, enter it and add openc910 as a library

fusesoc library add openc910 https://github.com/T-head-Semi/openc910

(or if openc910 is already available locally, run)

fusesoc library add openc910 /path/to/openc910/repo

Check that FuseSoC can find the core

fusesoc core list

...and see some basic info...

fusesoc core show openc910

Build the simulation model with the default tool (icarus)

fusesoc run --target=sim openc910

...or with xsim...

fusesoc run --target=sim --tool=xsim openc910

...or Questa/ModelSim...

fusesoc run --target=sim --tool=modelsim openc910

Should hopefully also work with rivierapro, vcs, ncsim etc

Lint the code using Verilator

fusesoc run --target=lint openc910

...or run synthesis with Vivado...

fusesoc run --target=synth openc910

To target a specific part, run e.g. with

fusesoc run --target=synth openc910 --part=xc7a100tcsg324-1

Other synthesis tools have not yet been tested

Signed-off-by: Olof Kindgren <[email protected]>
@olofk
Copy link
Author

olofk commented Feb 6, 2022

ping

@CLAassistant
Copy link

CLAassistant commented Jul 24, 2023

CLA assistant check
All committers have signed the CLA.

@olofk
Copy link
Author

olofk commented Aug 9, 2023

Are there any steps remaining after signing the CLA?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants