I have to study VHDL from 0 and i'd like to have an option that runs under a linux kernel instead of NT/Windows: any tips? I can also really appreciate some good links to good VHDL resources for a beginner, thanks.
Both Xilinx ISE and Altera Quartus II IDEs run under Linux. Free downloads are available:
There is also Symphony EDA:
which might be better if you don't need synthesis. It's a nice piece of software. The free version might be adequate.
You can use any editor you want to write your design, but I want to suggest Sigasi. Sigasi 2.0 is a powerful editor based on Eclipse that provide auto-completion, refactoring, code beautification and much more. I've used Vim a lot in the past, but Sigasi has really been a significant performance booster. It's free for academic use, so I suggest that you see for your self.
Although most vendor suites include some sort of compiler, you might be better of with a simpler alternative:
- GHDL : Open-source VHDL simulator based on GNAT and GCC.
- Simili : Free for small projects VHDL simulator and IDE.
Both of these are great tools that are handy since they don't require a license which might be a problem when your on the road or at home.
Both Altera, Xilinx and Actel provide free versions of their suite that you can use if you want to run your design on a real target.
Working in this field, I can simply tell you the serious vendors, including Xilinx and Altera, already have Linux versions of their tools. Both pale as code editors in comparison to emacs with the relevant modes.
For simulation interfaces they are fine, with ghdl, icarus verilog or verilator followed by gtkwave the free alternative; I don't know of a convenient interface for the simulation other than possibly qucs (which is primarily a circuit simulator, like spice, but uses freehdl and icarus verilog to simulate digital components). gtkwave is often enough for analysis, though the data amounts get rather large.
As for final synthesis and place and route to FPGA, there's currently no real alternative to the non-free tools. Programming once you have the bitstream in a suitable format is less restricted, and for boards like ORDB2A (which I helped design) we do use free tools such as UrJTAG. If you're aiming at ASICs, Alliance is an interesting possibility.
I was about to suggest emacs, with vhdl mode.
However, that would just provide you with code editing functionality, and you would still require the ISE/QuartusII tools to do synthesis.