Skip to content

jsl/si/signal-ends

Package name: jsl/si/signal-ends

Signal Ends

With signal integrity topologies, it is often necessary to expose the actual component signal endpoint of a topology without changing the design module hierarchy. The functions in this package are intended to help in this case.

TODO - Add a specific example here and a diagram. We should consider using the USB-C to A converter design and renders showing the shortcoming and how this helps us solve that issue.

Summary

NoSignalEndError

Constructors

Function Description
NoSignalEndError Constructor for defstruct NoSignalEndError

Functions

Function Description
NoSignalEndError

General Definitions

Function Description
set-signal-end Set the Signal End Property for a Topology Port
find-signal-end Find the signal end associated with this module port
get-signal-end Get the Signal End Property of a Topology Port

Definitions

NoSignalEndError

public defstruct NoSignalEndError <: Exception
    port-name: String

  • port-name: String

Constructors

NoSignalEndError

Constructor for defstruct NoSignalEndError

public defn NoSignalEndError (port-name:String)

Functions

NoSignalEndError

public defn NoSignalEndError (conn:JITXObject) -> NoSignalEndError

  • Returns NoSignalEndError

General Definitions

set-signal-end

Set the Signal End Property for a Topology Port

public defn set-signal-end (conn:JITXObject, sig-end:JITXObject)

  • conn: JITXObject - A public port of a pcb-module for which we need to publish an endpoint.
  • sig-end: JITXObject - This is the component/module port or abstract port to expose as the signal end.

Many times, a module may not expose the end point of a topology on its port. We might have pull-up/down resistors, blocking caps, or other components in series.

This function allows us to publish the true endpoint of the topology via a property statement.

This function is typically only used inside the module that is providing the endpoint of the topology.

find-signal-end

Find the signal end associated with this module port

public defn find-signal-end (conn:JITXObject) -> JITXObject

  • Returns JITXObject - The signal end port for this topology. In most applications, this is a Pin object from a pcb-component instance.

This function is recursive.

This function searches through a tree of pcb-module ports to find the physical signal end port on a component. The first port found that does not have a signal-end property will be assumed to be the signal end.

get-signal-end

Get the Signal End Property of a Topology Port

public defn get-signal-end (conn:JITXObject) -> JITXObject

  • conn: JITXObject - Pin object from a pcb-module
  • Returns JITXObject - The signal end port for this topology. In most applications, this is a Pin object from a pcb-component instance.
  • Throws NoSignalEndError - When the passed port object does not have a defined signal-end.

This function returns the port that is the end of the signal topology we are attempting to inspect. This will typically be a port from an internal component or abstract port.

Related Packages

Forwarded by package: jsl/si