Setup FPGA U280 #85

Open
opened 2025-02-20 15:19:53 +01:00 by rarias · 13 comments
Owner

Installing all required parts to have a functional FPGA is not trivial. We need to package several pieces:

  • Runtime parts: xrt
  • Kernel module: xocl (from xrt installation)
  • Full Vivado 2023 installation. I need to double check which minor revision works.
  • Hello world to verify everything works
  • Rebase jungle with master

The XRT pieces can be build from source with the standard level of pain. The kernel modules are distributed as DKMS modules, which I manage to build, but they insist to run depmod, so I need to patch them as well.

For Vivado I found a buildFHS combination that seems to make it happy, so I can run the network installer.

Then I will need to run some checks, as it probably needs some massaging to make it work.

The auxiliar power connector has a different layout than the ones provided in fox, so I installed it in raccoon for now. It may not be a bad idea to run the synthesis and the flashing in different machines, so they don't interfere with each other.

Installing all required parts to have a functional FPGA is not trivial. We need to package several pieces: - [x] Runtime parts: xrt - [x] Kernel module: xocl (from xrt installation) - [x] Full Vivado 2023 installation. I need to double check which minor revision works. - [ ] Hello world to verify everything works - [ ] Rebase jungle with master The XRT pieces can be build from source with the standard level of pain. The kernel modules are distributed as DKMS modules, which I manage to build, but they insist to run depmod, so I need to patch them as well. For Vivado I found a buildFHS combination that seems to make it happy, so I can run the network installer. Then I will need to run some checks, as it probably needs some massaging to make it work. The auxiliar power connector has a different layout than the ones provided in fox, so I installed it in raccoon for now. It may not be a bad idea to run the synthesis and the flashing in different machines, so they don't interfere with each other.
rarias added the
hw
ops
labels 2025-02-20 15:19:53 +01:00
Author
Owner

Xilinx has dropped support for U280 in https://github.com/Xilinx/XRT/pull/7901, which makes the xblmgmt driver refuse to probe the FPGA. Reverting the commit makes it happy, and detects the FPGA properly.

The xbmgmt utility reports a golden shell loaded in the FPGA:

raccoon% xrt/xrt/bin/xbmgmt examine
System Configuration
  OS Name              : Linux
  Release              : 6.9.9
  Machine              : x86_64
  CPU Cores            : 32
  Memory               : 64356 MB
  Distribution         : NixOS 24.11 (Vicuna)
  GLIBC                : 2.39
  Model                : W2600CR
  BIOS Vendor          : Intel Corp.
  BIOS Version         : SE5C600.86B.99.99.x044.020120121354

XRT
  Version              : 2.19.0
  Branch               :
  Hash                 :
  Hash Date            : 1980-01-01 00:00:00
  xocl                 : 2.19.0,
  xclmgmt              : 2.19.0,

Device(s) Present
|BDF             |Shell                 |Logic UUID  |Device ID  |Device Ready*  |
|----------------|----------------------|------------|-----------|---------------|
|[0000:83:00.0]  |xilinx_u280_GOLDEN_8  |n/a         |n/a        |No             |


* Devices that are not ready will have reduced functionality when using XRT tools

This shell is properly documented here:

https://xilinx.github.io/XRT/master/html/platforms_partitions.html#shell
https://xilinx.github.io/XRT/master/html/security.html

We will need to build a firmware package to flash the shell with the latest firmware, and see if then it becomes ready.

Xilinx has dropped support for U280 in https://github.com/Xilinx/XRT/pull/7901, which makes the xblmgmt driver refuse to probe the FPGA. Reverting the commit makes it happy, and detects the FPGA properly. The xbmgmt utility reports a golden shell loaded in the FPGA: ``` raccoon% xrt/xrt/bin/xbmgmt examine System Configuration OS Name : Linux Release : 6.9.9 Machine : x86_64 CPU Cores : 32 Memory : 64356 MB Distribution : NixOS 24.11 (Vicuna) GLIBC : 2.39 Model : W2600CR BIOS Vendor : Intel Corp. BIOS Version : SE5C600.86B.99.99.x044.020120121354 XRT Version : 2.19.0 Branch : Hash : Hash Date : 1980-01-01 00:00:00 xocl : 2.19.0, xclmgmt : 2.19.0, Device(s) Present |BDF |Shell |Logic UUID |Device ID |Device Ready* | |----------------|----------------------|------------|-----------|---------------| |[0000:83:00.0] |xilinx_u280_GOLDEN_8 |n/a |n/a |No | * Devices that are not ready will have reduced functionality when using XRT tools ``` This shell is properly documented here: <https://xilinx.github.io/XRT/master/html/platforms_partitions.html#shell> <https://xilinx.github.io/XRT/master/html/security.html> We will need to build a firmware package to flash the shell with the latest firmware, and see if then it becomes ready.
Author
Owner

Got all the pieces to build the partition.xsabin file, except the scheduler runtime ERT:

