Troubles with CU setup

Hey all,
Just picked up a CU, and having some trouble with setup.

OS: Windows 10
Alchitry Labs Version: 1.27
IceCube2 Version: 2020.12

Steps I have taken:
-Obtained License file using my only enabled physical mac address.
-Set Windows environment variable LM_LICENSE_FILE to the location of my licence.dat file
-Installed IceCube2.

-Installed Alchitry Labs, and pointed the settings IceCube2 and IceCube2 license to their respective folders.

When trying to build the LED to Button project for the CU, I get this error:

I’ve tried going a similar route with making a new project in IceCube2, just to see if I could get an error message with more information. Not sure if I made this correctly (does IceCube2 have a text editor? or is it just a build tool?) The Synthesis message is a bit too long to quote:

There seems to be similar issues with the CU / IceCube tool chain on the forum. If anyone could shed some light on what I’m missing, that would be greatly appreciated. These dev boards seem real cool, and after using Quartus on a DE10Lite for school, I was hoping for something a bit more streamlined.

Thanks,
-Hal

Hey Hal,

I’m sorry you’ve run into some trouble. Let me try to get it sorted out.

It’s weird you aren’t seeing any real messages in the console being logged. I’ve seen a weird issue with Vivado (the Au toolchain) doing this for someone but I could never replicate it.

If you go into the Alchitry project directory, then go into the work folder, you should see a file named build.cmd try running this from the command line (or you can probably double click it but for me this closes the terminal when it finishes). You may need to hit “enter” to get it going. This is the command file Alchitry Labs is trying to run behind the scenes to build your project. It typically will spit everything you’d see in the terminal to the console. Let me know if you see it actually spit out build messages. You could also open it as a text file and double check the paths look correct for where your software and license file are located.

I did just realize that path name for the icecube2 executable isn’t in quotes so any spaces in it will cause trouble. It doesn’t look like this is the case for you though.

You can also try to build the project from icecube2 directly. Open it like you did and make a new project targeting the iCE40 device family, HX8K device, and CB132 package. Then on the next page where it asks to add files, navigate to your Alchitry projects work folder and add all the files from the “verilog” folder. Then in the “constraint” folder, add the two files that start with “merged_”. You should then be able to build the project successfully (run synthesis then run place and route (P&R)).

Are you running any kind of anti-virus software that may be blocking the toolchain from running? I’ve never had a problem with the build in Windows stuff but it seems every computer is different.

So, Interesting developments:

I’m able to run everything in Icecube2, and got a Binary file in the bitmap folder.

I was also able to run the build.cmd command, and this also built a .bin file in the Alchitry project directory. Here’s the logs from that build, if you want to see if anything is weird: https://pastebin.com/jNpvjaMj

I also found the alchitry-loader, and was able to upload the created bin files to my CU board.
Well, at least the button with LED example is working as expected after upload.

Still not able to build from the alchitry IDE, but at least I can start working with the tools that are functioning as expected.

Is there anything else I should be looking for?
I’m getting the same results whether running alchitry IDE as administrator or not.
If the IDE is just calling build.cmd, it’s kinda weird that it runs fine from the command line, but not from the IDE.

Yeah it is super weird it isn’t invoking it correctly. Do you know what version of Java you have installed? You can run “java -version” in the command prompt.

I suspect it is either from a Java version issue or some anti-virus setting preventing Alchitry Labs from invoking another program.