HDL Hackers: Unterschied zwischen den Versionen
Zeile 52: | Zeile 52: | ||
21.2.2007 - ab 19:00 - sollte genuegend zeit zum vorbereiten sein? ~~ aaron | 21.2.2007 - ab 19:00 - sollte genuegend zeit zum vorbereiten sein? ~~ aaron | ||
Zum vorbereiten brauch ich nicht so viel zeit. Im Grunde koennte ich den auch gleich halten, moechte halt vorher noch ein paar Folien machen damit das nicht ganz so ad-hoc ist.. | Zum vorbereiten brauch ich nicht so viel zeit. Im Grunde koennte ich den auch gleich halten, moechte halt vorher noch ein paar Folien machen damit das nicht ganz so ad-hoc ist.. ~~ clifford | ||
== NOCH KEIN TERMIN: Entwurfsmuster digitaler Schaltungen == | == NOCH KEIN TERMIN: Entwurfsmuster digitaler Schaltungen == | ||
Zeile 76: | Zeile 76: | ||
* Neugierde | * Neugierde | ||
'''Terminvorschlaege und Kommentare bitte nach dieser Zeile einfuegen''' | |||
= Software = | = Software = |
Version vom 20. Januar 2007, 17:21 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
- clifford
- wizard23
- PK
- user:metaz
- aaron
- natano
- themel
- roodi
- harald
- naxx
- MariusKintel
Termine
29.7.2006: Verilog HDL Workshop
Clifford wird einen Verilog HDL Workshop (aka Hardware Hacken ohne Loetkolben - Workshop) halten. Angestrebter Termin ist Sa., 29.7.2006., 16:00
NOCH KEIN TERMIN: Vom Halbleiter zum Gatter
Clifford gibt eine kurze Einfuehrung in die unterste Ebene moderner CMOS Logikschaltungen. Es handelt sich hier um eine "zuruecklehnen und beriseln lassen" praesentation mit dem Ziel ein grundlegendes Verstaendnis fuer das Funktionieren digitaler CMOS schaltungen aufzubauen.
- Grundlagen Halbleiterelektronik
- nMOS und pMOS FE-Transistoren
- Buffer, Inverter und Transfer-Gates
- Grundlagen der Complimentaerlogik (CMOS)
- Aufbau verschiedener Gatter aus MOS-FETs
- Aufbau verschiedener Speicherschaltungen
- Staendiges Problemkind Clock-Lines
- Busse und Tristate-Buffer vs. Multiplexer
- Grundlagen des CMOS Fertigungsprozesses
- Grundlagen des CMOS Designs (Lambda-Constraints)
- Maskenbeispiele einfacher CMOS Schaltungen
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
21.2.2007 - ab 19:00 - sollte genuegend zeit zum vorbereiten sein? ~~ aaron
Zum vorbereiten brauch ich nicht so viel zeit. Im Grunde koennte ich den auch gleich halten, moechte halt vorher noch ein paar Folien machen damit das nicht ganz so ad-hoc ist.. ~~ clifford
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/
TKGate
TKGate ist ein digital circuit simulator with 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
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
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