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

p400x101x.csv
devkit_ltm4677.csv

{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 and p4x_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 expression r"^[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 or m10x1. It should match the regular expression r"^[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 and spi