Issues recompiling gateware

Dear All,

today i tried to recompile the gateware for the LimeSDR and had some issues after uploading the RBF file. The first thing i tried was to upload the current rfb from the master branch of the gateware repository, therefore not even recompiling the project: LimeSDR-USB_GW/output_files/LimeSDR-USB_lms7_trx_HW_1.4.rbf at master · myriadrf/LimeSDR-USB_GW · GitHub

This was done using LimeSuite GUI (Version 17.10.0) doing the following steps:

  1. Connect to LimeSDR
  2. Modules → Programming
  3. Select “Altera FPGA” under Device
  4. Select “Bitsream to Flash” under Programming mode
  5. Select rbf file using the open button
  6. Program

The programming worked fine and i got the message that the FPGA is reset and i would have to reconnet. After trying to reconnect the GUI freezes and after some seconds i get the following output:

[12:34:27] WARNING: Gateware version mismatch!
Expected gateware version 2, revision 11
But found version 0, revision 0
Follow the FW and FPGA upgrade instructions:
Lime Suite - Myriad-RF Wiki
Or run update on the command line: LimeUtil --update

[12:34:52] INFO: Connected Control port: LimeSDR-USB FW:3 HW:4 Protocol:1 GW:0 GW_rev:0 Ref Clk: 30.72 MHz

After that I recompiled the gateware using Quartus 15.1.0 Build 185 under Winows 10 and generated the rbf file using “File->Convert Programming Files” and using the “rbf_file_setup.cof”. This produced the same issues as the precompiled rbf file from the github repo. A short diff showed that both files are exatly the same, which implies that recompiling the project should work. Therefore I had a look at the programming file from automatic updates which is located at: “…\AppData\Roaming\LimeSuite\images\17.10\LimeSDR-USB_HW_1.4_r2.11.rbf”. This file is not the same as the one provided in the github repo/recompiled one and is a few bytes smaller.

Therefore my question is what i am doing wrong and how i can generate a programming file that works. Maybe @Zack can assist? :slight_smile: Thank you all in advance.

Hi @JTAG,

Let us check.

Hi @JTAG,

You are using an old version. Update the software first and then use auto update function to update firmware as well as gateware.

Hi @Zack,

thank you for your fast reply! Updating LimeSuite GUI to 17.12.0 (in linux) actually did the trick, now it works as expected.

So in the meantime i also tried to compile an older commit of the gateware (2.11) which actually also worked with the older version of LimeSuite (17.10.0 in windows). So my expactation was that programming the FPGA using LimeSuit GUI is version independent. So to conclude for everyone who is also having issues:

  1. make sure you use Quartus 15.x
  2. use a gateware version that works with the version of LimeSuite GUI

So i guess when using the latest version of LimeSuite GUI one should always be able to upload the latest version of the gateware. Maybe you could also start using tags on git, in order to make it easy for everyone to check wether their LimeSuite version will be able to upload the gateware. Another thing is that when using an older version of LimeSuite to connect to a LimeSDR with a newer gateware/firmware version one gets a warning:

[12:59:58] WARNING: Firmware version mismatch!
Expected firmware version 3, but found version 4
Follow the FW and FPGA upgrade instructions:
Lime Suite - Myriad-RF Wiki
Or run update on the command line: LimeUtil --update

[12:59:58] WARNING: Gateware version mismatch!
Expected gateware version 2, revision 11
But found version 2, revision 13
Follow the FW and FPGA upgrade instructions:
Lime Suite - Myriad-RF Wiki
Or run update on the command line: LimeUtil --update

[12:59:58] INFO: Reference clock 30.720 MHz
[12:59:58] INFO: Connected Control port: LimeSDR-USB FW:4 HW:4 Protocol:1 GW:2 GW_rev:13 Ref Clk: 30.72 MHz

Will this be an issue or can i expect the LimeSDR to work fine using the older LimeSuite. The thing is that i am currently not able to build LimeSuite from source in windows and have to use the version packaged with Photos.

This may cause unexpected issues.

Latest compiled binary for Win you always can find here;
https://wiki.myriadrf.org/LimeSDR-USB#LimeSuiteGUI_for_Windows

Actually, your problem was not LimeSuite but firmware, gateware 2.11 works with firmware 3, while gateware 2.12+ requires firmware 4. It does not matter which version of LimeSuite GUI, you use to upload them. Auto-update in LimeSuite 17.10.0 should install matching versions: fw 3, gw 2.11; and in 17.12.0 versions: fw 4, gw 2.12.

Ah I see, this makes even more sense to me. Thank you :slight_smile:

I could not find quartus version 15.1 anywhere. I tried to recompile the provided project with a quartus 13.0 and 18.1 but in every time, the LimeSDR_Gui crashes after I upload the new .rbf file. The DDR2 IP could not be well updated. Where can I find quartus version 15.1, please ?

@Zack may have a link.

Unfortunately Intel removed this version from their servers.