From 1f435987dacbc0e48c5874f57264048ab5e4e02b Mon Sep 17 00:00:00 2001 From: occheung Date: Mon, 12 Jan 2026 13:34:55 +0800 Subject: [PATCH] urukul: update build/flash instructions ...and remove dislocated instructions appearing somewhere that it shouldn't be --- src/hw/urukul.md | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/src/hw/urukul.md b/src/hw/urukul.md index 0b4030a..a37ac6b 100644 --- a/src/hw/urukul.md +++ b/src/hw/urukul.md @@ -68,6 +68,20 @@ Urukul firmware solely determines the expected `proto_rev`. You **should** fill _Note: "Any" refers to ARTIQ versions that are still maintained (beta, release, legacy). I am sure you can find some ancient ARTIQ version that does not understand what is a Urukul._ +## Building and Flashing + +### urukul-pld +See instructions on the [gateware repository](https://git.m-labs.hk/M-Labs/urukul-pld). You may download the appropriate binaries from [Hydra](https://nixbld.m-labs.hk/jobset/artiq/urukul-pld). +You are suggested to following the kasli-i2c flashing method described on the repository. + +_Kasli-i2c boilerplate: Connect the Urukul's EEM0 to any available Kasli/Kasli-SoC EEM port +([**do not hot-plug**](../build_test_firmware.md#operating-hints-and-warnings)). +You may skip this if Fastino is connected within a crate._ + +### gluelogic/urukul-cpld-* +This is a legacy firmware. Please use `urukul-pld` instead. +[Instructions](https://git.m-labs.hk/M-Labs/urukul-pld/src/commit/af67d56c0158d61d0232a491cf123a5e6767ecbf/README.md). + ## Testing After running `artiq_sinara_tester`: @@ -112,26 +126,6 @@ ValueError: Urukul AD9912 product id mismatch Some Urukuls may fail with this error during testing, usually meaning that the Urukul has not been flashed with the firmware, especially if the ID is `65535` (you will need to edit the code to check this). -For the Urukul 4410, another common symptom of no firmware is that no LEDs are lit up, besides Power Good - whereas if the firmware has been -flashed, the RF channels will be lit red. - -You can flash the firmware yourself with a JTAG adapter: - -1. Download the latest binary release from [Hydra](https://nixbld.m-labs.hk/jobset/artiq/gluelogic) and extract the - `urukul.jed` file. -2. Connect the Urukul with the JTAG adapter to the PC and connect its EEM0 to any available Kasli/Kasli-SoC - (**do not hot-plug**), then power on the Kasli/Kasli-SoC. -3. Run `nix-shell -p xc3sprog`. -4. Run `xc3sprog -c jtaghs2 urukul.jed -m /opt/Xilinx/Vivado//data/xicom/cable_data/digilent/lnx64/xbr/`. -5. If the last command outputs Verify: Success, then your Urukul is ready. It can also output the message - - ```shell - *** buffer overflow detected ***: terminated - Aborted (core dumped) - ``` - - , which is okay if `Verify: Success` was also emitted. - ### no valid window/delay ```pycon