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 |
|
c |
Capacitive |
slewing, analogue |
|
m |
Metastable |
slewing |
|
M |
Metastable |
slewing |
|
s |
Step |
slewing, analogue |
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
andVDDA
/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 |
|
N |
NclkArrow |
slewing, duty_cyle, period |
|
p |
Pclk |
slewing, duty_cyle, period |
|
P |
PclkArrow |
slewing, duty_cyle, period |
|
l |
Low |
slewing, period |
|
L |
LowArrow |
slewing, period |
|
h |
High |
slewing, period |
|
H |
HighArrow |
slewing, period |
|
0 |
Zero |
slewing, period |
|
1 |
One |
slewing, period |
|
z |
HighZ |
period |
|
x |
Data |
slewing, period |
|
= |
Data |
slewing, period, data |
|
2 |
Data |
slewing, period, data |
|
3 |
Data |
slewing, period, data |
|
4 |
Data |
slewing, period, data |
|
5 |
Data |
slewing, period, data |
|
6 |
Data |
slewing, period, data |
|
7 |
Data |
slewing, period, data |
|
8 |
Data |
slewing, period, data |
|
9 |
Data |
slewing, period, data |
|
| |
Gap |
period |
|
u |
Up |
slewing, period |
|
d |
Down |
slewing, period |
|
i |
Impulse |
duty_cyle, period |
|
I |
Impulse |
duty_cyle, period |
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 |
||
] |
FieldEnd |
||
: |
FieldMid |
||
b |
FieldBit |