!Point

The !Point tag identifies either a boundary port on the block, or one of the ports on a child module. It is used in two roles:

  • When used within the !Connect tag, or in the defaults list of a !Mod tag, it can identify any port on the block or on a instantiated child block (but not select a specific instance within that port).

  • When used within the !Initiator or !Target tags it can only identify a specific index of a port on the boundary of the block (i.e. it can identify a specific instance of a port from a !HisRef with count greater than 1).

Usage

The !Point tag can be used in two different contexts, an example of each is given below. The tag is primitive, so either mapping or sequence syntax can be used:

- Mod
  name : my_mod
  ports:
  - !HisRef [initiators, axi4, "Initiators onto the NoC", 4, Slave]
  - !HisRef [targets,    axi4, "Targets from the NoC",    4, Master]
  modinst:
  - !ModInst [block_a, type_1, "First block",  1]
  - !ModInst [block_b, type_1, "Second block", 1]
  - !ModInst [block_c, type_1, "Third block",  1]
  - !ModInst [block_d, type_1, "Fourth block", 1]
  connections:
  - !Connect
    connect:
    - !Point [initiators]
    - !Point [init, block_a]
    - !Point [init, block_b]
    - !Point [init, block_c]
    - !Point
      name: init
      mod : block_d
  ...
  defaults:
  - !Point [unused_out, block_a] # Tie-off an unused signal to supress errors
  addressmap:
  - !Initiator
    mask: 0x1FFF
    port:
    - !Point [initiators, 0]
  ...
  - !Target
    offset  : 0x0800
    aperture: 0x1000
    port    :
    - !Point [targets, 2] # NOTE: Second field here selects a single port within 'targets'
class blade.schema.ph_point.Point(port, mod=None, name='unknown', sd='', ld='', options=[])

Reference to a port on a particular module, if no module name is provided then it is taken to be a port on the module in the current scope. Also used to identify a specific index of a port where count has been set > 1.

__init__(port, mod=None, name='unknown', sd='', ld='', options=[])

Initialisation for the !Point tag

Parameters
  • port – The name of the port.

  • mod – When used within a !Connect tag, or in the defaults section of a !Mod, this identifies which !ModInst should be connected. When used within a !Initiator or !Target tag, this identifies which index of port is being referred to.

  • name – Optional name for the point.

  • sd – Short description - maximum 150 characters.

  • ld – Long description - maximum 150 characters.

  • options – List of options in the form ‘KEY=VAL’ or just ‘KEY’ if no value is required.

validate()

Check that this tag agrees with our YAML schema