fvm.drom2psl.definitions module

Warning

Callables that are not documented in the Public API are not intented to be directly used and thus may change between minor versions.

The json file must contain a dict

The dict described in the json file can have the following fields:
  • signal (mandatory)

  • edge (optional)

  • head (optional)

  • foot (optional)

  • assign (not supported, it is for drawing schematics)

  • config (not supported, it is just for cosmetic purposes)

fvm.drom2psl.definitions.CONFIG = 'config'

signal is a list of signalelements

signalelements may be either dict or list
  • if dict, signalelement is a wavelane

  • if list, signalelement is a group of wavelanes

a group is a list that has:
  • a name as first element (mandatory)

  • and either: - one or more groups, or - one or more wavelanes

fvm.drom2psl.definitions.STRETCH = '>'

an edge is a list of strings

each string has these tokens:
  • <source><arrow><destination>[<whitespace><label>]

  • source must have been defined in a node inside a wavelane

  • destination must have been defined in a node inside a wavelane

  • arrow must be one of the allowable values

  • whitespace (optional) is just whitespace

  • label (optional) can be any string

if a label is used, whitespace is mandatory

fvm.drom2psl.definitions.STRING = 'string'

a wavelane may: - be an empty wavelane, or - have at least a name field - wave, data, node are optional - period and phase are also optional (and we won’t support them)

  • period should be an integer. fractionary periods are ceil()’d up internally (i.e. 2.9 becomes 3)

  • phase doesn’t seem to have restrictions

  • type is a custom field we define where the user can specify the datatype of the signal. This field is not rendered by wavedrom

fvm.drom2psl.definitions.TYPE = 'type'

a wave is a string that contains one character per clock cycle for the signal - each character does a different thing - any other characters are interpreted the same as ‘x’ - we won’t be supporting neither REDUCE nor STRETCH