xilinx-fw> + [[ ! -L /build/deb/opt/xilinx/firmware/u280/gen3x16-xdma/base/firmware/ert-v30 ]]
xilinx-fw> ++ readlink -f /build/deb/opt/xilinx/firmware/u280/gen3x16-xdma/base/firmware/ert-v30
xilinx-fw> + firmware_path=
xilinx-fw> + [[ ! -e '' ]]
xilinx-fw> + echo 'Required ert firmware install directory not found at . Unable to build xsabin files'
xilinx-fw> Required ert firmware install directory not found at . Unable to build xsabin files

This needs to be either build from xilinx-xrt or downloaded from an already build XRT debian package. It is not included as a separated firmware like the rest. From our patched XRT:

-- add_subdirectory(ert)
CMake Warning at src/runtime_src/ert/CMakeLists.txt:43 (message):
  ****************************************************************

  No firmware files built or copied, resulting XRT package will be missing
  ERT scheduler firmware.  Use build.sh -ertfw <dir> to specify path to a
  directory with firmware to copy during XRT build.



  ****************************************************************
Got all the pieces to build the partition.xsabin file, except the scheduler runtime ERT: ``` xilinx-fw> + [[ ! -L /build/deb/opt/xilinx/firmware/u280/gen3x16-xdma/base/firmware/ert-v30 ]] xilinx-fw> ++ readlink -f /build/deb/opt/xilinx/firmware/u280/gen3x16-xdma/base/firmware/ert-v30 xilinx-fw> + firmware_path= xilinx-fw> + [[ ! -e '' ]] xilinx-fw> + echo 'Required ert firmware install directory not found at . Unable to build xsabin files' xilinx-fw> Required ert firmware install directory not found at . Unable to build xsabin files ``` This needs to be either build from xilinx-xrt or downloaded from an already build XRT debian package. It is not included as a separated firmware like the rest. From our patched XRT: ``` -- add_subdirectory(ert) CMake Warning at src/runtime_src/ert/CMakeLists.txt:43 (message): **************************************************************** No firmware files built or copied, resulting XRT package will be missing ERT scheduler firmware. Use build.sh -ertfw <dir> to specify path to a directory with firmware to copy during XRT build. **************************************************************** ```
Author
Owner

Managed to build the xsabin partition file:

raccoon% ls -lh result/lib/firmware/xilinx/283bab8f654d8674968f4da57f7fa5d7/
total 257M
-r--r--r-- 1 root root 129M Jan  1  1970 partition.mcs
-r--r--r-- 1 root root  21K Jan  1  1970 partition_metadata.json
-r--r--r-- 1 root root 129M Jan  1  1970 partition.xsabin

Let's check everything is ok and try to flash it.

Managed to build the xsabin partition file: ``` raccoon% ls -lh result/lib/firmware/xilinx/283bab8f654d8674968f4da57f7fa5d7/ total 257M -r--r--r-- 1 root root 129M Jan 1 1970 partition.mcs -r--r--r-- 1 root root 21K Jan 1 1970 partition_metadata.json -r--r--r-- 1 root root 129M Jan 1 1970 partition.xsabin ``` Let's check everything is ok and try to flash it.
Author
Owner

Attempting to flash the shell ends up in an error:

raccoon% sudo xrt/xrt/bin/xbmgmt --verbose program --base --device 0000:83:00.0 --image result/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin
Verbose: Enabling Verbosity
Verbose: SubCommand: program
Verbose: Option(s):
Verbose:    --base
Verbose:    --image
Verbose:    result/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin
Verbose:    -d
Verbose:    0000:83:00.0
Verbose: SubCommand: program
Verbose: Option(s):
Verbose:    --base
Verbose:    --image
Verbose:    result/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin
Verbose:    -d
Verbose:    0000:83:00.0
Verbose:   Base: all
Verbose: Sub command: --base
----------------------------------------------------
Device : [0000:83:00.0]

Current Configuration
  Platform             : xilinx_u280_GOLDEN_8
  SC Version           : INACTIVE
  Platform ID          : N/A


Incoming Configuration
XRT build version: 2.19.0
Build hash:
Build date: 1980-01-01 00:00:00
Git branch:
PID: 373337
UID: 0
[Fri Feb 21 16:14:21 2025 GMT]
HOST: raccoon
EXE: /nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt/xrt/bin/unwrapped/xbmgmt2
[xbmgmt] ERROR: No shell matched for given flash image: Invalid argument

Not sure if this must be happening because of the logic_uuids which are failing to read:

