Skip to content

Topology Port Export Spec #748

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

Open
wants to merge 1 commit into
base: feature/topology-ports
Choose a base branch
from

Conversation

Kronos3
Copy link
Collaborator

@Kronos3 Kronos3 commented Jun 18, 2025

My initial pass at a spec for exporting topology ports.

TODO:

  • Update wiki

Closes #744

@Kronos3
Copy link
Collaborator Author

Kronos3 commented Jun 18, 2025

Some open questions for @bocchino

  • Currently this spec states that you must import a topology to be able to connect to ports exported from the topology. Thinking ahead to sub-topologies, I'm not sure if this is right. I think that composing topologies should potentially be done another way:

Without re-usable sub-topologies

topology T1 {
 instance i

 export i.p[0] as schedIn
}

topology T2 {
  # Not sure of an exact syntax, but something to denote that we are bringing in a topology without doing a full white-box import
  topology T1   
}

With re-usable subtopologies

topology T1(constant baseId) {
  instance i1: Component base id baseId + 0
  instance i2: Component base id baseId + 0x20

  connections {
    # ... internal connections ...
  }

  export i1.port as externalPort1
  export i2.port as externalPort2
}

topology T2 {
  topology t1 = T1(0xA)
  topology t2 = T1(0xB)

  connections {
    t1.externalPort1 -> t2.externalPort2
  }
}

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.

1 participant