urukul: update build/flash instructions

...and remove dislocated instructions appearing somewhere that it shouldn't be
This commit is contained in:
2026-01-12 13:34:55 +08:00
parent f92fe7e8c6
commit 1f435987da

View File

@@ -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/<available version>/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