raccoon% sudo strace -ff xrt/xrt/bin/xbmgmt --verbose program --base --device 0000:83:00.0 --image result/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin |& grep -B2 Invalid
[pid 373407] getcwd("/home/Computational/rarias/jungle", 1024) = 34
[pid 373407] readlink("/home/Computational/rarias/jungle/xrt", "/nix/store/c7h3ajpz9x1hiqv3q9idq"..., 1023) = 54
[pid 373407] readlink("/nix", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument)
[pid 373407] readlink("/nix/store", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument)
[pid 373407] readlink("/nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument)
[pid 373407] readlink("/nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt/xrt", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument)
[pid 373407] readlink("/nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt/xrt/bin", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument)
[pid 373407] readlink("/nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt/xrt/bin/unwrapped", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument)
--
[pid 373414] close(3)                   = 0
[pid 373414] openat(AT_FDCWD, "/sys/bus/pci/devices/0000:83:00.0//logic_uuids", O_RDONLY) = 3
[pid 373414] read(3, 0x4f45bc0, 8191)   = -1 EINVAL (Invalid argument)
[pid 373414] close(3)                   = 0
[pid 373414] openat(AT_FDCWD, "/sys/bus/pci/devices/0000:83:00.0//interface_uuids", O_RDONLY) = 3
[pid 373414] read(3, 0x4f45bc0, 8191)   = -1 EINVAL (Invalid argument)
--
[pid 373414] write(2, "] ", 2] )          = 2
[pid 373414] write(2, "ERROR: ", 7ERROR: )     = 7
[pid 373414] write(2, "No shell matched for given flash"..., 56No shell matched for given flash image: Invalid argument) = 56
Attempting to flash the shell ends up in an error: ``` raccoon% sudo xrt/xrt/bin/xbmgmt --verbose program --base --device 0000:83:00.0 --image result/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin Verbose: Enabling Verbosity Verbose: SubCommand: program Verbose: Option(s): Verbose: --base Verbose: --image Verbose: result/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin Verbose: -d Verbose: 0000:83:00.0 Verbose: SubCommand: program Verbose: Option(s): Verbose: --base Verbose: --image Verbose: result/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin Verbose: -d Verbose: 0000:83:00.0 Verbose: Base: all Verbose: Sub command: --base ---------------------------------------------------- Device : [0000:83:00.0] Current Configuration Platform : xilinx_u280_GOLDEN_8 SC Version : INACTIVE Platform ID : N/A Incoming Configuration XRT build version: 2.19.0 Build hash: Build date: 1980-01-01 00:00:00 Git branch: PID: 373337 UID: 0 [Fri Feb 21 16:14:21 2025 GMT] HOST: raccoon EXE: /nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt/xrt/bin/unwrapped/xbmgmt2 [xbmgmt] ERROR: No shell matched for given flash image: Invalid argument ``` Not sure if this must be happening because of the logic_uuids which are failing to read: ``` raccoon% sudo strace -ff xrt/xrt/bin/xbmgmt --verbose program --base --device 0000:83:00.0 --image result/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin |& grep -B2 Invalid [pid 373407] getcwd("/home/Computational/rarias/jungle", 1024) = 34 [pid 373407] readlink("/home/Computational/rarias/jungle/xrt", "/nix/store/c7h3ajpz9x1hiqv3q9idq"..., 1023) = 54 [pid 373407] readlink("/nix", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument) [pid 373407] readlink("/nix/store", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument) [pid 373407] readlink("/nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument) [pid 373407] readlink("/nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt/xrt", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument) [pid 373407] readlink("/nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt/xrt/bin", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument) [pid 373407] readlink("/nix/store/c7h3ajpz9x1hiqv3q9idqii6pybckqgf-xilinx-xrt/xrt/bin/unwrapped", 0x7fff3f6660b0, 1023) = -1 EINVAL (Invalid argument) -- [pid 373414] close(3) = 0 [pid 373414] openat(AT_FDCWD, "/sys/bus/pci/devices/0000:83:00.0//logic_uuids", O_RDONLY) = 3 [pid 373414] read(3, 0x4f45bc0, 8191) = -1 EINVAL (Invalid argument) [pid 373414] close(3) = 0 [pid 373414] openat(AT_FDCWD, "/sys/bus/pci/devices/0000:83:00.0//interface_uuids", O_RDONLY) = 3 [pid 373414] read(3, 0x4f45bc0, 8191) = -1 EINVAL (Invalid argument) -- [pid 373414] write(2, "] ", 2] ) = 2 [pid 373414] write(2, "ERROR: ", 7ERROR: ) = 7 [pid 373414] write(2, "No shell matched for given flash"..., 56No shell matched for given flash image: Invalid argument) = 56 ```
Author
Owner

Rebuilding XRT with debug fails:

