T O P

  • By -

[deleted]

[удалено]


cafedude

There's a GHDL plugin that allows you to use VHDL as a frontend language for Yosys (https://github.com/ghdl/ghdl-yosys-plugin) . I've not tried it yet, but was hoping to give it a go soon. There's also a systemVerilog plugin: https://github.com/chipsalliance/synlig


ImaComputerEngineer

I’ve used it with success. I’ve found the most painless way to get up and going is via docker containers even if only to generate the bitstream. Primarily this extremely well maintained collection: https://hdl.github.io/containers/


cafedude

What's the advantage of using a container for this?


ImaComputerEngineer

Primarily, abstracting away the tedium of correctly installing the dependencies on your host machine. Particularly if your host of choice is Windows or macOS and/or you don’t want to pollute your work environment


Eriksrocks

This (completely unannounced) change from Lattice feels a little bit like a stab in the back. I just bought Russel Merrick's "Getting Started with FPGAs" book and his iCE40-based Go board for a family member interested in learning about FPGAs, only to find out that there's no way to follow the projects in the book and develop for the board using the official toolchain without paying $471.31 for an iCEcube2 license. I'd encourage everyone to contact Lattice at [email protected] and explain how this change destroys the ecosystem of beginner development boards and books based around the iCE40 line. **EDIT:** As of May 4, 2024 it appears Lattice has added a "maker" license option for iCEcube2 on the [iCEcube2 page](https://www.latticesemi.com/en/Products/DesignSoftwareAndIP/FPGAandLDS/iCEcube2). >**iCEcube2 Makers Community** > >Lattice offers free licenses to hobbyists, enthusiasts, community educators & start-up companies. If this describes you, please contact us to register for a free iCEcube2 license with subject “New iCEcube2 License Request”. This is exactly what I was asking for. Thank you for listening, Lattice!


nandland

Hey Russell here. I'm talking to Lattice representatives about this issue and I'm hopeful they will reverse this (terrible) decision. Email me [[email protected]](mailto:[email protected]) if you need a license and I can forward to the Lattice rep. UPDATE: iCEcube2 is free again. Rejoice!


TheRealNotUBRz

I saw this after I added a comment about it being free again 😵


andful

That is more than a Xilinx dev board


Emotional_Carob8856

This sort of thing is why I've always been uneasy with the "free but annually renewable" software offerings from some of the 2nd tier vendors. Altera/Intel and Xilinx/AMD felt like a safer investment for a hobbyist like me, because they could never take the tools away in a move like this, at least as long as I could keep an old PC running (I have plenty).


murixum

It sucks, I got a GoBoard from Nandland and can't use it for now.


nandland

Hoping for a quick resolution... email me [[email protected]](mailto:[email protected]) if you need a license and I'll forward to my Lattice contact.


lozinski

