Setup connections#
A board is connected to the outside word by three type of connection PCIe, JTAG and FTDI. We can have several of them for each type. For example, The PCIe400 card has one PCIE, one JTAG and 3 FTDI connections. In addition a single JTAG connection can serve different branch, for example one for the maX10 and another one for the agilex FPGA.
The interface_ftdi
, interface_jtag
and interface_pcie
, allow all cases
to be handled in close conjunction with the Map file.
FTDI connection#
interface_ftdi:
j5:
interface: FT629ULC
j9:
interface: FT60K5V8
j11:
interface: FT8NUHD2
A board can be connected to several FTDI controllers at the same time.
The interface_ftdi
is a dictionary that associates a key with the FDTI controller.
The key is used in the map in order to link a component to its FTDI chain (column ftdi
).
Any value can be used to identify a controller and there is no limitation
on the number of controller.
- interface (str | int)
serial number of the FTDI controller or the number of the USB device linked to the FTDI controller.
JTAG connection#
interface_jtag:
agilex:
interface: PCIe400
device: null
node: -1
sys_hz: null
scl_hz: null
max10:
interface: PCIe400
device: 0x031830DD
node: -1
sys_hz: null
scl_hz: null
A JTAG connection serves two independent branch one for the max10
and the second one for Agilex FPGA. The key identifying the branch agilex
or
max10
is used in the map in order to link a component to its branch
(column jtag
). Any value can be used to identify a branch and there is
no limitation on the number of branch or JTAG connection.
- interface (int | str)
identifier of the JTAG cable:
The rank of the cable attached to the server, starting from
1
.Identifier of the JTAG cable. This is the only member guaranteed to remain across invocations and survive system reboot. It can be found using
pcie40_aji
command, e.g.:0x01000001
USB port to which JTAG cable is connected, e.g.
1-1
.Name of the JTAG cable given by
jtagconfig
command, e.g.Agilex I-Series SOC Dev Kit
- device (int | str)
identifier of the device on the JTAG chain:
The rank of the FPGA device in JTAG chain, starting from
0
.Hex identifier of the FPGA in JTAG chain. It can be found using
pcie40_aji
orjtagconfig
command, e.g.0x0343B0DD
Name of the FPGA device in JTAG chain, that can be found using
pcie40_aji
orjtagconfig
command. e.g.AGFB027R24C(.|B|R2|R0)/..
- node (int | null)
Rank of the node interfacing the JTAG connection to the avalon memory map bus. This is an optional argument starting from
0
. The default behavior is to use the first JTAG to AVMM node available in the hierarchy. The value-1
mean not used- sys_hz (int | null)
the system clock frequency of AVMM bus in hertz. By default, it is set to 400 MHz.
- scl_hz (int | null)
the I2C clock frequency (SCL) in hertz. By default, it is set to 400 kHz.
PCIe connection#
interface_pcie:
ecs:
interface: 0
bar: 2
A PCIe interface can serve several bar. The key identifying the bar, ecs
,
is used in the map in order to link a component to its branch (column pcie
).
Any value can be used to identify a bar and there is no limitation
on the number of bar.
- interface (int)
the address of the board on the pcie bus.
- bar (int)
address of the PCIe to AVMM controller. For the PCIe400 it is equal to
2
.