So- I'm not the only one to have trouble with Lattice software!
Got the ICEstick for Christmas. Spent days trying to download Icecube software - maybe Lattice sold a lot of Xmas gifts, their server seemd to be in trouble. Ran the install [why is Digilent Adept suddenly popping up?] and... confusion reigned.
Diamond Programmer doesn't list the iCEstick.
There's some drop-down lists, and I can select the HX1K chip, but it also wants a FLASH RAM selected - and nothing on the list matches the FLASH chip listed in the ICEstick PDF User Guide.
Maybe because I installed version 3.0 on a machine runiing 32-bit XP? Maybe there's a patch somewhere? Don't know: I'm the learner "hobbyist" with no experience, scratching my head.
@Crusty: Did you get to see the 50th celibration of Dr Who?
1000 curses -- I missed it -- I did see the 2-hour film telling the story of the BBC and how Dr Who all came about -- that was very interesting -- but I missed the 50th celebration show itself -- I think the whole tthing is on YouTube so I'm hoping to watch it this coming weekend
Synplify or LSE (Lattice Synthesis Engine) => XST [Synthesis]
Chapter 2 of the iCEcube2 User Guide, "Quick Start Guide", walks though all the steps from creating a project and adding source files to generating a bitstream. My point in mentioning how to find the standalone Synplify GUI IDE is that Synplify gives you some nice tools, such as the HDL-Analyst RTL viewer, which will draw a schematic representation (for viewing purposes only, not editable for re-implementation) of what was synthesized from your HDL sources; this is something that I found very handy when first learning HDL. "I decided to try out the iCEstick in much the same way a home hobbyist starter might? I could take the terrible VHDL that I have written and port it across to the iCEstick"
I would recommend sticking with an HDL flow, rather than experimenting with schematic design flows, which tend to be poorly supported, non-portable, and subject to file format obsolescence.
Usually when starting out with a new board & tool flow, I'll make a copy of one of the reference designs and tinker with that to figure things out.
Once I've sorted things out, I generally work from a command line flow, with excursions into the GUI's just for floorplanning/graphical viewers and the like.
For home projects, I use a programmer's editor for design entry, GHDL + GTK for simulation and RTL debug, and the vendor tools for synthesis & implementation.
Crusty said: With the price of FPGA development boards droping to near pocket money disposable prices and the iCEstick at a price equivalent to an Arduino board on e-bay, it will be interesting to see when good open source development software starts appearing.
Unfortunately, it could be a long time before any open-source software shows up, good or bad. For decades people have asked FPGA vendors to open up their architectures so that independent tools could be created, to no avail with the exception of an Atmel part that didn't catch on. However, with more people getting hold of cheap FPGA development boards, this does have the potential to increase the number of voices crying out for this. Plus, the overwhelming success of Linux-based operating systems has established credibility for open source, particularly FLOSS (Free-as-in-Liberty Open-Source Software), to the point where people are starting to mistrust the quality and security of closed software.
Crusty said: I shall have a look at the cheap Cypress boards as soon as Mrs Crusty refills my pocket money account.
Cypress PSoC 5LP (and others too, I suspect, but I've only looked closely at 5LP) is very close to being a fully-open architecture. All of the device registers needed to program PSoC 5LP at the bit level are documented with the exception of the routing registers. This is very encouraging. PSoC does have an excellent IDE called PSoC Creator which is probably the easiest system out there for getting started with programmable logic. I've only done some small schematics, but it was pretty easy. They also have Verilog, though I haven't tried it myself. I hope you'll be able to rustle up the US$25 for a PSoC 4 Pioneer Kit, which also includes a PSoC 5LP.
In the mean time, you might check out the XMOS Startkit board for US$15. It's an interesting multi-threaded architecture for real-time microcontroller applications. I think they're still running a promotion to give away 2500 of these boards.
@Brian_D: To bring up the standalone Synplify Synthesis IDE,
A big thanks for pointing me in the right direction.
As a retired, embedded hardware and software engineer, I decided to start playing with FPGA about 18 months ago. I had not considered what a heavy learning curve I was in for. There have been a great lot of people who have helped me on my journey and they are thanked here, but not in name, to save their blushes.
If you have seen Crusty Bits elsewhere, then you will have laughed and groaned at my infantile steps along the learning path.
I think my most recent adventure using the iCEstick, is me trying to see if there is at present an FPGA environment that is as accomodating, as say the Arduino environment, especially where beginners and improvers are concerned. Atmel got my vote for their IDE at Version 3.1 before Arduino and everything programmed in assembler.
I decided to try out the iCEstick in much the same way a home hobbyist starter might? I could take the terrible VHDL that I have written and port it across to the iCEstick, but this would negate some of the problems an absolute novice would have using this kit.
With the price of FPGA development boards droping to near pocket money disposable prices and the iCEstick at a price equivalent to an Arduino board on e-bay, it will be interesting to see when good open source development software starts appearing. I shall have a look at the cheap Cyprus boards as soon as Mrs Crusty refills my pocket money account. I have not been forgiven, yet, for the $100 pledge to Kickstarter Microduino boards which I look for in the post each morning.
I hope this blog and future blogs, subject to Max being able to deal with my awful writing style, will gather a plentiful selection of comments from the EE-Times readership. I will take all comments and try to respond, except for flameing which I consider to be non-produtive.
Crusty is now going for a Ruby Murry and will probably sleep the Sunday afternoon away toasting his toes by the wood burner.
When you first bring up the Diamond software, there is a splash screen with user guides and tutorials on the right pane.
I would recommend that you spend some time reading "User Guides => Entering the Design", then go through the tutorials.
EDIT : Oops, you're using "iCEcube2", not "Diamond"; look in Help=>User Guide "After a few false starts, I finally realize that I need to press the "Active-HDL" button at the top of the screen. This rewards me with an Aldec IDE that is similar in some respects to the Xilinx ISE I am used to."
Aldec Active-HDL is NOT the equivalent of the Xilinx ISE IDE.
It is a Third Party Simulation tool that Lattice ships in OEM form with Diamond iCEcube2.
I haven't used the Lattice OEM edition, but I would guess that not all the bells and whistles of the full Aldec product are enabled in an OEM edition.
But these bells and whistles are not required to design with Lattice parts.
The iCEcube2 GUI is a bit more utilitarian than ISE and Diamond.
iCEcube2 2013.3 tip of the Day:
To bring up the standalone Synplify Synthesis IDE, open a project, right click "Synthesis Tool" to change your synthesis tool to Synplify Pro, then right click "run Synplify Pro"=>options=>Synplify Pro tab=>Set Synplify Pro option" to bring up the GUI.
( a big "S" next to the "A" on the toolbar would seem much simpler... )
Crusty, your difficulties with Lattice license management remind me of a couple decades ago with I had to choose a CPLD family for a new product. I narrowed down the choice to AMD Mach 1 (those parts were later acquired by Lattice) and Xilinx 9500, which was pretty new at the time. I liked the Xilinx technology better, but hadn't used the tools. So I did an experiment. First, I implemented one of my CPLDs using the AMD Mach 1 part, which only took a few hours since I was familiar with AMD software. Then I started implementing the same design using the Xilinx software. Well, I never made it past the license manager. Once I had spent more time getting nowhere with Xilinx than the total time needed for Mach 1, I gave up and Xilinx lost that product. It was years before Xilinx got its tools act together and I was able to use 9500XL parts in many later designs.
I can see having licence management for something like a video game where the software is the whole product and there is a high temptation to steal it, but there is only one possible use for FPGA/CPLD design software: to design the vendor's chip into actual products. Why in the world (or "the seven types of hell" as you so eloquently put it) would a vendor want its software to prevent people from doing that? And why charge extra for the version of the software needed to design using chips that cost $1400 each? Isn't there enough profit margin in those chips to easily pay for the tools?
FPGA tools have long been the poster children for why we need Free-as-in-Liberty Open-Source Software (FLOSS). IMO if FPGA vendors had open architectures so that FLOSS tools could be created they would be used by far more people for far more designs, and FPGA vendors would be like Intel and ARM instead of keeping themselves small. JMO/YMMV
What are the engineering and design challenges in creating successful IoT devices? These devices are usually small, resource-constrained electronics designed to sense, collect, send, and/or interpret data. Some of the devices need to be smart enough to act upon data in real time, 24/7. Are the design challenges the same as with embedded systems, but with a little developer- and IT-skills added in? What do engineers need to know? Rick Merritt talks with two experts about the tools and best options for designing IoT devices in 2016. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.