4.1.1. undulate.bricks.analogue module
analogue.py declare the basic building block to generate an analogue waveform and define common functions in the analogue context
- undulate.bricks.analogue.transform_y(y: float, brick_height: float = 20)
Transform values in the [VSSA;VDDA] range to the internal [0;brick_height] range. If need to model a current still use ‘VSSA’ and ‘VDDA’ a dropin replacement for ‘ISSA’ and ‘IDDA’
- Parameters
y – y-coordinate between VSSA and VDDA
height – height of a brick in the given signal
- Returns
the new y-coordinate between 0 and brick_height
- class undulate.bricks.analogue.MetaToZero(**kwargs)
Bases:
undulate.bricks.generic.Brick
Metastable state representation resolving to GND
This brick is used to depict when a transition as difficulties to settled correctly. Therefore the signal is wavering between 0 and 1 before a settled state to 0.
- __init__(**kwargs)
Create the brick as a sum of path, polygon, spline, …
- Parameters
slewing (float > 0) – only for the connection with adjacent bricks
- get_first_y() float
Get first y-coordinate of the brick
- get_last_y() float
Get last y-coordinate of the brick
- class undulate.bricks.analogue.MetaToOne(**kwargs)
Bases:
undulate.bricks.generic.Brick
Metastable state representation resolving to VDD
This brick is used to depict when a transition as difficulties to settled correctly. Therefore the signal is wavering between 0 and 1 before a settled state to 1
- __init__(**kwargs)
Create the brick as a sum of path, polygon, spline, …
- Parameters
slewing (float > 0) – only for the connection with adjacent bricks
- get_first_y() float
Get first y-coordinate of the brick
- get_last_y() float
Get last y-coordinate of the brick
- class undulate.bricks.analogue.Cap(**kwargs)
Bases:
undulate.bricks.generic.Brick
RC charge/discharge
This brick is used to depict a RC charge or discharge to the new level.
- __init__(**kwargs)
- Parameters
slewing (float > 0) – maximum slope of the signal
analogue (float) – final value of the settling in the [VSSA;VDDA] range
- get_first_y() float
Get first y-coordinate of the brick
- get_last_y() float
Get last y-coordinate of the brick
- class undulate.bricks.analogue.Step(**kwargs)
Bases:
undulate.bricks.generic.Brick
Ramping signal from one value to another
This brick represents a slewing transitions until the desired level is reached. Then the value is locked.
This behaviour corresponds to a charge-pump or a comparator-based integrator
- __init__(**kwargs)
- Parameters
slewing (float > 0) – maximum slope of the signal
analogue (float) – final value of the settling in the [VSSA;VDDA] range
- get_first_y() float
Get first y-coordinate of the brick
- get_last_y() float
Get last y-coordinate of the brick
- class undulate.bricks.analogue.Analogue(**kwargs)
Bases:
undulate.bricks.generic.Brick
Arbitrary analogue signal
This brick is intended to depict any time changing signal
- __init__(**kwargs)
- Parameters
analogue (List[Tuple[float, float]]) – list of points (relative time, voltage in [VSSA;VDDA] range)
- get_first_y() float
Get first y-coordinate of the brick
- get_last_y() float
Get last y-coordinate of the brick
- undulate.bricks.analogue.initialize() None
register defined digital blocks in the rendering system