My First FPGA Project: ice40 - Page 1
Forum section: electronics / beginners

author: NivagSwerdna
author_rank: Super Contributor
timestamp: May 06, 2022, 12:38:44 pm
content: After years of procrastination I have decided to embark on my first FPGA project... it is a small gadget that takes in several signals and displays the result on a 7-segment display...The tool that supports my device ICE40UP5K-SG48ITR is icecube2 which seems pretty basic and assumes a lot!What would be a good tool to develop the verilog, run tests against it and subsequently move to icecube2?Sorry for the ignorance

author: rstofer
author_rank: Super Contributor
timestamp: May 06, 2022, 02:00:26 pm
content: This probably should have been posted in the FPGA forum...I like development boards with built-in USB programming. I can mount the entire board to a custom daughter card holding the external components.https://www.robotshop.com/en/devantech-icewerx-ice40-hx8k-fpga.htmlI have done a couple of projects with the Lattice Icestick. I don't know if it has the capability you need.https://www.latticesemi.com/icestickIf this is a hobby project, it seems a long path to have to design a PCB for an FPGA and its support chips.I also have one of the NandLand GO Boards:https://www.nandland.com/goboard/setting-up-environment-icecube.htmlYou could use the PMOD connector to reach external devices over SPI IO expanders. Or maybe 6 pins is enough given that the display is handled.

author: NivagSwerdna
author_rank: Super Contributor
timestamp: May 06, 2022, 02:08:02 pm
content: Quote from: rstofer on May 06, 2022, 02:00:26 pmAh! Didn't realise there was one.Quote from: rstofer on May 06, 2022, 02:00:26 pmI take my hobbies very seriously!Hopefully this will become a gadget to add to my tindie store.Looks like ModelSim was the answer I was looking for... I seem to have Mentor ModelSim Lattice Edition from previous tinkering... just working through the tutorial.

author: rstofer
author_rank: Super Contributor
timestamp: May 06, 2022, 04:21:31 pm
content: I'm not a huge fan of simulation. In the early days, Xilinx ISE didn't include a free simulator so I never went down that path. Simulation isn't hardware, especially hardware with asynchronous inputs (yes, they will be synchronized but still).If you are methodical in your coding, with no attempts to minimize or optimize, the system will probably work.Of course, VHDL, being a strongly typed language, helps prevent some very common errors made possible by a lack of strong typing in Verilog. Nevertheless, a lot of folks are using Verilog and some are moving to SystemVerilog (which looks a lot closer to VHDL).Modelsim works very well and it compiles code fast! I can see the use case for developing with Vivado (I'm pretty much into Xilinx) and simulating with Modelsim even though Vivado has a simulator. I think Modelsim may be faster to compile. It's not clear to me how Modelsim handles factory IP components.It may be worth wandering through the tutorials at NandLand.com

author: SiliconWizard
author_rank: Super Contributor
timestamp: May 06, 2022, 06:20:54 pm
content: Quote from: NivagSwerdna on May 06, 2022, 12:38:44 pmThe iCE40UP series is supported by Radiant, which is Lattice's newer tool for this series and the more recent Certus NX, etc. It's simple but way better than icecube IMO.Download it and give it a try.

author: jmelson
author_rank: Super Contributor
timestamp: May 06, 2022, 11:10:46 pm
content: Quote from: rstofer on May 06, 2022, 04:21:31 pmWell, i DO use simulation, and it is VERY useful to see what is happening inside various parts of your design. You can watch various counters count up, etc. I do design in VHDL, and prefer it forcing you to explicitly order type conversions, rather than letting Verilog make guesses of what you want.Jon