I'm setting up a DRTIO master and satellite. Both are Kasli v1.1.
[nix-shell:~/artiq-test]$ cat sinara-systems/brittonlab-kasli-master.json
{
"target": "kasli",
"min_artiq_version": "6.0",
"variant": "brittonlab-kasli-master",
"hw_rev": "v1.1",
"base": "master",
"core_addr": "192.168.1.40",
"peripherals": [
{
"type": "dio",
"ports": [0],
"bank_direction_low": "input",
"bank_direction_high": "output"
}
]
}
[nix-shell:~/artiq-test]$ cat sinara-systems/brittonlab-kasli-satellite.json
{
"target": "kasli",
"min_artiq_version": "6.0",
"variant": "brittonlab-kasli-satellite",
"hw_rev": "v1.1",
"base": "satellite",
"peripherals": [
{
"type": "dio",
"ports": [0],
"bank_direction_low": "input",
"bank_direction_high": "output"
}
]
}
[nix-shell:~/artiq-test]$ python -m artiq.gateware.targets.kasli_generic sinara-systems/brittonlab-kasli-master.json
[nix-shell:~/artiq-test]$ python -m artiq.gateware.targets.kasli_generic sinara-systems/brittonlab-kasli-satellite.json
# Confirm that both Kasli #1 and Kasli #2 can be properly flashed with a master variant of the gateware/firmware. This is a check that the hardware is working properly.
# connected USB to Kasli #1, Ethernet to SFP0 (192.168.1.40)
[nix-shell:~/artiq-test]$ artiq_flash --srcbuild -d artiq_kasli -V brittonlab-kasli-master
# confirmed that I can ping Kasli #1
# connected USB to Kasli #2, Ethernet to SFP0 (192.168.1.41)
[nix-shell:~/artiq-test]$ artiq_flash --srcbuild -d artiq_kasli -V brittonlab-kasli-master
# confirmed that I can ping Kasli #2
# GOOD: Both Kasli are working properly in master role
# keep USB connected to Kasli #2
[nix-shell:~/artiq-test]$ artiq_flash --srcbuild -d artiq_kasli -V brittonlab-kasli-satellite
# cycle power on Kasli #2
# connect Kasli #1 SFP1 (downstream) to Kasli #2 SFP0 (upstream)
# configure routing table
[nix-shell:~/artiq-test]$ artiq_route rt.bin init
[nix-shell:~/artiq-test]$ artiq_route rt.bin set 0 0
[nix-shell:~/artiq-test]$ artiq_route rt.bin set 1 1 0
[nix-shell:~/artiq-test]$ artiq_route rt.bin show
0: 0
1: 1 0
[nix-shell:~/artiq-test]$ artiq_coremgmt -D 192.168.1.40 config write -f routing_table rt.bin
[nix-shell:~/artiq-test]$ artiq_coremgmt -D 192.168.1.40 reboot
Look at Kasli #1 master log.
[nix-shell:~/artiq-test]$ artiq_coremgmt -D 192.168.1.40 log
[ 0.000009s] INFO(runtime): ARTIQ runtime starting...
[ 0.003933s] INFO(runtime): software ident 7.7614.011f3bdb.beta;brittonlab-kasli-master
[ 0.012046s] INFO(runtime): gateware ident 7.7614.011f3bdb.beta;brittonlab-kasli-master
[ 0.020186s] INFO(runtime): log level set to INFO by default
[ 0.025906s] INFO(runtime): UART log level set to INFO by default
[ 0.032290s] INFO(runtime::rtio_clocking): using internal RTIO clock
[ 0.309725s] INFO(board_artiq::si5324): waiting for Si5324 lock...
[ 3.463786s] INFO(board_artiq::si5324): ...locked
[ 3.494739s] INFO(runtime): network addresses: MAC=80-1f-12-47-2c-7f IPv4=192.168.1.40 IPv6-LL=fe80::821f:12ff:fe47:2c7f IPv6=no configured address
[ 3.512116s] INFO(board_artiq::drtio_routing): routing table: RoutingTable { 0: 0; 1: 1 0; }
[ 3.524637s] INFO(runtime::mgmt): management interface active
[ 3.538953s] INFO(runtime::session): accepting network sessions
[ 3.554368s] INFO(runtime::session): running startup kernel
[ 3.558864s] INFO(runtime::session): no startup kernel found
[ 3.564653s] INFO(runtime::session): no connection, starting idle kernel
[ 3.571506s] INFO(runtime::session): no idle kernel found
[ 3.576888s] INFO(runtime::rtio_mgt::drtio): [LINK#0] link RX became up, pinging
[ 5.554406s] INFO(runtime::mgmt): new connection from 192.168.1.68:44310
[ 7.598641s] INFO(runtime::mgmt): new connection from 192.168.1.68:44312
[ 21.177270s] INFO(runtime::mgmt): new connection from 192.168.1.68:44314
[ 23.768125s] ERROR(runtime::rtio_mgt::drtio): [LINK#0] ping failed
[ 23.773096s] INFO(runtime::rtio_mgt::drtio): [DEST#0] destination is up
[ 23.979546s] INFO(runtime::rtio_mgt::drtio): [LINK#0] link RX became up, pinging
[ 28.802686s] INFO(runtime::mgmt): new connection from 192.168.1.68:44316
Look at Kasli #2 (satellite) UART log.
# look at UART on Kasli #2 (satellite) as it boots
[nix-shell:~/artiq-test]$ artiq_flash -t kasli -V brittonlab-kasli-satellite start; flterm /dev/ttyUSB2
Open On-Chip Debugger 0.10.0-snapshot (2021-04-08-04:15)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
none separate
adapter speed: 25000 kHz
Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling"
Info : clock speed 25000 kHz
Info : JTAG tap: xc7.tap tap/device found: 0x13631093 (mfg: 0x049 (Xilinx), part: 0x3631, ver: 0x1)
Info : gdb server disabled
TEMP 63.17 C
VCCINT 0.991 V
VCCAUX 1.773 V
VCCBRAM 0.995 V
VPVN 0.000 V
VREFP 0.000 V
VREFN 0.000 V
VCCPINT 0.000 V
VCCPAUX 0.000 V
VCCODDR 0.000 V
__ __ _ ____ ____
| \/ (_) ___| ___ / ___|
| |\/| | \___ \ / _ \| |
| | | | |___) | (_) | |___
|_| |_|_|____/ \___/ \____|
MiSoC Bootloader
Copyright (c) 2017-2021 M-Labs Limited
Bootloader CRC passed
Gateware ident 7.7614.011f3bdb.beta;brittonlab-kasli-satellite
Initializing SDRAM...
Read leveling scan:
Module 1:
00000000000011111111111000000000
Module 0:
00000000000011111111110000000000
Read leveling: 17+-5 16+-5 done
SDRAM initialized
Memory test passed
Booting from flash...
Starting firmware.
[ 0.000004s] INFO(satman): ARTIQ satellite manager starting...
[ 0.005612s] INFO(satman): software ident 7.7614.011f3bdb.beta;brittonlab-kasli-satellite
[ 0.013897s] INFO(satman): gateware ident 7.7614.011f3bdb.beta;brittonlab-kasli-satellite
[ 0.292661s] INFO(board_artiq::si5324): waiting for Si5324 lock...
[ 2.920849s] INFO(board_artiq::si5324): ...locked