Skip to content

WIP: Merges for documentation and to support LIFCL 33/33U#49

Open
jdavidberger wants to merge 29 commits intogatecat:masterfrom
jdavidberger:master
Open

WIP: Merges for documentation and to support LIFCL 33/33U#49
jdavidberger wants to merge 29 commits intogatecat:masterfrom
jdavidberger:master

Conversation

@jdavidberger
Copy link

The changes here are related to:

  • Updated documentation
  • Support for adding new platform types in general
  • Support for platforms LIFCL 33/33U
  • Somewhat faster fuzzing -- mostly by cacheing more things

@jdavidberger jdavidberger changed the title Merges for documentation and to support LIFCL 33/33U WIP: Merges for documentation and to support LIFCL 33/33U Jan 28, 2026
This serves as a master listing of each device and metadata associated with that device:

- packages: Comes from various lattice documentation, can also be seen by looking at the radiant device selection dialog.
- frame metadata: There are various necessary peices of data here. All are available in the "sysCONFIG Guide for Nexus Platform" document from the lattice website.
Copy link
Owner

Choose a reason for hiding this comment

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

might be nice to expand this a bit more?

Copy link
Owner

Choose a reason for hiding this comment

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

there was a degree of caution not to pick a tile too close to the edge of the device because that could falsely cause some extra edge routing to be included, have you checked this?

"PIOA.SEIO18.BASE_TYPE" => vec![Bel::make_seio18(0)],
"PIOB.SEIO18.BASE_TYPE" => vec![Bel::make_seio18(1)],
"PIOA.DIFFIO18.BASE_TYPE" => vec![Bel::make_diffio18()],
"PIOB.DIFFIO18.BASE_TYPE" => vec![Bel::make_diffio18()],
Copy link
Owner

Choose a reason for hiding this comment

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

I don't think PIOB.DIFFIO18 should ever happen?

Copy link
Author

Choose a reason for hiding this comment

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

I don't think so either, will remove

if in_metadata && self.check_preamble(&COMMENT_END) {
if curr_meta.len() > 0 {
self.metadata.push(curr_meta.to_string());
if curr_meta.is_ascii() {
Copy link
Owner

Choose a reason for hiding this comment

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

looks like spaces and tabs got mixed here?

Copy link
Owner

Choose a reason for hiding this comment

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

I think we shouldn't scrape descriptions from the lattice html unfortunately. It creates a theoretical copyright issue (as this is text rather than just a raw fact about an FPGA) particularly when they often reference weird lattice internal things, even if they're public facing docs.

Copy link
Author

Choose a reason for hiding this comment

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

I've removed the ones from the primitives.py file, but made it so definitions that get scraped in from the web docs have the lattice descriptions. Not sure if this is good enough or not; easy enough to keep them out altogether if needed though

@jdavidberger
Copy link
Author

I increased the scope by a decent margin; I added overlays and a general purpose pip solver. Probably the big thing now is making sure the overlays / 000 fuzzer make sense and are documented well enough.

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

Comments