31
\$\begingroup\$

I am interested in learning VHDL and Verilog. I was wondering if there is any free IDE for those?

\$\endgroup\$
2

10 Answers 10

33
\$\begingroup\$

1st of all: welcome to the world of logic design.

2nd you need to understand the "designflow" (important buzzword!) designflow in VHDL/Verilog is :

  1. think about a design you want to implement, e.g. an adder
  2. implement the design in VHDL/Verilog
  3. implement a testbench in VHDL/Verilog
  4. use the testbench for simulating your design (from step 2)
  5. if this works and the simulation is successful, try to synthesize the design
  6. do all the other stuff, like map, place and route
  7. build a .bit file
  8. use your JTAG to program your FPGA
  9. PROFIT! (hopefully)

so, as you can see, these are a LOT of steps. for quite a few of them are open source tools available. Only free would be pretty boring, so I will try to show you what the market has.

  • for step 1) the most important is Libre/openOffice Calc, paper and a pencil and if you have large FSMs maybe Qfsm
  • step 2) you need a good editor, grab one you like and everything is fine. there are a few specialized for VHDL, the best is sigasi (you have to google this one, spam prevention). For this task you can already use one of the big vendors IDEs, but trust me, that ist NOT what you want
  • step 3) -> step 2
  • step 4) here are a few possibilities: Xilinx ISim, (Altera) Modelsim, (Lattice) Aldec, ghdl in combination with GTKWave. I think there are more Simulators, but this should be enough for beginning. All these tools are Simulators only, although they bring a full IDE (except of ghdl).
  • step 5) do yourself a favour and use the tool provided by the manufacturer of your FPGA. if you are experienced enough you could try Icarus Verilog, too.
  • step 6 and 7) no other chance than using the vendortools
  • step 8) so many tools do that, even the tools provided by the FPGA vendors. i like using commandlinestuff, so i keep using some obscure flashing programs, but vendortools are okay, too.

hope i could help

\$\endgroup\$
3
  • 1
    \$\begingroup\$ What's wrong exactly with using the editors included with the vendor tools? They seem basic, but functional. \$\endgroup\$
    – drxzcl
    Aug 14, 2012 at 21:54
  • \$\begingroup\$ yes, they are very basic, but at least the linux one from xilinx and altera don't even have easy block edit. this is very frustrating if you want to comment-out blocks since vhdl has no block commands \$\endgroup\$
    – milch
    Sep 19, 2012 at 10:59
  • 1
    \$\begingroup\$ I'm on the windows version, and there is a "comment block" option in the context menu. For other block editing operations you are on your own :P \$\endgroup\$
    – drxzcl
    Oct 2, 2012 at 12:30
7
\$\begingroup\$

Any programming IDE or text editor can actually be used with hardware description languages, and any decent one should be able to launch a compilation (targeting simulation or hardware) toolchain. As a result, the actual question to accomplish something is "what free HDL compilers are available" - with answers being things such as Icarus Verliog, GHDL, etc. Pair these with emacs or whatever and you are good to go.

However, when many people ask for an "IDE" what they mean is something slick, ready to go, often with some contextual hints/help. The general answer for that, is the limited "web version" of the in-house toolsets offered by major FPGA companies, such as Xilinx (ISE) or Altera (Quartus). You do not have to actually have any hardware from the respective company to compile designs, or to play with whatever (typically size- or time-limited) license for a simulator they include. That said, the $50-150 to get a basic FPGA board can make the experience a lot more "real" and expose you to some at times surprising differences between what happens in a simulator and in an actual circuit (generally resulting from things you have neglected to fully specify, where the simulator assumes one thing and the hardware does something else)

\$\endgroup\$
5
\$\begingroup\$

Best option: Sigasi. Either stand-alone, or plug-in to Eclipse (they will look very similar). The free version doesn't have code refactoring functions and similar, but rather reduces to a "VHDL IDE" - exactly what you want.

\$\endgroup\$
4
\$\begingroup\$

I'm currently using the free IDE from Xilinx. You can download it here (assuming you're not living in North Korea, etc.): http://www.xilinx.com/support/download/index.htm

Currently it's called "ISE Design Suite" but over the years, Xilinx has renamed it. While it's free, it cannot be used on the truly large or very modern Xilinx FPGAs. I'm using it right now on a Spartan6 LX45 design, the Digilent Atlys board (which currently costs $200 to people in academia, $349 to those outside): http://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,400&Cat=10&FPGA

The other main FPGA vendor is Altera. They also have test boards and a free IDE called "Quartus": http://www.altera.com/products/software/sfw-index.jsp

\$\endgroup\$
3
\$\begingroup\$

With regular IDEs, you are stuck with what they offer you. But with Emacs 24, you can customize it to whatever bizarre desire you have! I use it with prelude, and highlight-indentation modes. Look how purty!

enter image description here

Emacs is not exactly an IDE, but why not make it one?

  • Version control
  • Hotkeys to run your external compiler, lint tool, simulator, make file, etc.
  • Can add code folding
  • Hotkeys to insert common code blocks
  • Automatic commenting
  • You probably already have it!
\$\endgroup\$
3
\$\begingroup\$

Here are a couple free IDEs:

SystemVerilog, Verilog, VHDL, and other HDLs

  • EDA Playground is a web browser-based IDE that offers an editor with syntax highlighting and a choice of simulators. Since it runs from a web browser, there is nothing to install. It is good for small prototypes, but not for large projects.

SystemVerilog and Verilog

  • SVEditor is an Eclipse plugin. You need to provide your own simulator. Also, it indexes 1 file at a time, which is more restrictive than many commercial simulators allow. Recommend having a single top level file for the indexing.
\$\endgroup\$
2
\$\begingroup\$

Since these have not been mentioned here yet:

\$\endgroup\$
1
\$\begingroup\$

There's not really a complete IDE available for RTL design.

Your best bet is to start with emacs or vi with a vhdl or verilog syntax plugin, and remap a few function keys to compile, run and do some basic version control stuff. Bare-bones code completion is built-in to the editors, but they are not really VHDL/Verilog aware.

\$\endgroup\$
0
\$\begingroup\$

For Verilog, there is a new editor available at http://www.verilogeditor.com It's based on Eclipse and it is currently in Beta.

\$\endgroup\$
0
\$\begingroup\$

I recently found a quite good VHDL/Verilog editor (http://www.vide-software.at), which is a plugin for Microsoft Visual Studio. If you are a student, it's for free. Otherwise a license costs just about 30EUR.

If you know and like Visual Studio, you will like this plugin! It's also quite sophisticated, as it supports renaming, finding references, goto definition, code completion, etc. Most (free) editors I tried before were missing those features.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.