sax.netlist module#
SAX netlist parsing and utilities
- netlist(dic)[source]#
return a netlist from a given dictionary
- Parameters:
dic (Dict) –
- Return type:
- class Component(*, component, settings=None, info=None)[source]#
Bases:
_BaseModel
- Parameters:
component (Union[str, Dict[str, Any]]) –
settings (Optional[Dict[str, Any]]) –
info (Optional[Dict[str, Any]]) –
- class Config[source]#
Bases:
object
- extra = 'ignore'#
- allow_mutation = False#
- frozen = True#
- json_encoders = {<class 'numpy.ndarray'>: <function Component.Config.<lambda>>}#
- component: Union[str, Dict[str, Any]]#
- settings: Optional[Dict[str, Any]]#
- info: Optional[Dict[str, Any]]#
- class PortEnum(value)[source]#
Bases:
Enum
An enumeration.
- ce = 'ce'#
- cw = 'cw'#
- nc = 'nc'#
- ne = 'ne'#
- nw = 'nw'#
- sc = 'sc'#
- se = 'se'#
- sw = 'sw'#
- center = 'center'#
- cc = 'cc'#
- class Placement(*, x=0, y=0, xmin=None, ymin=None, xmax=None, ymax=None, dx=0, dy=0, port=None, rotation=0, mirror=False)[source]#
Bases:
_BaseModel
- Parameters:
x (Optional[Union[str, float]]) –
y (Optional[Union[str, float]]) –
xmin (Optional[Union[str, float]]) –
ymin (Optional[Union[str, float]]) –
xmax (Optional[Union[str, float]]) –
ymax (Optional[Union[str, float]]) –
dx (Optional[float]) –
dy (Optional[float]) –
port (Optional[Union[str, PortEnum]]) –
rotation (Optional[int]) –
mirror (Optional[bool]) –
- class Config[source]#
Bases:
object
- extra = 'ignore'#
- allow_mutation = False#
- frozen = True#
- json_encoders = {<class 'numpy.ndarray'>: <function Placement.Config.<lambda>>}#
- x: Optional[Union[str, float]]#
- y: Optional[Union[str, float]]#
- xmin: Optional[Union[str, float]]#
- ymin: Optional[Union[str, float]]#
- xmax: Optional[Union[str, float]]#
- ymax: Optional[Union[str, float]]#
- dx: Optional[float]#
- dy: Optional[float]#
- rotation: Optional[int]#
- mirror: Optional[bool]#
- class Route(*, links, settings=None, routing_strategy=None)[source]#
Bases:
_BaseModel
- Parameters:
links (Dict[str, str]) –
settings (Optional[Dict[str, Any]]) –
routing_strategy (Optional[str]) –
- class Config[source]#
Bases:
object
- extra = 'ignore'#
- allow_mutation = False#
- frozen = True#
- json_encoders = {<class 'numpy.ndarray'>: <function Route.Config.<lambda>>}#
- links: Dict[str, str]#
- settings: Optional[Dict[str, Any]]#
- routing_strategy: Optional[str]#
- class Netlist(*, instances, connections=None, ports=None, placements=None)[source]#
Bases:
_BaseModel
- Parameters:
- class Config[source]#
Bases:
object
- extra = 'ignore'#
- allow_mutation = False#
- frozen = True#
- json_encoders = {<class 'numpy.ndarray'>: <function Netlist.Config.<lambda>>}#
- connections: Optional[Dict[str, str]]#
- ports: Optional[Dict[str, str]]#
- class RecursiveNetlist(*, __root__)[source]#
Bases:
_BaseModel
- Parameters:
__root__ (Dict[str, Netlist]) –
- class NetlistDict[source]#
Bases:
TypedDict
- instances: Dict#
- connections: Dict[str, str]#
- ports: Dict[str, str]#
- get_netlist_instances_by_prefix(recursive_netlist, prefix)[source]#
Returns a list of all instances with a given prefix in a recursive netlist.
- Parameters:
recursive_netlist (RecursiveNetlist) – The recursive netlist to search.
prefix (str) – The prefix to search for.
- Returns:
A list of all instances with the given prefix.
- get_component_instances(recursive_netlist, top_level_prefix, component_name_prefix)[source]#
Returns a dictionary of all instances of a given component in a recursive netlist.
- Parameters:
recursive_netlist (RecursiveNetlist) – The recursive netlist to search.
top_level_prefix (str) – The prefix of the top level instance.
component_name_prefix (str) – The name of the component to search for.
- Returns:
A dictionary of all instances of the given component.
- remove_unused_instances(recursive_netlist)[source]#
- Parameters:
recursive_netlist (Dict[str, NetlistDict]) –