[ 57%] Built target xrt_noop
[ 57%] Building CXX object src/runtime_src/xocl/CMakeFiles/xocl.dir/api/clReleaseCommandQueue.cpp.o
[ 57%] Building CXX object src/runtime_src/xdp/profile/CMakeFiles/xdp_core.dir/database/dynamic_info/pl_db.cpp.o
[ 57%] Building CXX object src/runtime_src/xocl/CMakeFiles/xocl.dir/api/clReleaseContext.cpp.o
/nix/store/2p1sq1nr09xr3xb1a9lrjgdanvk1aakb-binutils-2.42/bin/ld: CMakeFiles/sw_emu_objects.dir/generic_pcie_hal2/shim.cxx.o: in function `absl::lts_20240116::log_internal::LogMessage::opera
tor<<(unsigned long)':
/nix/store/r50718jl0ybmrfvmskhjg5zsca8cgpn7-abseil-cpp-20240116.2/include/absl/log/internal/log_message.h:132:(.text._ZN4absl12lts_2024011612log_internal10LogMessagelsEm[_ZN4absl12lts_202401
1612log_internal10LogMessagelsEm]+0x1f): undefined reference to `absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<< <unsigned long, 0>(uns
igned long const&)'
/nix/store/2p1sq1nr09xr3xb1a9lrjgdanvk1aakb-binutils-2.42/bin/ld: CMakeFiles/sw_emu_objects.dir/generic_pcie_hal2/shim.cxx.o: in function `google::protobuf::internal::ArenaAlignAs(unsigned l
ong)':
/nix/store/qs5lj4y6lwas53rh3ih9p4jwn6vk1cbc-protobuf-25.3/include/google/protobuf/arena_align.h:157:(.text._ZN6google8protobuf8internal12ArenaAlignAsEm[_ZN6google8protobuf8internal12ArenaAli
gnAsEm]+0x90): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, std::basic_string_view<char, std::char_traits<char> >)'
/nix/store/2p1sq1nr09xr3xb1a9lrjgdanvk1aakb-binutils-2.42/bin/ld: /nix/store/qs5lj4y6lwas53rh3ih9p4jwn6vk1cbc-protobuf-25.3/include/google/protobuf/arena_align.h:157:(.text._ZN6google8protob
uf8internal12ArenaAlignAsEm[_ZN6google8protobuf8internal12ArenaAlignAsEm]+0xba): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::~LogMessageFatal()'
/nix/store/2p1sq1nr09xr3xb1a9lrjgdanvk1aakb-binutils-2.42/bin/ld: /nix/store/qs5lj4y6lwas53rh3ih9p4jwn6vk1cbc-protobuf-25.3/include/google/protobuf/arena_align.h:158:(.text._ZN6google8protob
uf8internal12ArenaAlignAsEm[_ZN6google8protobuf8internal12ArenaAlignAsEm]+0x119): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int,
 std::basic_string_view<char, std::char_traits<char> >)'

It looks like enabling the debug in XRT gets propagated to protobuf, which in turn enables the abseil extra checks but it doesn't like it. Likely this issue https://stackoverflow.com/questions/69866575/why-cant-linker-find-absl-references.

Rebuilding XRT with debug fails: ``` [ 57%] Built target xrt_noop [ 57%] Building CXX object src/runtime_src/xocl/CMakeFiles/xocl.dir/api/clReleaseCommandQueue.cpp.o [ 57%] Building CXX object src/runtime_src/xdp/profile/CMakeFiles/xdp_core.dir/database/dynamic_info/pl_db.cpp.o [ 57%] Building CXX object src/runtime_src/xocl/CMakeFiles/xocl.dir/api/clReleaseContext.cpp.o /nix/store/2p1sq1nr09xr3xb1a9lrjgdanvk1aakb-binutils-2.42/bin/ld: CMakeFiles/sw_emu_objects.dir/generic_pcie_hal2/shim.cxx.o: in function `absl::lts_20240116::log_internal::LogMessage::opera tor<<(unsigned long)': /nix/store/r50718jl0ybmrfvmskhjg5zsca8cgpn7-abseil-cpp-20240116.2/include/absl/log/internal/log_message.h:132:(.text._ZN4absl12lts_2024011612log_internal10LogMessagelsEm[_ZN4absl12lts_202401 1612log_internal10LogMessagelsEm]+0x1f): undefined reference to `absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<< <unsigned long, 0>(uns igned long const&)' /nix/store/2p1sq1nr09xr3xb1a9lrjgdanvk1aakb-binutils-2.42/bin/ld: CMakeFiles/sw_emu_objects.dir/generic_pcie_hal2/shim.cxx.o: in function `google::protobuf::internal::ArenaAlignAs(unsigned l ong)': /nix/store/qs5lj4y6lwas53rh3ih9p4jwn6vk1cbc-protobuf-25.3/include/google/protobuf/arena_align.h:157:(.text._ZN6google8protobuf8internal12ArenaAlignAsEm[_ZN6google8protobuf8internal12ArenaAli gnAsEm]+0x90): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, std::basic_string_view<char, std::char_traits<char> >)' /nix/store/2p1sq1nr09xr3xb1a9lrjgdanvk1aakb-binutils-2.42/bin/ld: /nix/store/qs5lj4y6lwas53rh3ih9p4jwn6vk1cbc-protobuf-25.3/include/google/protobuf/arena_align.h:157:(.text._ZN6google8protob uf8internal12ArenaAlignAsEm[_ZN6google8protobuf8internal12ArenaAlignAsEm]+0xba): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::~LogMessageFatal()' /nix/store/2p1sq1nr09xr3xb1a9lrjgdanvk1aakb-binutils-2.42/bin/ld: /nix/store/qs5lj4y6lwas53rh3ih9p4jwn6vk1cbc-protobuf-25.3/include/google/protobuf/arena_align.h:158:(.text._ZN6google8protob uf8internal12ArenaAlignAsEm[_ZN6google8protobuf8internal12ArenaAlignAsEm]+0x119): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, std::basic_string_view<char, std::char_traits<char> >)' ``` It looks like enabling the debug in XRT gets propagated to protobuf, which in turn enables the abseil extra checks but it doesn't like it. Likely this issue <https://stackoverflow.com/questions/69866575/why-cant-linker-find-absl-references>.
Author
Owner

Rebuild with RelWithDebInfo, here is the GDB session:

