HDL Hackers: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
 
(55 dazwischenliegende Versionen von 16 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Fachbereich HDLs und FPGAs =
= Fachbereich HDLs und FPGAs =


Der ''Fachbereich HDLs (Hardware Description Languages) und FPGAs (Field Programmable Gate Arrays)''
Der ''Fachbereich HDLs (Hardware Description Languages) und FPGAs (Field Programmable Gate Arrays)'' beschäftigt sich mit dem Design komplexer logischer Schaltkreise am Computer mittels Hochsprachen zur Hardwarebeschreibung wie Verilog HDL oder VHDL.
beschaetigt sich mit dem Design complexer Logischer Schaltkreise am Computer mittels Hochsprachen
zur Hardwarebeschreibung wie Verilog HDL oder VHDL.


= Verilog HDL Workshop =
Dabei liegt aus praktischen Ueberlegungen der Schwerpunkt auf FPGAs, aber auch Bereiche wie VLSI CMOS
Design sollen nicht zu kurz kommen.


Clifford wird einen [http://de.wikipedia.org/wiki/Verilog Verilog HDL] Workshop
= Interessenten =
(aka ''Hardware Hacken ohne Loetkolben - Workshop'') halten. Interessenten:
* [[user:clifford|clifford]]
* [[user:wizard23|wizard23]]
* [[user:pk|PK]]
* [[user:metaz]]
* aaron
* [[user:natano|natano]]
* [[user:themel|themel]]
* [[user:Roodi|roodi]]
* [[user:harald|harald]]
* naxx
* [[user:MariusKintel|MariusKintel]]
* [[user:Lydschi|Lydschi]]
* mec
* wd


* [[user:clifford]]
= Termine =
* weitere hier eintragen
 
== 29.7.2006: Verilog HDL Workshop ==
 
Clifford hat einen [http://de.wikipedia.org/wiki/Verilog Verilog HDL] Workshop (aka ''Hardware Hacken ohne Loetkolben - Workshop'') gehalten. Termin war Sa., 29.7.2006., 16:00
 
== 7.3.2007: Vom Transistor zum Gatter ==
 
[[user:clifford|Clifford]] gab eine abendfuellende Einfuehrung in die unterste Ebene moderner CMOS Logikschaltungen. Die Folien zur Presentation gibt es auf Cliffords Homepage: http://www.clifford.at/papers/2007/cmosbasics/
 
Es wird angedacht mal eine Wiederholung des Vortrags auf mehrere Termine aufgeteilt zu machen.
 
== NOCH KEIN TERMIN: Entwurfsmuster digitaler Schaltungen ==
 
Digitale Schaltungen bestehen im wesentlichen aus immer wiederkehrenden Grundmustern. Wenn man diese Grundmuster kennt ist die
Herangehensweise fuer das Erstellen komplexer Logikschaltungen wie beispielsweise CPUs viel klarer. Diese Praesentation von
[[user:clifford|Clifford]] handelt nacheinander die wichtigsten Entwurfsmuster ab und soll so eine idee davon vermitteln wie aus
einzelnen Gattern komplexe Funktionen implementiert werden koennen.
 
* Ueberblick ueber die Logischen Gatter
* Ueberblick ueber andere Grundelemente (FlipFlops, Latches, Multiplexer)
* Ripple-Carry-Adder als Beispiel fuer zusammengesetzte Logikelemente
* Aus dem Addierwerk wird ein Zaehlwerk
* Finite-State-Machines und Steuerwerke
* Lookup-Tables und Decoder
* Richtiges Pipelining
* Gatter vs. Transistor
* Designflow, Y-Diagram
 
Fuer das Verstaendnis der Praesentation wird vorausgesetzt:
 
* Grundlegendes Verstaendnis von Logikgattern wie es auch fuers Programmieren notwendig ist (was bedeutet AND, OR, XOR und NOT).
* Neugierde
 
'''Terminvorschlaege und Kommentare bitte nach dieser Zeile einfuegen'''
 
= Software =
 
Kurze pointer zu (freier und nicht ganz so freier) Software im EDA bereich. Bitte nur Software hier
eintragen die man auch wirklich empfehlen kann. Es gibt eine ganze menge OSS projekte die von sich
behaupten gute EDA/CAD programme zu sein. Die Schwierigkeit liegt hierbei darin die wirklich brauchbaren
zu finden.
 
== Icarus Verilog ==
 
Netter Verilog HDL simulator. Kann auch synthese nach EDIF 2.0 netzlisten mit LPM library, wenn man sich
aber die netzlisten mal ansieht kommt man drauf das man dieses feature nicht ganz so ernst nehmen kann.
 
Einige der neueren Verilog HDL features (z.bsp. generatoren) werden kaum oder granicht unterstuetzt.
Dennoch ist Icarus Verilog der beste (i.e. einzige brauchbare) freie Verilog HDL simulator den ich kenne.
 
http://www.icarus.com/eda/verilog/
 
== GTKWave ==
 
Waveform-Viewer fuer VCD (Value Change Dump, beliebtes Dateiformat fuer die Ausgabe von Verilog
Simulationen) und ein paar andere Formate. Fehlersuche in komplexeren HDL Designs ist fast
unmoeglich ohne halbwegs brauchbaren Waveform-Viewer. GTKWave ist da ein recht brauchbarer
Vertreter dieser Gruppe von Programmen.
 
http://home.nc.rr.com/gtkwave/
 
== Qucs ==
 
Qucs (Quite Universal Circuit Simulator) ist ein sehr vielseitiger circuit simulator (digital wie analog) mit einer
GUI um Schaltplaene zu zeichnen. Die Autoren bezeichnen das Projekt als noch in einem sehr fruehen Stadium befindlich.
Um so beeindruckender ist was alles bereits geht. Besonders nett ist die Moeglichkeit Diagramme mit den Ergebnisen
unterschiedlicher Simulationsdurchlaeufe in die Schematics einzubinden und mit einem einfachen click auf den 'Simulate'
Button upzudaten.
 
Auf der Digital-HDL Seite bietet Qucs Support fuer VHDL und Verilog-HDL. Darueber hinaus scheinen die Dateiformate von Qucs recht einfach zu parsende XML-aehnliche Dateien zu seien - es sollte also auch recht einfach sein daraus diverse Netzlisten zu erstellen.
 
http://qucs.sourceforge.net/
 
== TKGate ==
 
TKGate ist ein digital circuit simulator mit einer GUI in der man Schaltplaene zeichnen kann. Das nette:
TKGate benutzt als dateiformat Verilog Netzlisten (bzw. ein subset davon) und legt angaben zum layout im
GUI in kommentaren ab. Damit ist es moeglich module in TKGate zu designen (und mit dem eingebauten
simulator ein wenig zu testen) und dann in groesseren Verilog projekten zu verwenden.
 
TKGate hat ein sehr gutes Tutorial in dem die wichtigsten Features erklaert werden das beim Starten
automatisch geladen wird (bis man das in den optionen ausschaltet).
 
http://sourceforge.net/projects/tkgate
 
== Electric ==
 
Electric ist ein GNU CAD programm fuer CMOS ASIC design (in Java). Bis jetzt ist es das beste Programm das
ich kenne um CMOS Masken zu zeichnen und hat eigentlich alles was man sich fuer die aufgabe erwartet
(inklusive direkte anbindung an SPICE fuer die simulation der elektrischen eigenschaften der Schaltungen).
 
Leider finde ich die Bedienung sehr unhantlich (ich hab ne halbe stunde gebraucht um um ein einfaches
CMOS NOT Gatter aus zwei Transistoren (mit zugehoeriger N-Wanne, etc) zu designen. Wie gut die constraint
checking features von Electric sind kann ich derzeit noch nicht sagen..
 
http://www.gnu.org/software/electric/
 
== SPICE ==
 
Urspruenglich ein Berkeley programm, inzwischen so oft geforked und erweitert das man eigentlich nicht
mehr von "dem" SPICE reden kann sondern dazusagen muss welches man meint.
 
SPICE ist ein Tool zur simulation von elektronischen Schaltungen (also nicht '1' und '0' sondern spannungen
und ladungen an MOS-FET Gates, etc) das speziell fuer die Simulation von integrierten Schaltkreisen
optimiert ist. Moderne MOSFET transistoren zeigen aufgrund der Fertigungsgroessen an der grenze des
technisch machbaren nicht gerade ein verhalten das man von einem "einfachen schalter" (als der sie ja
oft bezeichnet werden) erwartet. Ohne ein Programm wie SPICE ist es de-facto unmoeglich CMOS schaltungen
fuer die aktuellen fertigungsprozesse zu entwerfen.
 
Links zu den wichtigsten SPICE implementierungen gibt es auf Wikipedia:<br/>
http://en.wikipedia.org/wiki/SPICE
 
== Xilinx ISE WebPACK ==
 
Von Xilinx gibt es mit dem WebPACK eine gratis-version ihrer Entwicklungsumgebung fuer Windows und Linux. Die installation unter Linux hat es ein wenig in sich wenn man nicht gerade RedHat in der richtigen Version verwendet und die GUI-Teile sind unter Windows wirklich schoener gemacht, ansonsten ist das teil recht
brauchbar solange man sich auf FPGAs beschraenkt, da das ja das zielpublikum von Xilinx ist. Da man
Transitoren und Transfer-Gates hier weder zeichnen noch simulieren kann ist das WebPACK auch fuer das rein
theoretische rumbasteln mit CMOS Designs ungeeignet.
 
http://www.xilinx.com/ise/logic_design_prod/webpack.htm
 
= Buecher =
 
Wenn [[user:clifford|Clifford]] sie nicht gerade bei sich daheim hat liegen die im Lab in der Bibliothek.
 
== CMOS VLSI Design von Neil H.E. Weste ==
 
Besser bekannt als "Der Weste". Sowas wie die Bibel fuer CMOS Design. Behandelt alle wichtigen Standardschaltungen moderner
CMOS designs, faengt bei jedem thema einsteigergerecht an und geht dann immer mehr erschreckend genau in die details,
enthaelt unter anderem Hintergrundinformationen ueber CMOS fertigungstechniken, genaue beschreibungen zur Simulation der
elektrischen eigenschaften von MOS-FETs, einfuehrung in VHDL und Verilog HDL, Schaltungslayout, Simulation und Test
sowie Designflow und Entwurfsmethoden. Kaum eine Frage zu CMOS Design die der Weste offen laesst.
 
Zusatzmaterial: http://www.aw-bc.com/weste/
 
== Verilog HDL von Samir Palnitkar ==
 
Eine recht schoene und vollstaendige beschreibung von Verilog HDL. Einfach zu lesen und praktisch zum Nachschlagen.
 
== Grundlagen der CMOS-Technologie von Thomas Giebel ==
 
Geht in den elektrischen Details (Formeln, etc.) weiter als Weste und gibt hier einen recht guten Ueberblick.
 
== Layoutsynthese elektronischer Schaltungen von Jens Lienig ==
 
Eine recht vollstaendige Abhandlung ueber die gaengigsten Algorithmen zur Entwurfsautomatisierung. Eigentlich nur interessant fuer Leute die wirklich CMOS Design machen oder FPGA Place&Route Tools selbst entwickeln wollen. Um die Beispiele aus dem CMOS Bereich zu verstehen empfiehlt es sich zumindest das Einfuehrungskapitel vom Weste zu lesen.
 
Vortragsfolien: http://www.ifte.de/lienig/layout/index.html
 
== Prozessorbau von Christian Siemers ==
 
Eine schoener Ueberblick ueber die fuer den Prozessorbau wesentlichen Entwurfsmuster und daher auch fuer Leute interessant die andere komplexe Schaltungen entwerfen wollen. Das Buch bewegt sich vollstaendig ueberhalb der Gatterebene und laesst Fragen zur optimalen Implementierung gewisser Teilschaltungen auf Transistorebene offen.
 
== Digitaltechnik von Klaus Fricke ==
 
Eine Uebersicht ueber diverse Entwurfsmuster aus der Digitaltechnik auf der Gatterebene. Viele Beispiele sind aus der TTL-Welt entlehnt, was dem Buch meiner Meinung nach einen gewissen zusaetzlichen Charme verleiht. Ist aber im allgemeinen eher was zum stoebern als zum produktiv lernen.
 
== Taschenbuch Digitaltechnik von Christian Siemers und Axel Sikora ==
 
Ein Nachschlagewerk zu einem Breiten Themenspektrum rund um die Digitaltechnik. Hier werden auch auf nicht-CMOS technologien wie TTL, nMOS, Pass-Transistor-Logik und andere naeher eingegangen. Brauchbare mathematische Modelle zur Simulation von Transistoren und aehnliches sucht man hier aber vergebens.
 
 
[[Kategorie:Workshops]]
[[Kategorie:Interessensgebiete]]
[[Kategorie:WhateverLab]]

Aktuelle Version vom 14. September 2007, 13:08 Uhr

Fachbereich HDLs und FPGAs

Der Fachbereich HDLs (Hardware Description Languages) und FPGAs (Field Programmable Gate Arrays) beschäftigt sich mit dem Design komplexer logischer Schaltkreise am Computer mittels Hochsprachen zur Hardwarebeschreibung wie Verilog HDL oder VHDL.

Dabei liegt aus praktischen Ueberlegungen der Schwerpunkt auf FPGAs, aber auch Bereiche wie VLSI CMOS Design sollen nicht zu kurz kommen.

Interessenten

Termine

29.7.2006: Verilog HDL Workshop

Clifford hat einen Verilog HDL Workshop (aka Hardware Hacken ohne Loetkolben - Workshop) gehalten. Termin war Sa., 29.7.2006., 16:00

7.3.2007: Vom Transistor zum Gatter

Clifford gab eine abendfuellende Einfuehrung in die unterste Ebene moderner CMOS Logikschaltungen. Die Folien zur Presentation gibt es auf Cliffords Homepage: http://www.clifford.at/papers/2007/cmosbasics/

Es wird angedacht mal eine Wiederholung des Vortrags auf mehrere Termine aufgeteilt zu machen.

NOCH KEIN TERMIN: Entwurfsmuster digitaler Schaltungen

Digitale Schaltungen bestehen im wesentlichen aus immer wiederkehrenden Grundmustern. Wenn man diese Grundmuster kennt ist die Herangehensweise fuer das Erstellen komplexer Logikschaltungen wie beispielsweise CPUs viel klarer. Diese Praesentation von Clifford handelt nacheinander die wichtigsten Entwurfsmuster ab und soll so eine idee davon vermitteln wie aus einzelnen Gattern komplexe Funktionen implementiert werden koennen.

  • Ueberblick ueber die Logischen Gatter
  • Ueberblick ueber andere Grundelemente (FlipFlops, Latches, Multiplexer)
  • Ripple-Carry-Adder als Beispiel fuer zusammengesetzte Logikelemente
  • Aus dem Addierwerk wird ein Zaehlwerk
  • Finite-State-Machines und Steuerwerke
  • Lookup-Tables und Decoder
  • Richtiges Pipelining
  • Gatter vs. Transistor
  • Designflow, Y-Diagram

Fuer das Verstaendnis der Praesentation wird vorausgesetzt:

  • Grundlegendes Verstaendnis von Logikgattern wie es auch fuers Programmieren notwendig ist (was bedeutet AND, OR, XOR und NOT).
  • Neugierde

Terminvorschlaege und Kommentare bitte nach dieser Zeile einfuegen

Software

Kurze pointer zu (freier und nicht ganz so freier) Software im EDA bereich. Bitte nur Software hier eintragen die man auch wirklich empfehlen kann. Es gibt eine ganze menge OSS projekte die von sich behaupten gute EDA/CAD programme zu sein. Die Schwierigkeit liegt hierbei darin die wirklich brauchbaren zu finden.

Icarus Verilog

Netter Verilog HDL simulator. Kann auch synthese nach EDIF 2.0 netzlisten mit LPM library, wenn man sich aber die netzlisten mal ansieht kommt man drauf das man dieses feature nicht ganz so ernst nehmen kann.

Einige der neueren Verilog HDL features (z.bsp. generatoren) werden kaum oder granicht unterstuetzt. Dennoch ist Icarus Verilog der beste (i.e. einzige brauchbare) freie Verilog HDL simulator den ich kenne.

http://www.icarus.com/eda/verilog/

GTKWave

Waveform-Viewer fuer VCD (Value Change Dump, beliebtes Dateiformat fuer die Ausgabe von Verilog Simulationen) und ein paar andere Formate. Fehlersuche in komplexeren HDL Designs ist fast unmoeglich ohne halbwegs brauchbaren Waveform-Viewer. GTKWave ist da ein recht brauchbarer Vertreter dieser Gruppe von Programmen.

http://home.nc.rr.com/gtkwave/

Qucs

Qucs (Quite Universal Circuit Simulator) ist ein sehr vielseitiger circuit simulator (digital wie analog) mit einer GUI um Schaltplaene zu zeichnen. Die Autoren bezeichnen das Projekt als noch in einem sehr fruehen Stadium befindlich. Um so beeindruckender ist was alles bereits geht. Besonders nett ist die Moeglichkeit Diagramme mit den Ergebnisen unterschiedlicher Simulationsdurchlaeufe in die Schematics einzubinden und mit einem einfachen click auf den 'Simulate' Button upzudaten.

Auf der Digital-HDL Seite bietet Qucs Support fuer VHDL und Verilog-HDL. Darueber hinaus scheinen die Dateiformate von Qucs recht einfach zu parsende XML-aehnliche Dateien zu seien - es sollte also auch recht einfach sein daraus diverse Netzlisten zu erstellen.

http://qucs.sourceforge.net/

TKGate

TKGate ist ein digital circuit simulator mit einer GUI in der man Schaltplaene zeichnen kann. Das nette: TKGate benutzt als dateiformat Verilog Netzlisten (bzw. ein subset davon) und legt angaben zum layout im GUI in kommentaren ab. Damit ist es moeglich module in TKGate zu designen (und mit dem eingebauten simulator ein wenig zu testen) und dann in groesseren Verilog projekten zu verwenden.

TKGate hat ein sehr gutes Tutorial in dem die wichtigsten Features erklaert werden das beim Starten automatisch geladen wird (bis man das in den optionen ausschaltet).

http://sourceforge.net/projects/tkgate

Electric

Electric ist ein GNU CAD programm fuer CMOS ASIC design (in Java). Bis jetzt ist es das beste Programm das ich kenne um CMOS Masken zu zeichnen und hat eigentlich alles was man sich fuer die aufgabe erwartet (inklusive direkte anbindung an SPICE fuer die simulation der elektrischen eigenschaften der Schaltungen).

Leider finde ich die Bedienung sehr unhantlich (ich hab ne halbe stunde gebraucht um um ein einfaches CMOS NOT Gatter aus zwei Transistoren (mit zugehoeriger N-Wanne, etc) zu designen. Wie gut die constraint checking features von Electric sind kann ich derzeit noch nicht sagen..

http://www.gnu.org/software/electric/

SPICE

Urspruenglich ein Berkeley programm, inzwischen so oft geforked und erweitert das man eigentlich nicht mehr von "dem" SPICE reden kann sondern dazusagen muss welches man meint.

SPICE ist ein Tool zur simulation von elektronischen Schaltungen (also nicht '1' und '0' sondern spannungen und ladungen an MOS-FET Gates, etc) das speziell fuer die Simulation von integrierten Schaltkreisen optimiert ist. Moderne MOSFET transistoren zeigen aufgrund der Fertigungsgroessen an der grenze des technisch machbaren nicht gerade ein verhalten das man von einem "einfachen schalter" (als der sie ja oft bezeichnet werden) erwartet. Ohne ein Programm wie SPICE ist es de-facto unmoeglich CMOS schaltungen fuer die aktuellen fertigungsprozesse zu entwerfen.

Links zu den wichtigsten SPICE implementierungen gibt es auf Wikipedia:
http://en.wikipedia.org/wiki/SPICE

Xilinx ISE WebPACK

Von Xilinx gibt es mit dem WebPACK eine gratis-version ihrer Entwicklungsumgebung fuer Windows und Linux. Die installation unter Linux hat es ein wenig in sich wenn man nicht gerade RedHat in der richtigen Version verwendet und die GUI-Teile sind unter Windows wirklich schoener gemacht, ansonsten ist das teil recht brauchbar solange man sich auf FPGAs beschraenkt, da das ja das zielpublikum von Xilinx ist. Da man Transitoren und Transfer-Gates hier weder zeichnen noch simulieren kann ist das WebPACK auch fuer das rein theoretische rumbasteln mit CMOS Designs ungeeignet.

http://www.xilinx.com/ise/logic_design_prod/webpack.htm

Buecher

Wenn Clifford sie nicht gerade bei sich daheim hat liegen die im Lab in der Bibliothek.

CMOS VLSI Design von Neil H.E. Weste

Besser bekannt als "Der Weste". Sowas wie die Bibel fuer CMOS Design. Behandelt alle wichtigen Standardschaltungen moderner CMOS designs, faengt bei jedem thema einsteigergerecht an und geht dann immer mehr erschreckend genau in die details, enthaelt unter anderem Hintergrundinformationen ueber CMOS fertigungstechniken, genaue beschreibungen zur Simulation der elektrischen eigenschaften von MOS-FETs, einfuehrung in VHDL und Verilog HDL, Schaltungslayout, Simulation und Test sowie Designflow und Entwurfsmethoden. Kaum eine Frage zu CMOS Design die der Weste offen laesst.

Zusatzmaterial: http://www.aw-bc.com/weste/

Verilog HDL von Samir Palnitkar

Eine recht schoene und vollstaendige beschreibung von Verilog HDL. Einfach zu lesen und praktisch zum Nachschlagen.

Grundlagen der CMOS-Technologie von Thomas Giebel

Geht in den elektrischen Details (Formeln, etc.) weiter als Weste und gibt hier einen recht guten Ueberblick.

Layoutsynthese elektronischer Schaltungen von Jens Lienig

Eine recht vollstaendige Abhandlung ueber die gaengigsten Algorithmen zur Entwurfsautomatisierung. Eigentlich nur interessant fuer Leute die wirklich CMOS Design machen oder FPGA Place&Route Tools selbst entwickeln wollen. Um die Beispiele aus dem CMOS Bereich zu verstehen empfiehlt es sich zumindest das Einfuehrungskapitel vom Weste zu lesen.

Vortragsfolien: http://www.ifte.de/lienig/layout/index.html

Prozessorbau von Christian Siemers

Eine schoener Ueberblick ueber die fuer den Prozessorbau wesentlichen Entwurfsmuster und daher auch fuer Leute interessant die andere komplexe Schaltungen entwerfen wollen. Das Buch bewegt sich vollstaendig ueberhalb der Gatterebene und laesst Fragen zur optimalen Implementierung gewisser Teilschaltungen auf Transistorebene offen.

Digitaltechnik von Klaus Fricke

Eine Uebersicht ueber diverse Entwurfsmuster aus der Digitaltechnik auf der Gatterebene. Viele Beispiele sind aus der TTL-Welt entlehnt, was dem Buch meiner Meinung nach einen gewissen zusaetzlichen Charme verleiht. Ist aber im allgemeinen eher was zum stoebern als zum produktiv lernen.

Taschenbuch Digitaltechnik von Christian Siemers und Axel Sikora

Ein Nachschlagewerk zu einem Breiten Themenspektrum rund um die Digitaltechnik. Hier werden auch auf nicht-CMOS technologien wie TTL, nMOS, Pass-Transistor-Logik und andere naeher eingegangen. Brauchbare mathematische Modelle zur Simulation von Transistoren und aehnliches sucht man hier aber vergebens.