Recommended FPGA Tools? - Page 1
Forum section: electronics / general

author: Phobos
author_rank: Newbie
timestamp: October 30, 2013, 05:05:40 pm
content: G'day all!Admittedly, this is the first time I have used a forum in over a decade (woo, go IRC and Skype...), but I did quickly search to see if such a thread already existed. My rudimentary skills couldn't find anything though so apologies otherwise!For an electronics and FPGA hobbyist, would there be other tools worthwhile checking over than the Xilinx Vivado/ISE WebPack? There are no personal complaints as of yet (fingers crossed) and I am a most happy user, although it'd be nice to see what the competition is. There is already an excellent thread here about PCB Design tools from 2011-2012 (forgotten the link) so howcome I haven't found anything for FPGAs?Also! Right now, I am downloading Xilinx Vivado 2013.3 so here's to hoping that they've fixed those Microsoft Windows 8 bugs concerning x86_64

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: October 30, 2013, 05:12:47 pm
content: You're pretty much stuck with the IDE the manufacturer provides with the devices you choose. General consensus appears to be that Altera is about the best, but they don't have as good a range of low-end devices and Xilinx and Lattice.Unless they've fixed it recently, Xilinx SW is a PITA as it's colossal, and bloated out with files for devces you can't even use in the free version.

author: Phobos
author_rank: Newbie
timestamp: October 30, 2013, 05:26:07 pm
content: Thank you for the replyThere's no need to tell me about the colossal size of Xilinx's offerings, and yeah, it really does make the software a pain to navigate and learn on second-thought. It does equip you with the experience needed for the more higher-end editions though, I suppose...I do wonder.. what would differentiate a 'decent' FPGA toolset from another? It's ability to simulate? Maybe I'm just rambling

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: October 30, 2013, 05:32:49 pm
content: I don't do much FPGA stuff, but my major complaints are about really simple UI stuff, like why can't I have a single keypress to build, beep when it's done, and program the device.And don't get me started on the archaic nature of HDLs...

author: Phobos
author_rank: Newbie
timestamp: October 30, 2013, 05:44:19 pm
content: I might be wrong, but you sound like an old fashioned computer programmer to meMy observation for these types of grievances has been companies implementing simpler and simpler user interfaces, or simply ones that can't be 'muddled up' by the non-technical user. Of course, that's my observation...EDIT: I only realized now whom you were! Your YouTube videos are greatly enjoyable along with the EEVblog videos

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: October 30, 2013, 06:11:56 pm
content: Maybe, but I just want the same capbilities in an FPGA tool that I have in a software IDE, for example :C-like preprocessorMultiline commentsBuild options that can specify device, pinout and functionality variants with a single setting, so I can easily switch between proto and produciton boards, and handle product variants properlySingle key compile and downloadNot too much to ask is it?

author: nctnico
author_rank: Super Contributor
timestamp: October 30, 2013, 06:30:02 pm
content: IMHO you should be able to get Eclipse to do this. There are several Eclipse plugins for FPGA development. Maybe you'd need to write some wrappers or scripts to compile designs.At a former employer we used DOS batch files to build various FPGA (Xilinx) designs from a library with partial FPGA netlists. The IDE the FPGA vendors provide is just a quick&dirty hack to get started quickly. Definitely not the workflow for professional large scale FPGA development. The tools itself are command line based so they can be used from many (scripted) programming languages.

author: Harvs
author_rank: Super Contributor
timestamp: October 30, 2013, 11:43:21 pm
content: Quote from: Phobos on October 30, 2013, 05:44:19 pmI'm just getting back into FPGA work after a break of about 7-8 yrs since I did anything serious with them.What I find surprising is they don't seem to have made any significant progress on getting the tool chains more integrated to speed up the design flow. If I think about where we were ten years ago with uC software dev tools, it was pretty much nothing more than notepad with a few shortcuts to autogen the makefile and run the compiler, but the IDE's have come along in leaps and bounds. For example I'm surprised there hasn't been any progress whatsoever on features like testbench generation. In fact other than fixing a lot of bugs that caused continuous crashing, I can't really see much if any progress at all with Xilinx tools.

