Skip to content

Add Flow API and nextpnr support for Cologne Chip GateMate FPGAs#489

Open
GMM-7550 wants to merge 2 commits into
olofk:mainfrom
GMM-7550:gmm7550_nextpnr
Open

Add Flow API and nextpnr support for Cologne Chip GateMate FPGAs#489
GMM-7550 wants to merge 2 commits into
olofk:mainfrom
GMM-7550:gmm7550_nextpnr

Conversation

@GMM-7550
Copy link
Copy Markdown

Cologne Chip GateMate FPGA support is updated from the proprietary p_r tool to nextpnr and migrated from the old Tool API to the Flow API

Copy link
Copy Markdown
Owner

@olofk olofk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! A few things that need to be fixed and I would appreciate some simple tests also. Looks great otherwise.

Comment thread edalize/flows/gatemate.py
Comment thread edalize/flows/gatemate.py
}},
"nextpnr": {"deps": ["yosys"],
"fdto": {"arch": "gatemate",
"nextpnr_options": ["--router router2"],
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this option strictly needed? We try to avoid hardcoding any options unless necessary since that makes it harder for users to change to another value.

Comment thread edalize/gatemate.py
"-lib",
"ccag",
" ".join(self.tool_options.get("p_r_options", "")),
"$(NEXTPNR)",
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to just have nextpnr-himbaechel here directly. This allows us to run a containerized version of nextpnr through the EDALIZE_LAUNCHER mechanism like we can do with the other nextpnr versions already.

Comment thread edalize/gatemate.py
commands.add(command, [cfg_target], [synth_out])

commands.set_default_target(targets)
commands.add_var("GMPACK := $(shell which gmpack)")
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use gmpack directly. We can use an EDALIZE_LAUNCHER to override the name if we want instead.

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.

3 participants