Wrapper¶
Wrapper
is an abstraction over entities that have ports - examples include IP cores written in Verilog/VHDL, cores written in Amaranth and hierarchical collections for these that expose some external ports.
Subclasses of this class have to supply implementation of property get_ports()
that has to return a list of all ports of the entity.
- class Wrapper(*args, src_loc_at=0, **kwargs)¶
Base class for modules that want to connect to each other.
Derived classes must implement get_ports method that returns a list of WrapperPort’s - external ports of a class that can be used as endpoints for connections.
- __init__(name: str)¶
- get_port_by_name(name: str) WrapperPort ¶
Given port’s name, return the port as WrapperPort object.
- Raises:¶
ValueError – If such port doesn’t exist.
- get_ports() List[WrapperPort] ¶
Return a list of external ports.
- get_ports_of_interface(iface_name: str) List[WrapperPort] ¶
Return a list of ports of specific interface.
- Raises:¶
ValueError – if such interface doesn’t exist.