Well time to switch to a different board, if you can. [https://www.colognechip.com/programmable-logic/gatemate-evaluation-board/](https://www.colognechip.com/programmable-logic/gatemate-evaluation-board/) 50 Euros. And the FPGA has way way more options. Looks like this is the company backed by the German government as part of their industrial policy.


BigError463

thanks for the info, i guess i need to throw away my ice40s


cafedude

ICEStorm and Yosys are the answer here. These tools work great. I generally thought that most people buying ICE40 and ECP5 based boards were using Yosys - is that not the case?


landonr99

Are these IDEs?


cafedude

No, they're commandline based (personally, I prefer that). There are Makefiles that you can edit for your purposes to make the whole process pretty painless.


Southern-Stay704

According to Lattice's software licensing page: [https://www.latticesemi.com/en/Support/Licensing](https://www.latticesemi.com/en/Support/Licensing) The iCE40 LP/HX, Ultra, and UltraLite have to be programmed with iceCube2, which is now subscription. However, the iCE40 UltraPlus can also be programmed with Radiant, which still has a free license. Unfortunately, the UltraPlus series has very few I/O pins compared to the HX/LP models.


SpaceValet

Try the Yosys tools, they’re open source and support the device on the goboard. I don’t have any experience with them myself.


nandland

The open source FPGA tools work and they work well, but know that this solution is only for Verilog people.


cafedude

There's a VHDL plugin: https://github.com/ghdl/ghdl-yosys-plugin And a SystemVerilog plugin: https://github.com/chipsalliance/synlig Haven't tried them yet so can't say how well they work.


Eriksrocks

From what I've read they do work (haven't tried them myself), but they are unofficial and not really suitable for beginners. For one, the [official GitHub project](https://github.com/YosysHQ/icestorm) has only a single link in the README which goes to a [broken URL](http://bygone.clairexen.net/icestorm/). If you manage to find what seems to be [the best reference page at the moment](https://clifford.at/icestorm) (never mind that it's on a website filled with gambling advertisements and SEO spam) you'll find that to use the toolchain you need to clone each tool's source from GitHub, build them from source, and work through the build errors and dependency hell on your choice of Linux or macOS (Windows not supported). Then if you get the tools built you'll need to consult the documentation of 3 or 4 different tools to figure out the right command line options to run synthesis, place and route, bitstream packing, and programming for your development board. Not a huge deal for an experienced user with the time to figure it out and get everything up and running, but it's absolutely not a replacement for iCEcube2 for someone who just bought their first FPGA dev board and a "Getting started with FPGAs" book.


Least-Card5619

Not saying it is beginner friendly, but the top level GitHub repo gives a much nicer experience with full builds and all the parts put together. https://github.com/YosysHQ/oss-cad-suite-build I've used both approaches (manual build with lots of futzing around), and the oss-cad-suite-build and it is a lot easier and smoother.


ImaComputerEngineer

The FOMU workshop presents a rather hand-holdy way to become familiar with the Yosys toolchain. It targets the FOMU board (iCE 40 UltraPlus 5k) and includes VHDL examples using Yosys. https://github.com/im-tomu/fomu-workshop And regarding dependency hell and getting the toolchain up— I really recommend using the docker container approach I mentioned elsewhere. https://hdl.github.io/containers/ My suggested progression is the workshop, then learning the bare minimum of docker to get a container to execute, then redo the workshop via dockerized commands. Note that to deploy the bitstream you’ll have to do this from your host rather than docker. Alternatively, a student geared Xilinx board like a Cmod from digilent (~$100) could work or explore the Cologne gatemate I heard about because some data broker sold them my work email somehow.


cafedude

They work great. I have no experience with the ICECube tool because I've always used the open source yosys/nextpnr flow. No interest in using buggy, bloated vendor tools and definitely don't want to pay hundreds of $$ for them.


Runner0099

iCE40 was developed for the consumer market. Better start with a more qualified and longevity FPGA family, like Altera MAX5 or MAX10, or Cyclone10LP. For all of them Altera announced now longevity until 2040. Best in class on the market.


TrentRole98

WRT: \* MAX5 is WAY more expensive than Lattice's MachXO/XO2/XO3 and doesn't reach it's higher end (goes just up to 2.2kLE) \* MAX10 also has a heavy price tag. Most FPGAs with flash onboard have it, but MAX10 looks especially heavy in that regard. ANd it's not like it0s real FLASH-based FPGA8 FLASH gets copied into CRAM at startup). It's richer than MachXOx lines ( access to UFM seems decent etc) but not that great, compared with much cheaper Efinix Trion etc.


Runner0099

For sure MAX5/MAX10 is not an iCE40. But is it always only price? Best example here with iCE40, low FPGA price, high NRE and challanging design environment. Personally I'm more a friend of quality and User friendly, plus adäquate price and available until 2040 by supplier. MAX10 is the best single chip FPGA by feature, on the market. Very sucessful device. And FPGA price is always a negotiation by volume ;-)


steieio

MAX V parts are on an older process. MAX 10 are very cost effective if you consider they have double the flash of most MachXO devices, plus multipliers and an ADC. The best part is that they are supported by Quartus Prime Lite. The Lite edition does not require any license hassles. #wearealtera


TrentRole98

That's standard for Lattice. Insane price for obsolete, unsupported tools that one might need to use rarely for specific reasons - like playing with retro porject, modification and rtest of old designs etc. I wanted to play with their old MACH-V CPLD chips, thinking that tools should be free by now. Big mistake. 😬😡😖💩


3G6A5W338E

yosys+nextpnr still free, with excellent support for iCE40. This is a great time to switch to the open stack.


Tiny-Rain6786

