Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added gatemate vendor and Updated init file #1460
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
base: main
Are you sure you want to change the base?
Added gatemate vendor and Updated init file #1460
Changes from 1 commit
fd61e4d
0580d1a
95bea8a
ceeca1f
1eb3001
e3e65f8
4a2b7da
ed3f252
857d8e7
c3b8f9c
231bbda
59861aa
9c0e84b
3760be1
0505ca5
9a82d53
f639850
006ca56
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see how this would happen as nothing in this file touches
CC_TOOL
. There is a default behavior that will use theplatform.toolchain
property (defined here to beGateMate
) to deriveAMARANTH_ENV_GATEMATE
from it.If you wanted to use
CC_TOOL
to populale the environment you have to write a custom template for the shell and batch scripts, which is possible but finicky and requires extensive testing and especially careful coding.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed
CC_TOOL
toAMARANTH_ENV_GATEMATE
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just realized that nothing in the platform file is using these variables. In that case they should be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deleted those lines
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For a Yosys-based platform, you should output a
.il
file, not a.v
one.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added
Instead of
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no
iter_clock_constraints
function in themain
branch (you can grep it with zero hits), how did you testsdc
generation functionality?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't test the .sdc function, to be honest. I based this part of the on the
_quicklogic.py
vendor.What do I need to do here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to make sure that a clock constraint, as specified in your board file at least, is actually applied. Whether a clock constraint is applied or not can be seen in the report of the PNR tool, in a format described in the vendor's documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I searched through the documentation and couldn't find a clock constraint file anywhere.

This is the workflow.
I will ask a question on our github about the clock constraints
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That has a clock constraint file in the top right, as I would expect.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that is their pin constraint file, the
.ccf
file?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Yosys script should be another generated file.
-q
should only be given if requested by the end user.You can copy the Yosys invocation (both the file template and the command template) from the SiliconBlue platform and modify it to fit GateMate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have tried this now, but I get some errors that the top module is missing. I will try to resolve tomorrow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no log directory any more. The redirection should probably be something like this:
The
.rpt
/.tim
extension is something we've been using for Yosys based platforms and isn't set in stone, but it's nice to have consistency.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't look right--you aren't using
osc_div
andosc_freq
anywhere in the instantiation andqlal4s3b_cell_macro
is a QuickLogic primitive. Do GateMate FPGAs have any internal oscillator at all, like RC oscillator or ring oscillator? If not then thecreate_missing_domain
function should only use an async reset synchronizer, or possibly just be absent.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From what I have read on their documentation for the CCGM1A1 Chip, there are no oscillators(ring or RC) on the chip.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then you don't need any implementation of
create_missing_domain
ordefault_clk_constraint
at all.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed
create_missing_domain
anddefault_clk_constraint
.