(gdb) p image_path
$4 = "/nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin"
(gdb) p dsa
$5 = {hasFlashImage = true, vendor = "xilinx", board = "u280", name = "xilinx_u280_gen3x16_xdma_base_1",
  file = "/nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin",
  dtbbuf = std::shared_ptr<char> (use count 2, weak count 0) = {get() = 0x65adf0 "\320\r\376", <incomplete sequence \355>}, timestamp = 2899099417511298676,
  uuids = std::vector of length 2, capacity 2 = {"283bab8f654d8674968f4da57f7fa5d7", "fb2b2c5a19ed63593fea95f51fbc8eb9"}, bmcVer = "4.3.28", vendor_id = 0, device_id = 0, subsystem_id = 0,
  partition_family_name = "", partition_name = "", build_ident = ""}

Image seems to load fine.

Rebuild with RelWithDebInfo, here is the GDB session: ``` (gdb) p image_path $4 = "/nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin" (gdb) p dsa $5 = {hasFlashImage = true, vendor = "xilinx", board = "u280", name = "xilinx_u280_gen3x16_xdma_base_1", file = "/nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin", dtbbuf = std::shared_ptr<char> (use count 2, weak count 0) = {get() = 0x65adf0 "\320\r\376", <incomplete sequence \355>}, timestamp = 2899099417511298676, uuids = std::vector of length 2, capacity 2 = {"283bab8f654d8674968f4da57f7fa5d7", "fb2b2c5a19ed63593fea95f51fbc8eb9"}, bmcVer = "4.3.28", vendor_id = 0, device_id = 0, subsystem_id = 0, partition_family_name = "", partition_name = "", build_ident = ""} ``` Image seems to load fine.
Author
Owner

Okay, so the problem seems to be that it tries to detect which available images are "installed" but it doesn't seem to detect any. Here it seems to be the problem:

// directory where all MCS files are saved
#ifndef _WIN32
# define FIRMWARE_DIRS       {"/lib/firmware/xilinx", "/lib/firmware/arista"} // <---- here
#else
# define FIRMWARE_DIRS       {"C:\\Xilinx"}
#endif
#define FORMATTED_FW_DIR    "/opt/xilinx/firmware"
#define QSPI_GOLDEN_IMAGE   "BOOT_golden.BIN"
#define DSA_FILE_SUFFIX     "mcs"
#define DSABIN_FILE_SUFFIX  "dsabin"
#define XSABIN_FILE_SUFFIX  "xsabin"
#define NULL_TIMESTAMP      0

https://github.com/Xilinx/XRT/blob/bf207dcd117c5974790371abfcaa4b7b194b944b/src/runtime_src/core/tools/xbmgmt2/flash/firmware_image.h#L35

Okay, so the problem seems to be that it tries to detect which available images are "installed" but it doesn't seem to detect any. Here it seems to be the problem: ``` // directory where all MCS files are saved #ifndef _WIN32 # define FIRMWARE_DIRS {"/lib/firmware/xilinx", "/lib/firmware/arista"} // <---- here #else # define FIRMWARE_DIRS {"C:\\Xilinx"} #endif #define FORMATTED_FW_DIR "/opt/xilinx/firmware" #define QSPI_GOLDEN_IMAGE "BOOT_golden.BIN" #define DSA_FILE_SUFFIX "mcs" #define DSABIN_FILE_SUFFIX "dsabin" #define XSABIN_FILE_SUFFIX "xsabin" #define NULL_TIMESTAMP 0 ``` <https://github.com/Xilinx/XRT/blob/bf207dcd117c5974790371abfcaa4b7b194b944b/src/runtime_src/core/tools/xbmgmt2/flash/firmware_image.h#L35>
Author
Owner

So, we don't need to flash the SC for now, and it seems the code path for flashing the shell doesn't require checking the firmware in /lib, so here it goes:

raccoon% sudo env LD_PRELOAD=xrt/xrt/lib/libxrt_core.so xrt/xrt/bin/unwrapped/xbmgmt2 --verbose program --base shell --device 0000:83:00.0 --image /nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin
XRT build version: 2.19.0
Build hash:
Build date: 1980-01-01 00:00:00
Git branch:
PID: 406438
UID: 0
[Mon Feb 24 12:39:32 2025 GMT]
HOST: raccoon
EXE: /nix/store/kaqj8c63wxa0lm8cykcabf510mli1ys8-xilinx-xrt/xrt/bin/unwrapped/xbmgmt2
[WARNING] ERROR: No such library '/opt/xilinx/xrt/lib/libxrt_core.so.2'
Verbose: Enabling Verbosity
Verbose: SubCommand: program
Verbose: Option(s):
Verbose:    --base
Verbose:    shell
Verbose:    --image
Verbose:    /nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin
Verbose:    -d
Verbose:    0000:83:00.0
Verbose: SubCommand: program
Verbose: Option(s):
Verbose:    --base
Verbose:    shell
Verbose:    --image
Verbose:    /nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin
Verbose:    -d
Verbose:    0000:83:00.0
Verbose:   Base: shell
Verbose: Sub command: --base
Bitstream guard installed on flash @0x1002000
Persisted 716126 bytes of meta data to flash 0 @0x7f51276
Extracting bitstream from MCS data:
...............................................
Extracted 48844316 bytes from bitstream @0x1002000
Writing bitstream to flash 0:
...............................................
Bitstream guard removed from flash
INFO     : Base flash image has been programmed successfully.
****************************************************
Cold reboot machine to load the new image on device.
****************************************************