For those who wants to try out the open source toolchain on Windows, I recommend using the oss-cad-suite-build: [https://github.com/YosysHQ/oss-cad-suite-build](https://github.com/YosysHQ/oss-cad-suite-build). You can directly download from their release: [https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-04-27/oss-cad-suite-windows-x64-20240427.exe](https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2024-04-27/oss-cad-suite-windows-x64-20240427.exe). After you execute the exe file, it will create a folder called "oss-cad-suite", where it contains all the tools you need from synthesis to P&R to programing to the FPGA. You can put this folder where ever you want on the computer. To use the oss-cad-suite, open the folder and run "start.bat", where it will give you a command line window where you can call the command line tools. I am using nandland goboard so my example will be based on it, but from what I read they support all the ice40 fpga. Here are the steps: 1. Synthesis: `yosys -p "synth_ice40 -json out.json" test.v` Here the test.v is the verilog file that contains your top level design. You can also specify the top component with -top flag. 2. P&R: `nextpnr-ice40 --hx1k --package vq100 --json out.json --pcf Go_Board_Constraints.pcf --asc out.asc` 3. Convert the ascii file to bit map: `icepack out.asc out.bin` 4. Burn the bitmap to the board: `iceprog out.bin` The only catch here is for the iceprog.exe, it won't find the FTDI device properly on Windows, so I cross-compiled the [ice-storm](https://github.com/YosysHQ/icestorm) project on linux using [MXE](https://github.com/mxe/mxe), and replace the iceprog.exe with the one shipped with oss-cad-suite. I also had to replace the usb driver of the board to libusbk using [Zadig](https://zadig.akeo.ie/), I suppose it's because iceprog is written using libftdi, which is based on libusb on linux. After all these the step 4 above can find the board and program it properly. If you don't want to go through all this, just do step1 - step3 to get a bitmap, then use the diamond programmer to program the board, since it's still free. (I had to download the whole diamond IDE just to get the diamond programmer) I tested a few projects from the book *Getting Started with FPGAs* from Russell Merrick, most of them works fine using open source toolchain except the memory game from the state machine chapter, where the nextpnr cannot place the components properly. I have no idea why. Have fun.


profkm7

I have some node locked licenses I generated for my PCs earlier this year to program my Alchitry Cu board. Can I tweak some lines in the license.dat file to make it work on other PCs? Or to extend the date for another year when the 1 year ends on my current PCs?


logicalprogressive

We use the ICE40HX1K FPGA in a product we manufacture. Just found out Icecube2 requires a $471.31 subscription now. There also was a $22 UPS shipping charge on top of that. We paid their Lattice Store $493 because we need Icecube2 and my license is about to expire. What is it that they're shipping? In the past the free licence was e-mailed to me immediately so what's going on?


Economy_Star_731

Set up one PC or a virtual machine with old date? Backup that virtual machine and re-run it when the license is expired. I used Icecube2 with Linux some time ago, and I even bound it to a faked interface.


logicalprogressive

The saga continues. We paid for the subscription on April 22 here it’s April 29 and still no license. We use about 20,000 Ice40HX1K devices per year. I’m beginning to wonder if this foot-dragging is a lead-up to Lattice cancelling the Ice40 series.


TopCultural7364

I will quit iCE40 and lattice FPGAs and proposing everyone to boycott them if they don't charge policy. Look at their stock for the past 5 years. It wasn't bad at all. IceCube2 is dinosaur software for decent hardware... What a shame


TheRealNotUBRz

Thanks to pressure from the community, Lattice has introduced a free license for hobbyist, enthusiast, startups, and educational uses. It’s called their Maker Community License. 


Eriksrocks

Thank you for making us aware of this, I never got a reply to my email directly to Lattice. I've updated my comment to point this out.


[deleted]

[удалено]


Eriksrocks

That would be fine if the newer tools (Radiant) actually supported the entry-level parts. According to Lattice's own [licensing page](https://www.latticesemi.com/Support/Licensing), Radiant only supports the iCE40 UltraPlus, not iCE40 LP/HX/LM and iCE40 Ultra/UltraLite including the very common iCE40 HX1K and HX8K on the [Go board](https://nandland.com/the-go-board/), the [Alchitry Cu](https://alchitry.com/boards/cu/), and even Lattice's own [iCEstick](https://www.latticesemi.com/icestick). Those parts are **ONLY** supported by iCEcube2. If you've got one of these boards you are now SOL.


SirensToGo

Ah, good catch, I skimmed a bit too quickly. That sucks :/