I've been following this post, trying to install an Urukul EEM into a test system in our lab. When I run the artiq_flash start command I get an error in the gtkterm readout, which is copied at the bottom of this post. This means I can't ping the Kasli or run any scripts.

I have tried using the ubirmingham.json, uamsterdam.json and an edited usussex.json file to compile the gateware. This system was previously working with an old artiq-4.0 virtual machine.

Did you see a similar error at any point in your installation or are there any additional steps that I need to take?

Booting from flash...
Starting firmware.
[ 0.000009s] INFO(runtime): ARTIQ runtime starting...
[ 0.003931s] INFO(runtime): software ident 6.7369.bff611a8.beta;usussex
[ 0.010648s] INFO(runtime): gateware iden6.7369.bff611a8.beta;usussex
[ 0.017376s] INFO(runtime): g level set to INFO by default
[ 0.023101s] INFO(runtime): UART log level set to INFO by default
[ 0.029485s] INFO(runtime::rtio_clocking): using internal RTIO clock (by deult)
panic at src/libcore/result.rs:945:5: cannot initialize Si5324: "Si5324 misses clock input signal"
backtrace for software vsion 6.7369.bff611a8.beta;usussex:
0x400509b0
0x4001fecc
0x40003460
0x4004b6d4
0x400500f0
halting.

3 months later

With a combination of WSL 2, Ubuntu 18.04 LTS and xming I was able to generate the gateware (from Windows) for Artiq 5.7. Generating the gateware takes about 10-15 minutes.

Most of the steps are as above, here are the most important differences:

Get WSL 2 (1 doesn't work). I can confirm that this works with Ubuntu 18.04.5 LTS.

To install Vivado I used xming. After xming installation in Ubunut you have to execute

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

( https://superuser.com/questions/1476086/error-cant-open-display-0 ). I start xming with xlaunch with "no client" and "no access control".

After running the toolchain I had to zip the files, otherwise I couldn't get the folder out of WSL. At the moment it is not possible to bridge a USB device to WSL. It might be possible to directly reference the WSL filesystem when flashing from windows, but I haven't tried that yet.

Useful things:
You can execute

explorer.exe .

inside WSL to open an explorer window. You can use /mnt/c/Users/... to reference files in Windows.

    Philipp To install Vivado I used xming

    You can perhaps run the installer in command line instead, which should not require X.

    With recent Vivado versions, this is what I am doing because their "unsupported Linux distribution" warning window crashes the GUI installer ๐Ÿ™„

      I thought this was how everybody does it. It's ./Xilinx_Unified_2020.1_0602_1208/xsetup -a XilinxEULA,3rdPartyEULA,WebTalkTerms -b Install -e 'Vitis Unified Software Platform' -l /srv/Xilinx/ (Vivado for earlier versions).

      3 months later

      Hi, thanks for the detailed instructions ๐Ÿ™‚
      However, could you please correct the typo in the title. It would make it much easier to find this very interesting/important topic using the search.

      5 days later

      I've documented the workaround in the ARTIQ manual.

      Thanks @sb10q !

      And thanks to @jdp for detailing your steps to configure a Kasli Crate.

      a year later
      2 months later

      sb10q Hi, would you please refer me to the right place to find the corresponding procedure used by version 7.

      We have the afws account but what should we do if we'd like to compile the gateware ourselves since we have some customed boards to be connected to the Kasli.

      Interesting to hear about those custom boards. What are they? Do you have schematics/designs somewhere?

        sb10q No existing design for now. But the plan is to send some simple instructions to a customed AWG and make it work in a Urukul-like way.

        sb10q Are we still able to build the gateware by ourselves after ARTIQ version 7?

        Yes, see the "Developing" section of the v7 manual.