author: free_electron
author_rank: Super Contributor
timestamp: October 30, 2013, 11:59:05 pm
content: Quote from: nctnico on October 30, 2013, 06:30:02 pmPlease lets not go down this pathway ... eclipse is a text editor. It is a NOT an FPGA design tool.you can do coding in notepad if you want to.an fpga design tools has schematic entry , simulation timing extraction and closure , pin planning , and much more. eclipse covers just the textual entry. beyond that it doesnt do anything.And it is a pain in the ass to configure right.Stick to what the device makers give you.

author: Fsck
author_rank: Super Contributor
timestamp: October 31, 2013, 12:00:53 am
content: Quote from: Harvs on October 30, 2013, 11:43:21 pmVivado's pretty different compared to their older ISE, but Vivado only works with 7-series fpgas

author: nctnico
author_rank: Super Contributor
timestamp: October 31, 2013, 02:01:36 am
content: Quote from: free_electron on October 30, 2013, 11:59:05 pmYou couldn't be more wrong. Eclipse is designed to organise code (any kind of code) and helps to streamline the development process. With the highly integrated version control capabilities its easy to work on a project with a team. Besides that the editor alone beats any editor hands down. But don't take my word for it:http://www.design-reuse.com/articles/22997/hardware-designers-eclipse.html

author: denneyaa
author_rank: Unknown
timestamp: October 31, 2013, 02:47:51 am
content: I have used both Xilinix and Altera Quartus with Nios II Design Suite. I find both to have their advantages and disadvantages. Normally during my testing phases of a core processor addition I will use Xilinix for their simulation I feel has a better workflow compared to Quartus.When it comes down to complete processor design though I would much rather be using Quartus with Nios II Design Suit. It allows for the simple I want this, this and this and drop it in and then go directly into the coding of the software that I need to run on top of the processor and not be spending time on the base processor it's self.Each different manufacture has their own design suite they want to have you use theirs. If you find a design suite that you like well and works for what you are creating and designing that will be your best choice. I find that having multiple ones works well for what I need and do.

author: mrflibble
author_rank: Super Contributor
timestamp: October 31, 2013, 04:41:59 am
content: Quote from: nctnico on October 31, 2013, 02:01:36 amActually, he's right on the money.Don't get me wrong, I like eclipse and use it quite a bit. But for fpga development it just doesn't cut it. You link to a poorly written article about a decent tool (sigasi), so lets take that as an example.I want mixed VHDL & Verilog capability. Oh wait, sigasi doesn't do that. Well oh alright, I want just System Verilog then. Oh wait, sigasi doesn't do that. Well oh alright, I will settle for VHDL. And I want to do some floorplanning. Oh wait, sigasi doesn't do that. RTL view? Nope. Timing analysis then? Nope. The list of ...Q: <can haz feature>? A: nope.goes on.Maybe you just meant that eclipse has a whole lot ofpotentialto become a good HDL toolchain. In which case I'd agree, because for the coding side eclipse has boatloads more underlying functionality than thecrapeditors fpga vendors provide. But so far all that is unrealized potential. You'd need actual support by the fpga vendors to get something really useful, and so far they apparantly lack the motivation to do that. After all, vendor lock-in is much cooler!If you're only coding VHDL then Sigasi is definitely an interesting step in the right direction, but a solution for the entire toolchain it is not. Not even by a long shot.And sigasi is the best eclipse based attempt I've seen so far, sooooo maybe we'll just have to wait a few years.

author: mrflibble
author_rank: Super Contributor
timestamp: October 31, 2013, 04:56:41 am
content: Quote from: Harvs on October 30, 2013, 11:43:21 pmYup, that's pretty much my observation as well. Current ISE is pretty much stable, and has no curious "features" like it used to many years ago. Except of course fpga editor, which still is awesomely handy AND awesomely crash prone. What's that, list goes over 255 items and you want to actually SCROLL? Can't have that now can we? CRASHY!!! For some time Xilinx was going in the right direction with planahead, but then they decided naaaah, fuck it, we'll just do an entire new toolchain (Vivado) and not put any more resources on planahead. Oh yeah, and lets not support older devices Vivado. That'll teach those pesky customers!I like the xilinx silicon and documentation, but the tools could have been better.As for the OP: you're basically stuck with whatever the fpga vendor gives you. So just check out the tools for your chosen fpga and see if you can live with it. I've played with Altera (yeeeeeaaaars ago), Xilinx (I use that most often), and recently Lattice (so far I like it) ... but they all have their pro's & cons.