Dmesg:

[523600.818855] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 _xocl_drvinst_open: OPEN 1
[523600.819036] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 4096 bytes @0x1002000
[523600.851890] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_read: reading 630 bytes @0x7f51000
[523600.853175] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 712704 bytes @0x7f51276
[523604.070395] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 3422 bytes @0x7fff276
[523604.104144] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_read: reading 4052 bytes @0x7fff000
[523604.112627] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 44 bytes @0x7ffffd4
[523611.965399] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1036288 bytes @0x1003000
[523617.242849] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1100000
[523622.515543] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1200000
[523627.780158] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1300000
[523633.054649] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1400000
[523638.318438] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1500000
[523643.588632] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1600000
...
[523828.587700] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3900000
[523833.885255] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3a00000
[523839.160745] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3b00000
[523844.493276] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3c00000
[523849.783991] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3d00000
[523855.136493] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 618496 bytes @0x3e00000
[523858.346341] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 3612 bytes @0x3e97000
[523858.387456] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 4096 bytes @0x1002000
[523858.414496] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 xocl_drvinst_close: CLOSE 2
[523858.414511] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 xocl_drvinst_close: NOTIFY 00000000615ea26d

Probably rebooting won't do it, but let's try.

So, we don't need to flash the SC for now, and it seems the code path for flashing the shell doesn't require checking the firmware in /lib, so here it goes: ``` raccoon% sudo env LD_PRELOAD=xrt/xrt/lib/libxrt_core.so xrt/xrt/bin/unwrapped/xbmgmt2 --verbose program --base shell --device 0000:83:00.0 --image /nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin XRT build version: 2.19.0 Build hash: Build date: 1980-01-01 00:00:00 Git branch: PID: 406438 UID: 0 [Mon Feb 24 12:39:32 2025 GMT] HOST: raccoon EXE: /nix/store/kaqj8c63wxa0lm8cykcabf510mli1ys8-xilinx-xrt/xrt/bin/unwrapped/xbmgmt2 [WARNING] ERROR: No such library '/opt/xilinx/xrt/lib/libxrt_core.so.2' Verbose: Enabling Verbosity Verbose: SubCommand: program Verbose: Option(s): Verbose: --base Verbose: shell Verbose: --image Verbose: /nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin Verbose: -d Verbose: 0000:83:00.0 Verbose: SubCommand: program Verbose: Option(s): Verbose: --base Verbose: shell Verbose: --image Verbose: /nix/store/zfbqqxsipsvjbry6xwys6fpv28djx4ss-xilinx-fw-1.3.5-3592445/opt/xilinx/firmware/u280/gen3x16-xdma/base/partition.xsabin Verbose: -d Verbose: 0000:83:00.0 Verbose: Base: shell Verbose: Sub command: --base Bitstream guard installed on flash @0x1002000 Persisted 716126 bytes of meta data to flash 0 @0x7f51276 Extracting bitstream from MCS data: ............................................... Extracted 48844316 bytes from bitstream @0x1002000 Writing bitstream to flash 0: ............................................... Bitstream guard removed from flash INFO : Base flash image has been programmed successfully. **************************************************** Cold reboot machine to load the new image on device. **************************************************** ``` Dmesg: ``` [523600.818855] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 _xocl_drvinst_open: OPEN 1 [523600.819036] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 4096 bytes @0x1002000 [523600.851890] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_read: reading 630 bytes @0x7f51000 [523600.853175] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 712704 bytes @0x7f51276 [523604.070395] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 3422 bytes @0x7fff276 [523604.104144] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_read: reading 4052 bytes @0x7fff000 [523604.112627] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 44 bytes @0x7ffffd4 [523611.965399] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1036288 bytes @0x1003000 [523617.242849] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1100000 [523622.515543] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1200000 [523627.780158] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1300000 [523633.054649] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1400000 [523638.318438] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1500000 [523643.588632] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x1600000 ... [523828.587700] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3900000 [523833.885255] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3a00000 [523839.160745] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3b00000 [523844.493276] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3c00000 [523849.783991] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 1048576 bytes @0x3d00000 [523855.136493] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 618496 bytes @0x3e00000 [523858.346341] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 3612 bytes @0x3e97000 [523858.387456] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 flash_write: writing 4096 bytes @0x1002000 [523858.414496] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 xocl_drvinst_close: CLOSE 2 [523858.414511] xclmgmt 0000:83:00.0: flash.m.8388608 ffff8c0145c1ac10 xocl_drvinst_close: NOTIFY 00000000615ea26d ``` Probably rebooting won't do it, but let's try.
Author
Owner

Yep, still in golden. Let's try full power cycle via the BMC:

raccoon% xrt/xrt/bin/xbmgmt examine
System Configuration
  OS Name              : Linux
  Release              : 6.9.9
  Machine              : x86_64
  CPU Cores            : 32
  Memory               : 64356 MB
  Distribution         : NixOS 24.11 (Vicuna)
  GLIBC                : 2.39
  Model                : W2600CR
  BIOS Vendor          : Intel Corp.
  BIOS Version         : SE5C600.86B.99.99.x044.020120121354

XRT
  Version              : 2.19.0
  Branch               :
  Hash                 :
  Hash Date            : 1980-01-01 00:00:00
  xocl                 : 2.19.0,
  xclmgmt              : 2.19.0,

Device(s) Present
|BDF             |Shell                 |Logic UUID  |Device ID  |Device Ready*  |
|----------------|----------------------|------------|-----------|---------------|
|[0000:83:00.0]  |xilinx_u280_GOLDEN_8  |n/a         |n/a        |No             |


* Devices that are not ready will have reduced functionality when using XRT tools
Yep, still in golden. Let's try full power cycle via the BMC: ``` raccoon% xrt/xrt/bin/xbmgmt examine System Configuration OS Name : Linux Release : 6.9.9 Machine : x86_64 CPU Cores : 32 Memory : 64356 MB Distribution : NixOS 24.11 (Vicuna) GLIBC : 2.39 Model : W2600CR BIOS Vendor : Intel Corp. BIOS Version : SE5C600.86B.99.99.x044.020120121354 XRT Version : 2.19.0 Branch : Hash : Hash Date : 1980-01-01 00:00:00 xocl : 2.19.0, xclmgmt : 2.19.0, Device(s) Present |BDF |Shell |Logic UUID |Device ID |Device Ready* | |----------------|----------------------|------------|-----------|---------------| |[0000:83:00.0] |xilinx_u280_GOLDEN_8 |n/a |n/a |No | * Devices that are not ready will have reduced functionality when using XRT tools ```
Author
Owner

BMC is not replying. This has happened in the past, so lets wait a bit and see if it comes back.

BMC is not replying. This has happened in the past, so lets wait a bit and see if it comes back.
Author
Owner

The machine doesn't seem to be booting, I will need to check what the BIOS is printing now. The SC can also output debug information via the USB port:

The U280 can also output debug SC information out of a debug UART port. To access this:

  • Power off the host with the card
  • Plug in the micro-USB cable between the card and a debug machine, such as a laptop. The debug laptop should detect some COM ports when the cable from the card is plugged in.
  • On the debug machine, open those COM ports in your favorite terminal program using 115200 BAUD, 8 data bits, 1 stop bit
  • Power on the host with the card
  • The SC should output its startup information over one of the COM ports and report the SC version.

https://adaptivesupport.amd.com/s/question/0D54U00007hy2mtSAA/after-flash-base-image-in-u280-host-server-is-not-booting-up?language=en_US

The machine doesn't seem to be booting, I will need to check what the BIOS is printing now. The SC can also output debug information via the USB port: > The U280 can also output debug SC information out of a debug UART port. To access this: > > - Power off the host with the card > - Plug in the micro-USB cable between the card and a debug machine, such as a laptop. The debug laptop should detect some COM ports when the cable from the card is plugged in. > - On the debug machine, open those COM ports in your favorite terminal program using 115200 BAUD, 8 data bits, 1 stop bit > - Power on the host with the card > - The SC should output its startup information over one of the COM ports and report the SC version. <https://adaptivesupport.amd.com/s/question/0D54U00007hy2mtSAA/after-flash-base-image-in-u280-host-server-is-not-booting-up?language=en_US>
Author
Owner

So, the problem seems to be that an option was needed to be enabled to support more than 4 GiB of memory in the BIOS, otherwise it would complain and not boot. After enabling it, the FPGA is properly detected:

raccoon% sudo xrt/xrt/bin/xbmgmt examine
System Configuration
  OS Name              : Linux
  Release              : 6.9.9
  Machine              : x86_64
  CPU Cores            : 32
  Memory               : 64356 MB
  Distribution         : NixOS 24.11 (Vicuna)
  GLIBC                : 2.39
  Model                : W2600CR
  BIOS Vendor          : Intel Corp.
  BIOS Version         : SE5C600.86B.99.99.x044.020120121354

XRT
  Version              : 2.19.0
  Branch               :
  Hash                 :
  Hash Date            : 1980-01-01 00:00:00
  xocl                 : 2.19.0,
  xclmgmt              : 2.19.0,
  Firmware Version     : N/A

Device(s) Present
|BDF             |Shell                            |Logic UUID                            |Device ID         |Device Ready*  |
|----------------|---------------------------------|--------------------------------------|------------------|---------------|
|[0000:83:00.0]  |xilinx_u280_gen3x16_xdma_base_1  |283BAB8F-654D-8674-968F-4DA57F7FA5D7  |mgmt(inst=33536)  |Yes            |


