Free Tools for free Hardware

Hagen Sankowski

hsank@nospam.chipforge.org

Introduction

The Free Software Definition

Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:

(c) Free Software Foundation

It doesn't mean:

A "Open Source Initiative" (OSI) certified licence is a precondition!

Electronic Design Automation (EDA)

Spice

Verilog

[Personal Statement: I'm 10 times more productive in Verilog than in VHDL. But I love too the nice features of VHDL like type definition, resolution function, generate etc.]

VHSIC Hardware Description Language (VHDL)

[Personal Statement: With VHDL you can simulate everything, the weather too. But who wants?]

Design Flow

High Level Entry

behavioral Description on a high level

or as Schematic

Simulation

based on the High Level Entry

[Don't go further without any successfull simulation!] [This means, your testbench has the highest value of work you've ever did on your design!]

Netlist

generate netlist

Re-Simulation

repeat simulation

Place & Route (P&R)

virtual on Computer

Design Rule Check (DRC)

mind good rules for a good design

Parasitics Modelling

modelling all parasitics you know

Re-Simulation

a design you don't stress doesn't work

Production

generate fab-ready files

Test

generate stimuli & response testpattern

free Tools

GUI/Project Manager

Schematic Capture

Netlist Generation

[iverilog is able to generate EDIF netlists!]

Simulation

[ghdl and freehdl uses the gcc to compile executable programms] [ghdl goes therfore into the gcc backend, ready to link; freehdl just generate C code] [compilation generate a file to run, like "./tc_reset" with some options]

Simulation Example: iverilog

[make controll nearly everything, in this case you may see make + testcase name] [use of a failure counter is a good way to know wether the testcase was passed or failed] [see last line with testcase name and *well done* you may grep over logfiles]

Waveform Viewer

[GTKwave has problems with sophisticated VHDL typing. Keep typing simple, if you plan to use GTKwave] [gwave just belongs to analog simulations]

Waveform Example: GTKwave

[the same testcase as seen with iverilog]

Printed Circuit Boards

[kicad seams to be still buggy in case of export into align file formats. Or otherwise spoken, proprietary tools got trouble reading exported files from kicad]

VLSI tool suites

[alliance and electric are more or less complete] [magic is just a layout tool] [ivi is just a GUI for Icarus Verilog and GHDL]

-still missing-

[theres the big need for the autorouter for PCBs!] [place & route for FPGAs is out of scope, 'cause the bitstreams for the two big players on FPGA market, Xilinx and Altera, are closed. Reverse Engineering isn't a legal act!]

Links

[please check the top links first.]

Thanks for listening!

please feel free to ask..

[I'll update the foils in the next time with all stuff belongs to your questions.]