author: Phobos
author_rank: Newbie
timestamp: October 31, 2013, 05:28:01 am
content: From reading these posts and viewing EEVblog videos, it seems that the software side of the electronic's industry isn't all that... sane!By the way, is Simulink worthwhile looking into as a hobbyist? It seems that MatLab integrates with Xilinx Vivado, although I have never used the former before.

author: mrflibble
author_rank: Super Contributor
timestamp: October 31, 2013, 05:42:19 am
content: Quote from: Phobos on October 31, 2013, 05:28:01 amDunno, maybe if you're into some serious DSP.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: October 31, 2013, 09:33:11 am
content: Quote from: nctnico on October 30, 2013, 06:30:02 pmIt is ridiculous that I should be expected to dick about with stuff like this.I have occasionally looked into bypassing the IDE but failed to find any decent documentation or examples on how to do it. And a major issue with customising a build environment is it often falls apart when they do a major update of the tools.The manfacturers provide an IDE. That IDE should be designed to make development easier, quicker and less prone to errors.As has been already said, FPGA software IDEs are lagging many years behind software IDEs, and the stupid thing is that compared to the work involved in the insane complexity of compiling an HDL description into an efficiently placed & routed FPGA, making the IDE mode useable is trivial.One issue is that many of the tools are clearly bought in, probably from different vendors - a typical compile can show at least half a dozen different names in the copyright messages.

author: Balaur
author_rank: Unknown
timestamp: October 31, 2013, 11:02:51 am
content: Quote from: mikeselectricstuff on October 31, 2013, 09:33:11 amThe FPGA EDA flow is conceptually (and actually) much closer to ASIC EDA design flows. You start from the same input HDL files, you use similar (and in some cases identical) synthesis, simulation, place & route tools and you work in the same way in both flows.I'm not trying to defend the current status of the semiconductor EDA industry (well, I might be biased since I'm both a designer and an EDA tool vendor), but I don't find IDEs (or the lack of) to be a show stopper. At the design flow that it is usually required by FPGA works (i.e. mostly frontend) working without a GUI is a non-issue.Basically, most design flows are highly automated in the sense that somebody will invest significant effort to build a flow that works correctly for a given set of conditions (mostly determined by the target implementation technology or platform). Then, the majority of designing efforts happens iteratively inside this flow, using (almost exclusively) text input files, and a series of highly repeatable operations (make synthesis, make simulation, ...). Nobody wants to use a GUI/IDE because it's prone to error and operator fatigue. You make your modifications, type "make validation" or whatever and you have your (textual) report. Yes, it may have run tens of highly specific EDA tools from various vendors, but I have my report and I'm happy for that.Moreover, we are talking about relatively heavy operations. We have FPGA design flows that may take hours to complete. We use Design Validation Environments that take days to exhaustively verify that your design fits some functional specifications or whatever. All that runs on remote Linux Server Farms. You don't want to work interactively or using a IDE or GUI to do all this.On the EDA software side, even our tools (that are relatively mid-complexity when compared to standard EDA behemoths) have completely automated build processes. I want/need to modify something. Good, edit the *.c file, type "make package" or "make package-customer-x" and there, you have your stuff building up for you, minimizing manipulation or procedure errors.Best regards,Dan

author: nctnico
author_rank: Super Contributor
timestamp: October 31, 2013, 11:40:39 am
content: In addition to that AFAIK big design houses use commercial tools from Synopsis etc. Like I typed before: the IDEs provided by the FPGA vendors are there to give new and small customers a somewhat workable environment without shelling out loads of cash. It is not intended to be used as a 'production' tool; that would impair profits coming from commercial tool vendors.As far as my experience goes the command line tools from Xilinx have been pretty much the same across the several versions.