Map#
A component can be accessed in more than one way, depending on how the board
is connected to the outside world: pcie
, jtag
or ftdi
.
A map
define the immutable path to the component.
It is modeled by a CSV file.
File Naming convention#
Naming convention for map files is given in the table below.
Values between {}
are mandatory while those between []
are optional.
grammar |
definition |
exemple |
---|---|---|
{part_number}.csv |
unique file name |
|
{part_number} |
part number of the board or devkit |
CLI option to supersede map defined in scenario#
The path to the map file is mandatory for the CLI
p4x_collect
,p4x_console
,p4x_dcdc
andp4x_functional
.It is defined in the scenario file.
It can be supersed by using the CLI option
--pmap
Map file is located either in the invocation directory of the CLI or in the package
p400map
. The file is search in the invocation directory and then in the package. It can be abbreviated to the file name without extension, e.g.p400x101x
.
Path to map files in python code#
The path to the package p400map
is stored in the variable PATH_MAPS
:
from p400map import PATH_MAPS
pmap = PATH_MAPS.joinpath("p400x101x.csv")
print(pmap.exists())
Alternative (preferred one):
from p400uc import PATH_MAPS
pmap = PATH_MAPS.joinpath("p400x101x.csv")
print(pmap.exists())
Parameters defining a map#
The path is modeled by a CSV file with 5 columns:
label |
designator |
ftdi |
jtag |
pcie |
base_add |
cmpt_add |
bus |
---|---|---|---|---|---|---|---|
ltm2975a |
m35 |
j9 |
agilex |
bar2 |
0x0140 |
0x5C |
i2c |
max10controller |
u2ctrl |
max10 |
0x4000 |
avmm |
- label
The name of the component or part of it, e.g
ltm975a
. It should match the regular expressionr"^[a-z0-9]+$"
. It is composed of two parts separated by an underscore. The first part is the name of the class modeling the component. The second part is an identifier when there is more than one component on the board or when a component has two parts.- designator
designator of the component in the board schematic, e.g
m35
orm10x1
. It should match the regular expressionr"^[a-z0-9]+$"
- ftdi
the key identifying the FTDI controller which is defined in the connections section of the scenario.
- jtag
the key identifying the JTAG path which is defined in the connections section of the scenario.
- pcie
the key identifying the PCIe bar which is defined in the connections section of the scenario.
- base_add
is the hexadecimal address of the AVMM to the I²C or SPI controller.
- cmpt_add
the hexadecimal address of the component on the AVMM bus, I²C bus or SPI bus.
- bus
name of the bus that is connected to the component. Possible values are
avmm
,i2c
andspi