Skip to content

Conversation

robtaylor
Copy link
Contributor

Complete rework of software generation support

This completely reworks software support for a much simpler model for
the user.

 * User needs add only one line to their design to generate software
   and one line to associate that software with their rom/flash storage

 * Drivers now live with their IPs. The driver information is
   communicated via the signature of the component

@robtaylor robtaylor requested review from lanserge and gatecat August 7, 2025 11:19
Copy link

github-actions bot commented Aug 7, 2025

Tests Skipped Failures Errors Time
49 11 💤 0 ❌ 0 🔥 2.121s ⏱️

Copy link

github-actions bot commented Aug 7, 2025

PR Preview Action v1.6.2

🚀 View preview at
https://chipflow-lib.docs.chipflow-infra.com/pr-preview/pr-136/

Built to branch gh-pages at 2025-09-11 11:45 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@robtaylor robtaylor changed the base branch from main to gen-sim-main August 7, 2025 16:12
@robtaylor robtaylor requested a review from gatecat August 7, 2025 16:53
@gatecat
Copy link
Contributor

gatecat commented Aug 11, 2025

@robtaylor can you create the corresponding chipflow-digital-ip PR for this? I don't think it's in place yet

@robtaylor
Copy link
Contributor Author

Needs to land along with ChipFlow/chipflow-digital-ip#34 and ChipFlow/chipflow-examples#56

@@ -487,6 +488,7 @@ def _prepare(self, elaboratable, name="top"):
return fragment.prepare(ports)

def build(self, elaboratable, name="top"):
warnings.simplefilter(action="ignore", category=UnusedElaboratable)
Copy link
Contributor

Choose a reason for hiding this comment

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

this seems like it might suppress useful warnings sometimes?

from ._annotate import submodule_metadata
from ..software.soft_gen import SoftwareGenerator

if TYPE_CHECKING:
Copy link
Contributor

Choose a reason for hiding this comment

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

what is this about?

This completely reworks software support for a much simpler model for
the user.

 * User needs add only one line to their design to generate software
   and one line to associate that software with their rom/flash storage

 * Drivers now live with their IPs. The driver information is
   communicated via the signature of the component
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