12
\$\begingroup\$

Are there any free or open source synthesis tools available that can convert Verilog RTL into a generic gate netlist? (composed of generic NAND, NOR, XOR, D-flops/registers, etc. Optimization not required.). If not for the full language, how about for a "useful" subset of RTL (beyond merely a Verilog gate level netlist)?

\$\endgroup\$
0

3 Answers 3

12
\$\begingroup\$

Yosys does exactly what you want and supports a large portion of Verilog-2005. Have a look at the */rtl/ directories at https://github.com/cliffordwolf/yosys-bigsim/ for examples that can be synthesized with Yosys.

Disclosure: I am the author of Yosys.

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

Icarus Verilog, OSS tool, very handy, even has a simulator. http://iverilog.icarus.com/

Its a Verilog simulation and synthesis tool. It operates as a compiler, compiling source code written in Verilog (IEEE-1364) into some target format. For batch simulation, the compiler can generate an intermediate form called vvp assembly. For synthesis, the compiler generates netlists in the desired format. The compiler proper is intended to parse and elaborate design descriptions written to the IEEE standard IEEE Std 1364-2005.

Icarus Verilog is a work in progress, and since the language standard is not standing still either, it probably always will be. That is as it should be. However, I will make stable releases from time to time, and will endeavor to not retract any features that appear in these stable releases.

The main porting target is Linux, although it works well on many similar operating systems. Various people have contributed precompiled binaries of stable releases for a variety of targets. These releases are ported by volunteers, so what binaries are available depends on who takes the time to do the packaging. Icarus Verilog has been ported to That Other Operating System, as a command line tool, and there are installers for users without compilers. You can compile it entirely with free tools, too, although there are precompiled binaries of stable releases.

\$\endgroup\$
2
  • \$\begingroup\$ Can you give us a bit more about what it can do? \$\endgroup\$
    – Kortuk
    Feb 14, 2012 at 1:33
  • 4
    \$\begingroup\$ Icarus Verilog 0.9+ has "more or less dropped" support for synthesis. \$\endgroup\$ Dec 24, 2012 at 23:49
4
\$\begingroup\$

I think your need is best served by HDL Analyzer and Netlist Architect (HANA) : https://sourceforge.net/projects/sim-sim/files/ It supports almost whole of Verilog 1995-2001 constructs. It generates output in terms of generic gates in Verilog format. Also you can specify technology library to be mapped to. It has its own library format.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ HANA (sim-sim project) seems to be no longer maintained. \$\endgroup\$
    – user35443
    Oct 2, 2013 at 14:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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