2.3. List of Bricks

A brick is a collection of drawing element associated to a symbol. For the sake, of clarity these have been collected in three different contexts:

  • Analogue

  • Digital

  • Register

2.3.1. Analogue Bricks

This section present the available bricks inside the analogue context.

2.3.1.1. List of bricks

Symbol

Class

Parameters Supported

Image

a

Analogue

analogue

brick-ana-a

c

Capacitive

slewing, analogue

brick-ana-c

m

Metastable

slewing

brick-ana-m

M

Metastable

slewing

brick-ana-M

s

Step

slewing, analogue

brick-ana-s

2.3.1.2. Description

An analogue signal being able to go through a multitude of “levels” (voltage,current,charges…), basic assumptions have been considered:

  • All signals are considered to be a voltagein \([V_{SSA};V_{DDA}]\) range.

    Even if it is a current or a charge, for the sake of representation a voltage range is equivalent and sufficient.

  • A brick is defined with a single expression.

    To simplify the expression, an analogue context is loaded. This context include the extremum voltage, usual functions, and pi constant.

    To be more precise, the context is given below.

    CONTEXT = {
        "time": [],
        "Tmax": 20,
        "VSSA": 0,
        "VDDA": 1.8,
        "atan2": math.atan2,
        "pi": math.pi,
        "exp": math.exp,
        "sin": math.sin,
        "cos": math.cos,
        "tan": math.tan,
        "tanh": math.tanh,
        "sqrt": math.sqrt,
        "rnd": random.random,
    }
    
  • the expression should return a list of (time, voltage) points

    fitting inside the size of the renderered brick. Thus the value of time and voltage should be scaled with respect to Tmax and VDDA/VSSA.

The last point corresponds to only the Analogue brick whose symbol is a. For the c and s, only the final value can be defined. For other analogue bricks, they are an Analogue brick with a predefined expression.

2.3.2. Digital Bricks

This section present the available bricks inside the digital context.

2.3.2.1. List of bricks

Symbol

Class

Parameters Supported

Image

n

Nclk

slewing, duty_cyle, period

brick-dig-n

N

NclkArrow

slewing, duty_cyle, period

brick-dig-N

p

Pclk

slewing, duty_cyle, period

brick-dig-p

P

PclkArrow

slewing, duty_cyle, period

brick-dig-P

l

Low

slewing, period

brick-dig-l

L

LowArrow

slewing, period

brick-dig-L

h

High

slewing, period

brick-dig-h

H

HighArrow

slewing, period

brick-dig-H

0

Zero

slewing, period

brick-dig-0

1

One

slewing, period

brick-dig-1

z

HighZ

period

brick-dig-z

x

Data

slewing, period

brick-dig-x

=

Data

slewing, period, data

brick-dig-=

2

Data

slewing, period, data

brick-dig-2

3

Data

slewing, period, data

brick-dig-3

4

Data

slewing, period, data

brick-dig-4

5

Data

slewing, period, data

brick-dig-5

6

Data

slewing, period, data

brick-dig-6

7

Data

slewing, period, data

brick-dig-7

8

Data

slewing, period, data

brick-dig-8

9

Data

slewing, period, data

brick-dig-9

|

Gap

period

brick-dig-g

u

Up

slewing, period

brick-dig-u

d

Down

slewing, period

brick-dig-d

i

Impulse

duty_cyle, period

brick-dig-i

I

Impulse

duty_cyle, period

brick-dig-I

2.3.2.2. Description

2.3.3. Register Bricks

This section present the available bricks inside the register context.

It is assummed that register description and signals description do not serve the same purpose. Therefore, register description shall not be mixed with signal description.

Dedicated methods are applied to transform a human textual representation of register into a waveform for rendering engines.

2.3.3.1. List of bricks

Note

For the sake of completeness, the list of bricks are given in this section. However, the end-user do not have to deal with them

Symbol

Class

Parameters Supported

Image

[

FieldStart

brick-reg-start

]

FieldEnd

brick-reg-end

:

FieldMid

brick-reg-mid

b

FieldBit

brick-reg-bit