6 ms·
The tools for FPGAs are horribly clunky and extremely difficult to script since most are Windows GUI based. Glad to see people working to rectify this.
by astrodust 12y ago
The tools for FPGAs are horribly clunky and extremely difficult to script since most are Windows GUI based.
Glad to see people working to rectify this.
- vonmoltke 12y agoIndeed. It's unfortunate that they need to do their work in spite of the companies that make the hardware. Actually I would like to get involved in that. What are the IRC channels referenced in the post?
- diamondman 12y agoSadly it is private. It is a channel for reverse engineering silicon devices. If you are interested and you hang out in IRC channels for microcontrollers, FPGAs, etc, and ask the right questions you may get an invite.
- dominicgs 12y agoI haven't had problems scripting the Altera tools. We use make on Linux to build things for the Daisho project[1]. Or were you thinking of something more advanced than that? Having said that, I'm 100% in favour of open tools. I think the current tools are one of the biggest barriers to the use of FPGAs. I also think that they cause a lock-in effect for developers, which hurts FPGA adoption as a whole. [1] https://github.com/mossmann/daisho/blob/master/sw/fpga/targets/common.mk https://github.com/mossmann/daisho/blob/master/sw/fpga/targe...
- kornholi 12y agoNot just FPGA tools, pretty much the whole EE industry. Few days ago I had trouble saving results from a semiconductor analyzer. The problem? Path had spaces in it. If you have the time to display a warning that it doesn't support spaces (on windows!), you should be able to fix the issue. Just imagine how bloated their codebase that you can't fix issues like this easily. Recently I was trying to use ModelSim (HDL simulation tool) on a Linux machine, which unfortunately was not running a 10 year old distribution. It was failing with obscure Tcl/Tk errors :). Should have known better not to waste my time. Reinstalled it on a windows machine and now it was having problems connecting to our license server so I had to use a crack from a Chinese BBS (ugh). I really want work to be done in this area, but one of the giants will either sue you into oblivion or make an offer you can't refuse. Either way nothing productive will get done... :(
- zwieback 12y agoTcl script errors on Altera tools - brings back lots of bad memories... It seems like as soon as you try to break out of the standard way of doing things the scripts break.
- bliti 12y agoThese codebases are often sub-contracted to the lowest bidder. Which explains all of the issues that everybody has on a daily basis. Sadly, hardware is a race to the bottom, and there is little motivation to provide quality tools.
- diamondman 12y agoI am OP astrodust: That is exactly the problem :). Turns out ISE (Xilinx's tool) has several command line tools that are run by the GUI in order, but the arguments are not documented. I was able to make a Makefile that did the ISE compilation so I could edit in emacs, but that was way too much crap to be real. The new generation of Xilinx's tools, vivado, is written in Java and does not output any temporary files so during compile it can fill over 32 gigs of RAM and crash. Xilinx suggests that until max ram gets higher to use ISE for larger chips. kornholi: I do not want to insult hardware engineers since they are very intelligent, they just often do not respect the same things software engineers do. I went to an Atmel event where they were demonstrating how to use their new ultra low power chips. It turns out that most of the people who went were software people driving down from SF. They started off by reminding us that they have a new IDE based on the powerful and versatile Visual Studios. Everyone in the audience groaned. Almost everyone in the audience asked for assistance to find where the Makefile was. The following exchange happened over and over. host: Oh, but you see, with AVR Studios, you do not have to _worry_ about the Makefile, it does it for you. guest: yeah but I do not want to use it. host: but... why would you not want to use the tool we provide, it works. It seems to me that most of the hardware industry will take whatever tools they can get, even if they have to have the company pay several thousand dollars. The ones I have met forget that they can write tools. When the tools need to be created they just pick whoever is the most comfortable in Java, or outsource it to anyone. This all sounds very critical of professional hardware engineers, but it is not exclusively their fault. It is also a culture thing of the companies and the industry. Everything feels to me like how software engineering was (as I am told) in the 70-80 where everyone is super paranoid about secrets, and rushing to be the first. There is reasonable concern for being the first. If you build the first flash ram chip, 40 years in the future when we have moved from flash to crystallized light or something, everyone who wants to compete will be using the same pinouts you picked for your first product so that boards never have to be redesigned. As for ISE and vivado, I hear it suffers from design by committee. Where every feature has to be checked off as working before it will ship so there is a new bullet point. Hell, they have a C to fpga compiler which you would suspect could do some crazy things and took thousands of engineering hours to make work. But instead it just implements a CPU in the FPGA with slightly accelerated operations for your setup, completely missing the point of FPGAs.
- fnordfnordfnord 12y agoSome of the Xilinx and Altera tools come with and install Cygwin (and tcl). Watching WINE install Cygwin is good for a chuckle.
- UncleOxidant 12y agoThe Xilinx tools are all over the map. It looks like some of them were developed in Tcl others in C and C++. Some on *nix others on Windows. It's quite a hodgepodge.
- diamondman 12y agoOh god i never noticed that! Maybe it does not install when running the native linux ISE.
- fnordfnordfnord 12y ago>Maybe it does not install when running the native linux ISE. Quartus II does, I just checked. IIRC ISE does it too. Can't check that one for you right now though.