* Devices that are not ready will have reduced functionality when using XRT tools
So, the problem seems to be that an option was needed to be enabled to support more than 4 GiB of memory in the BIOS, otherwise it would complain and not boot. After enabling it, the FPGA is properly detected: ``` raccoon% sudo xrt/xrt/bin/xbmgmt examine System Configuration OS Name : Linux Release : 6.9.9 Machine : x86_64 CPU Cores : 32 Memory : 64356 MB Distribution : NixOS 24.11 (Vicuna) GLIBC : 2.39 Model : W2600CR BIOS Vendor : Intel Corp. BIOS Version : SE5C600.86B.99.99.x044.020120121354 XRT Version : 2.19.0 Branch : Hash : Hash Date : 1980-01-01 00:00:00 xocl : 2.19.0, xclmgmt : 2.19.0, Firmware Version : N/A Device(s) Present |BDF |Shell |Logic UUID |Device ID |Device Ready* | |----------------|---------------------------------|--------------------------------------|------------------|---------------| |[0000:83:00.0] |xilinx_u280_gen3x16_xdma_base_1 |283BAB8F-654D-8674-968F-4DA57F7FA5D7 |mgmt(inst=33536) |Yes | * Devices that are not ready will have reduced functionality when using XRT tools ```
Author
Owner

After fixing the usb permissions, we can now see the FPGA from Vivado via the hw_server:

raccoon$ vivado -mode tcl

****** Vivado v2023.2 (64-bit)
  **** SW Build 4029153 on Fri Oct 13 20:13:54 MDT 2023
  **** IP Build 4028589 on Sat Oct 14 00:45:43 MDT 2023
  **** SharedData Build 4025554 on Tue Oct 10 17:18:54 MDT 2023
    ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
    ** Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.

Vivado% connect_hw_server -url localhost:3121
INFO: [Labtools 27-2285] Connecting to hw_server url TCP:localhost:3121
INFO: [Labtools 27-3415] Connecting to cs_server url TCP:localhost:0
INFO: [Labtools 27-3417] Launching cs_server...
INFO: [Labtools 27-2221] Launch Output:

raccoon$ vivado -mode tcl

****** Vivado v2023.2 (64-bit)
  **** SW Build 4029153 on Fri Oct 13 20:13:54 MDT 2023
  **** IP Build 4028589 on Sat Oct 14 00:45:43 MDT 2023
  **** SharedData Build 4025554 on Tue Oct 10 17:18:54 MDT 2023
    ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
    ** Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.


Vivado% connect_hw_server -url localhost:3121
INFO: [Labtools 27-2285] Connecting to hw_server url TCP:localhost:3121
INFO: [Labtools 27-3415] Connecting to cs_server url TCP:localhost:0
INFO: [Labtools 27-3417] Launching cs_server...
INFO: [Labtools 27-2221] Launch Output:


******** Xilinx cs_server v2023.2.0
  ****** Build date   : Oct 10 2023-06:01:56
    **** Build number : 2023.2.1696910516
      ** Copyright 2017-2022 Xilinx, Inc. All Rights Reserved.
      ** Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.



connect_hw_server: Time (s): cpu = 00:00:02 ; elapsed = 00:00:05 . Memory (MB): peak = 1325.383 ; gain = 3.074 ; free physical = 60401 ; free virtual = 128509
localhost:3121

Vivado% get_hw_targets
localhost:3121/xilinx_tcf/Xilinx/21760201R01FA

After fixing the usb permissions, we can now see the FPGA from Vivado via the hw_server: ``` raccoon$ vivado -mode tcl ****** Vivado v2023.2 (64-bit) **** SW Build 4029153 on Fri Oct 13 20:13:54 MDT 2023 **** IP Build 4028589 on Sat Oct 14 00:45:43 MDT 2023 **** SharedData Build 4025554 on Tue Oct 10 17:18:54 MDT 2023 ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. ** Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved. Vivado% connect_hw_server -url localhost:3121 INFO: [Labtools 27-2285] Connecting to hw_server url TCP:localhost:3121 INFO: [Labtools 27-3415] Connecting to cs_server url TCP:localhost:0 INFO: [Labtools 27-3417] Launching cs_server... INFO: [Labtools 27-2221] Launch Output: raccoon$ vivado -mode tcl ****** Vivado v2023.2 (64-bit) **** SW Build 4029153 on Fri Oct 13 20:13:54 MDT 2023 **** IP Build 4028589 on Sat Oct 14 00:45:43 MDT 2023 **** SharedData Build 4025554 on Tue Oct 10 17:18:54 MDT 2023 ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. ** Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved. Vivado% connect_hw_server -url localhost:3121 INFO: [Labtools 27-2285] Connecting to hw_server url TCP:localhost:3121 INFO: [Labtools 27-3415] Connecting to cs_server url TCP:localhost:0 INFO: [Labtools 27-3417] Launching cs_server... INFO: [Labtools 27-2221] Launch Output: ******** Xilinx cs_server v2023.2.0 ****** Build date : Oct 10 2023-06:01:56 **** Build number : 2023.2.1696910516 ** Copyright 2017-2022 Xilinx, Inc. All Rights Reserved. ** Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. connect_hw_server: Time (s): cpu = 00:00:02 ; elapsed = 00:00:05 . Memory (MB): peak = 1325.383 ; gain = 3.074 ; free physical = 60401 ; free virtual = 128509 localhost:3121 Vivado% get_hw_targets localhost:3121/xilinx_tcf/Xilinx/21760201R01FA ```
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: rarias/jungle#85
No description provided.