<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=188.104.244.4</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=188.104.244.4"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/188.104.244.4"/>
	<updated>2026-04-10T14:41:57Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=FPGA&amp;diff=82004</id>
		<title>FPGA</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=FPGA&amp;diff=82004"/>
		<updated>2014-03-08T21:48:45Z</updated>

		<summary type="html">&lt;p&gt;188.104.244.4: /* FPGA-Design aus Projektsicht */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FPGA ist die Abkürzung für &amp;quot;&#039;&#039;&#039;F&#039;&#039;&#039;ield &#039;&#039;&#039;P&#039;&#039;&#039;rogrammable &#039;&#039;&#039;G&#039;&#039;&#039;ate &#039;&#039;&#039;A&#039;&#039;&#039;rray&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
&lt;br /&gt;
=== Grundelemente  ===&lt;br /&gt;
&lt;br /&gt;
Ein FPGA besteht, ähnlich wie ein [[CPLD]], aus vielen Logikelementen, hauptsächlich [[FlipFlop]]s (FF) und davor gelagerten kombinatorischen Logikschaltungen. Diese sind entweder Verknüpfungen verschiedener Logikgatter (Actel) oder sogenannten LUTs (Look-Up-Table), die über elektronische &amp;quot;Schalter&amp;quot; entsprechend der vom Entwickler gewünschten Funktion miteinander verknüpft werden können.&lt;br /&gt;
&lt;br /&gt;
Eine &#039;&#039;&#039;LUT&#039;&#039;&#039; kann eine beliebige kombinatorische Funktion (NAND, XOR, AND, Multiplexer etc.) aus den Eingangssignalen realisieren. Die Anzahl der Eingangssignale pro LUT ist vom FPGA abhängig und liegt meist zwischen 4 und 6. Für Funktionen die mehr Eingänge erfordern als eine einzige LUT besitzt (hohes Fan-In), werden mehrere LUTs direkt miteinander verschaltet. Die [[FlipFlop]]s dienen dazu, Signalwerte zwischenzuspeichern, um sie im nächsten Takt weiterverarbeiten zu können. Das Verhältnis zwischen der Anzahl der LUTs und der Anzahl der Flip-Flops ist meist 1:1. Aktuelle FPGAs bestehen aus bis zu einigen zehntausend Logikelementen.&lt;br /&gt;
&lt;br /&gt;
Die logischen Schalter und Speicher sind in den meisten FPGAs durch [[Speicher#SRAM | SRAM]]-Speicherzellen realisiert, welche beim Bootprozess passend geladen werden. Das Laden dieser Konfigurationsdaten bzw. Verknüpfungsregeln geschieht dabei in der Regel aus einem speziellen [[Speicher#Flash | Flash-ROM]]-Baustein heraus. Es kann aber auch ein Mikrocontroller benutzt werden. Die meisten FPGAs bieten daher für diesen Konfigurationsvorgang mehrere Modi an (seriell, parallel, Master/Slave). Da die SRAM-Zellen ihren Inhalt beim Abschalten der Versorgungsspannung verlieren, muss ein SRAM-basierter FPGA bei jedem Einschalten neu konfiguriert werden. Daher benötigt ein solcher FPGA einige Millisekunden bis zu einigen Sekunden, bevor er voll betriebsbereit ist.&lt;br /&gt;
&lt;br /&gt;
Eine FPGA-Familie beinhaltet Typen mit unterschiedlicher Anzahl und Komplexität von Logikzellen. So enthält ein Spartan3-1000 ca. 2,5 mal so viel Logik (FF, LUTs) wie ein Spartan3-400.  &lt;br /&gt;
&lt;br /&gt;
FPGAs mit nichtflüchtigem Speicher basieren auf [[Speicher#EEPROM | EEPROM]]-, [[Speicher#Flash | Flash]]-Speicher (einige Familien von Lattice und Actel) oder AntiFuse- Technologie (Actel). Die sogenannten AntiFuse FPGAs sind nur einmalig programmierbar.&lt;br /&gt;
&lt;br /&gt;
=== I/O Anschlüsse ===&lt;br /&gt;
&lt;br /&gt;
FPGAs unterstützen als universal einsetzbare Digital-ICs eine Vielzahl von Signalstandards. Üblich sind verschiedene TTL-Pegel (5V, 3,3V, 2,5V), differentielle Signalstandards (LVDS, GTL, GTP) und im Hochpreisbereich serielle Hochgeschwindigkeitsstandards mit bis zu 28 Gbit/s. Oftmals sind weitere Eigenschaften wie Treiberstärke und Flankensteilheit für jeden benutzerdefinierbaren Anschluss (User-IO) einstellbar. Meist sind die Pins zu Bänken mit gleichem I/O Standard zusammengefasst. Innerhalb einer solchen Bank arbeiten alle Pins im gleichen I/O Standard und mit der selben I/O Spannung. Für hohe Taktraten wird sowohl für Daten als auch die Takte der LVDS IO-Standard verwendet. Hier sind zwei komplementäre Buffer in unmittelbarer Nachbarschaft angeordnet. [[Ausgangsstufen Logik-ICs | Tristatebuffer]] werden implizit über VHDL definiert, indem einem Ausgang zeitabhängig der Zustand &amp;quot;Z&amp;quot; zugewiesen wird. Alternativ kann er explizit als Komponente eingefügt werden. Ebenso können je nach Hersteller und Typ interne Pull-Up und Pull-Down-Widerstände sowie Terminationswiderstände zugeschaltet werden, [[Wellenwiderstand | Terminierung]] wird ebenfalls unterstützt. Zudem befinden sich hinter vielen IO-Pads sog. [[Boundary_scan| Boundary Scan]] Zellen. Bei komplexeren FPGAs sind die Ein- und Ausgänge mit Verzögerungsgliedern versehen, die ein Anpassen des Timings bei Bussen wie z.B. schnellen Speichern ermöglichen. Einige Pins übernehmen besondere Funktionen und sind somit vom Anwender nicht uneingeschränkt oder z.T. auch gar nicht nutzbar. Dazu zählen neben der [[JTAG]]-Schnittstelle z.&amp;amp;nbsp;B. die Pins zum Einlesen der Konfigurationsdaten.  Ferner sind einige wenige Pins (2 - 8) zum Einspeisen des Taktes für das Design vorgesehen. Für schnelle Schaltungen sollten diese reservierten Pins benutzt werden. Sie enthalten kein Eingangs-FF und wirken über instanziierbare Buffer direkt auf Taktnetze / PLLs. Bei leistungsfähigen grossen Applikationen mit mehreren Takten müssen diese genutzt werden, da nur eine begrenzte Zahl von DCMs (Digital Clock Manager) zur Verfügung steht und benachbarte IO-Pins genutzt werden müssen. Für hohe Taktraten werden LVDS-Eingänge verwendet. Das I/O Verhalten wird zusammen mit vielen anderen Parametern in einer Datei festgelegt (Xilinx *.ucf, Altera *.acf, Lattice *.lpf). Alternativ können diese auch als Syntheseoption im Kommentarfeld des [[Verilog]]/[[VHDL]] Codes mit angegeben werden. Die Hersteller bieten FPGAs mit gleicher Anzahl von Logikelementen in unterschiedlichen Gehäusen an. So kann der FPGA mit der passenden Anzahl von Pins eingesetzt werden. Das obere Ende markieren Chips mit über 1500 I/Os, die kleinsten bieten ca. 50 User-I/O. Oft werden nur [[IC-Geh%C3%A4useformen#BGA|BGA]] und [[IC-Geh%C3%A4useformen#QFP|QFP]] Gehäuse (bis ca. 240 Pins) angeboten. Umgekehrt kann innerhalb einer Gehäusefamilie hochmigriert werden, d.h. bei gleichbleibendem Pinout, kann ein komplexerer FPGA eingesetzt werden. Das Layout muss dann nicht verändert werden, um eine Schaltung mit mehr Funktionen auszustatten.&lt;br /&gt;
&lt;br /&gt;
=== Komplexe Funktionsblöcke ===&lt;br /&gt;
&lt;br /&gt;
Neben den einfachen FlipFlops beinhalten FPGAs darüber hinaus komplexe Routing- und Speicherkonfigurationsoptionen innerhalb und außerhalb der logischen Elemente (LEs), die es gestatten, komplexe Schalt- und Rechenstrukturen aufzubauen. Für rechenintensive Designs, z.&amp;amp;nbsp;B. in der Signalverarbeitung, enthalten viele FPGAs &#039;&#039;&#039;Multiplizierer&#039;&#039;&#039; direkt auf dem Chip, die in einem einzigen Taktzyklus Multiplikationen durchführen können.&lt;br /&gt;
&lt;br /&gt;
Ferner haben FPGAs oft einen von den LEs getrennt verfügbaren &#039;&#039;&#039;RAM&#039;&#039;&#039;-Bereich integriert, der sich in vielfältiger Weise ansprechen lässt. So können damit Single- oder Dualport-RAMs mit variabler Bitbreite erzeugt werden. Üblich sind mehrere (4 - 30) kleinere Dualport [[Speicher#BRAM | RAM-Blöcke]] von 4 - 16 kbit. Einige Familien besitzen einen größeren internen RAM, andere spezielle FIFO-Blöcke.&lt;br /&gt;
&lt;br /&gt;
Zur Generierung spezieller Takte sind &#039;&#039;&#039;PLL&#039;&#039;&#039;s (Phase Locked Loop) auf dem FPGA integriert. Einige Hersteller setzen mit dem selben Ziel &#039;&#039;&#039;DLL&#039;&#039;&#039;s (Delay Locked Loop) ein. Mittels dieser Blöcke können aus einem Taktsignal weitere erzeugt werden. Typisch sind Taktverdopplung oder -vervielfachung. Ebenso kann der Takt geteilt werden oder ein Signal gleicher Frequenz, aber um eine halbe, viertel usw. Periode verschoben erzeugt werden. Typische Anwendungen sind die Ansteuerung von [[Speicher#DDR-RAM | DDR-RAMs]] oder die Kompensation von Laufzeitunterschieden zwischen Takt und mit diesem getakteten Steuersignalen. Meist sind 2 - 8 Taktnetzwerke und PLL/DLLs gleicher Anzahl integriert. Siehe auch [[Taktung FPGA/CPLD]].&lt;br /&gt;
&lt;br /&gt;
=== CPU im FPGA ===&lt;br /&gt;
&lt;br /&gt;
Programmierbare Prozessoren sind auch in FPGA-Designs immer häufiger anzutreffen. CPUs sind zwar im Allgemeinen langsamer und weniger effizient, als eine vollständige Implementation aus Logik-Primitiven - aber bei komplexen Abläufen auch deutlich einfacher und zielführender zu programmieren, da die Strukturen festgelegt und damit bekannt sind. Insbesondere bei sequentiellen Aufgaben (Benutzerinterface, komplexe Steueraufgaben etc.) wird man gerne auf eine klassische CPU zurückgreifen. Die CPUs sind teilweise kompatibel zu etablierten Prozessorarchitekturen (MIPS, SPARC, AVR), zum Teil aber auch auf die FPGAs einzelner Hersteller hin optimiert.&lt;br /&gt;
&lt;br /&gt;
Als Programmspeicher werden die FPGA-internen [[Speicher#BRAM | RAM-Blöcke]] oder externe [[Speicher]] (SDRAM, SRAM) genutzt. Für einige Prozessorkerne stehen Hochsprachen wie C, C++ etc. zur Verfügung, andere werden in Assembler programmiert.&lt;br /&gt;
&lt;br /&gt;
==== Hardcores ====&lt;br /&gt;
Manche FPGAs haben dazu einen oder mehrere Prozessorkerne (z. B. [[AVR]] bei Atmels FPSLIC, PowerPC bei Xilinx&#039; Virtex bzw Dual ARM A9 bei Xilinx&#039; Zynq oder ARM Cortex-M3 bei Actel (Microsemi) SmartFusion ) als &#039;&#039;HardCores&#039;&#039; physikalisch auf dem Chip integriert, entweder als Chipstruktur auf dem FPGA-kern selbst oder als gebondeter Chip im selben Gehäuse.&lt;br /&gt;
&lt;br /&gt;
==== Softcores ====&lt;br /&gt;
Auf der anderen Seite gibt es auch [[FPGA Soft Core | SoftCores]] (z. B. ARM-Cortex-M1 bei IGLOO-FPGA von [http://www.actel.com ACTEL]), Prozessorkerne die als Quelltext oder als vorsynthetisierte Netzliste vorliegen. In Abhängigkeit von den zur Verfügung stehenden Ressourcen können diese &#039;&#039;SoftCores&#039;&#039; beliebig instanziiert werden. Es gibt eine Vielzahl verschiedener &#039;&#039;SoftCores&#039;&#039;. Einige sind sehr klein und platzsparend realisiert, damit kann man auch auf vergleichsweise kleinen aktuellen FPGAs problemlos eine 32bit-RISC-CPU integrieren.&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
&lt;br /&gt;
=== Chipausnutzung ===&lt;br /&gt;
Aufgrund des Umstandes, dass FPGAs eine Reihe von allgemeinen Funktionsblöcken, wie BRAM, Multipliers, Transceivern beinhalten, die naturgemäß nie voll ausgenutzt werden können und zudem viele Routing-Resourcen benötigen, um die gewünschten Verschaltungen zu ermöglichen, nutzen FPGAs die Chipfläche relativ schlecht aus, was zu entsprechende geringer finanzieller Effizienz führt.&lt;br /&gt;
&lt;br /&gt;
=== Taktgeschwindigkeit ===&lt;br /&gt;
Die maximale „Geschwindigkeit“ eines FPGAs ist von der verwendeten Halbleitertechnologie (Prozess, Strukturgrößen), der internen Schaltungstopologie (Komplexität der LEs), Vorhandensein von harten Strukturen und vor allem vom Design abhängig. Dabei sind der sogenannte Datendurchsatz und die rein maximale Systemtaktfrequenz zu unterscheiden. Die erreichbare Taktfrequenz lässt sich ohne detaillierte Kenntnis des Designs nicht abschätzen, möglich sind je nach »Speed Grade« des ICs typischerweise Taktfrequenzen von 300-600 MHz für die Schaltgeschwindigkeit der reinen Logikelemente. Je nach der Anzahl und Komplexität der pro Takt durchzuführenden Operationen ergeben sich dann reale Systemtaktfrequenzen von meist 10-100 MHz für global operierende Einheiten und bis zu 300 MHz für schnelle lokale Module. Maßgeblich ist in wieweit das Design auf Fläche bzw. Geschwindigkeit hin optimiert und vom Tool synthetisiert wurde: Durch das Einbringen von zusätzlichen Registerstufen lassen sich z.&amp;amp;nbsp;B. zeitkritische Pfade entschärfen (Pipelining), sodass die Frequenz des Chips angehoben werden kann und somit der effektive Datendurchsatz erhöht wird, mit dem Nachteil der gesteigerten Latenz durch das Mehr an Takten. Der Datendurchsatz lässt sich darüber hinaus durch die Nutzung paralleler Architekturen verbessern.&lt;br /&gt;
&lt;br /&gt;
Die Systemfrequenz kann-, muss aber nicht der Frequenz entsprechen, mit der Daten zyklisch eingetaktet und verarbeitet werden; zudem sind Schaltungsteile mit unterschiedlichen Taktfrequenzen zu unterscheiden: Mit einem Systemtakt von 20 MHz lassen sich z.&amp;amp;nbsp;B. 18-Bit AD-Wandler auslesen, die so z.&amp;amp;nbsp;B. alle 1 µs neue Daten liefern, die verarbeitet werden müssen. Bei der Nutzung von 5 solchen Wandlern, die sequentiell verarbeitet werden, lägen 5 MHz Datenfrequenz vor. Für andere Schaltungsteile, die z.&amp;amp;nbsp;B. asynchron an die Peripherie andocken, sowie reine »state machines« können Schaltungsteile auf der 2-4 fachen Frequenz betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Generell sind Fläche und Geschwindigkeit konkurrierende Größen, zwischen denen ein Optimum gefunden werden muss. Für die preiswerten FPGA-Serien wie Spartan (Xilinx) und Cyclone (Altera) sind aufgrund technologischer Randbedingungen etwa 10-30% weniger Taktgeschwindigkeit bei gleichem Design zu erwarten als bei den großen Brüdern der Virtex- (Xilinx) bzw. Stratix-Familie (Altera). Es muss mit mehr Verbrauch an Logikelementen und Taktzyklen gerechnet werden (weniger Routingreserven, geringere Zahl von LUT-Eingängen, langsamere Logikelemente). Dafür sind sie sehr preiswert.&lt;br /&gt;
&lt;br /&gt;
Funktionstechnisch identische Chips werden oft in zwei oder mehr Geschwindigkeitsklassen (speed grades) angeboten, die sich meist durch Bauteilselektion bei der Produktion ergeben. Grob kann man ca. 5%-10% höhere Taktung zwischen zwei speed grades erwarten.&lt;br /&gt;
&lt;br /&gt;
== Herstellung ==&lt;br /&gt;
&lt;br /&gt;
FPGAs heutiger Bauart sind hochkomplexe Strukturen, da sie einerseits sehr hochgetaktet werden müssen, umfangreiche Funktionen bewerkstelligen sollen und damit genügend Resourcen haben müssen, andererseits aber preisgünstig und flexibel sein sollen, was umfangreiche Umschaltmöglichkeiten erfordert. Damit sind FPGAs als universelles Bauteil vergleichsweise teuer. Umso problematischer ist deren Fertigung:&lt;br /&gt;
&lt;br /&gt;
=== Herstellungsprozess ===&lt;br /&gt;
FPGAs werden als Analogschaltkreis unter Verwendung von Standardbibliotheken entwickelt, indem fertige, mehrfach simulierte und getestete Blöcke zusammengeschaltet werden. Dabei haben IO-Zellen, Schaltmatritzen und vor allem Controller, RAM-Blöcke und hardcores ihre Funktion mehrfach auf Silizium bewiesen.&lt;br /&gt;
&lt;br /&gt;
=== Hersteller ===&lt;br /&gt;
&lt;br /&gt;
Die größten Hersteller von FPGAs sind [http://www.altera.com Altera] und [http://www.xilinx.com Xilinx]. Weitere Hersteller sind [http://www.latticesemi.com/ Lattice], [http://www.actel.com Actel] und [http://www.atmel.com Atmel].&lt;br /&gt;
&lt;br /&gt;
Einige  Hersteller wie Altera verfügen über keine eigene Fabrik (-&amp;gt; &amp;quot;fabless&amp;quot;), sondern lassen ihre entwickelten FPGAs und ASICs bei wechselnden Halbleiterherstellern fertigen. Dies führt zu jeweils günstigen Produktionskosten, allerdings auch zu Qualitätsschwankungen. Auch Liefergarantien sind schwerer zu erhalten, besonders, wenn man darauf angewiesen ist, dass ein Chip auch in 25 Jahren noch zu bekommen ist.&lt;br /&gt;
&lt;br /&gt;
== Anwendung und Programmierung ==&lt;br /&gt;
=== Erstellung der FPGA firmware===&lt;br /&gt;
&lt;br /&gt;
==== Design Flow ====&lt;br /&gt;
Der Aufbau komplizierter, applikationsnaher Strukturen wird meist durch automatische Routing- und Synthesewerkzeuge erledigt, welche mit einer logischen, funktionellen Beschreibung der Architektur in einer Hardwarebeschreibungssprache wie z.B. [[VHDL]] oder [[Verilog]] &amp;quot;gefüttert&amp;quot; werden. Die Hardwarebeschreibung gelingt ihrerseits z.B. mit Code-generierenden Werkzeugen, mittels derer zuvor Logikstrukturen, hardwarenahe Strukturen, Ablaufdiagramme und Zustandsautomaten formuliert wurden.&lt;br /&gt;
&lt;br /&gt;
Die Korrektheit der Funktion einzelner Blöcke wie der gesamten Schaltung wird mit Simulationswerkzeugen geprüft und im Sinne der Validierung formell nachgewiesen und dokumentiert.&lt;br /&gt;
&lt;br /&gt;
==== Wiederverwendbarkeit ====&lt;br /&gt;
Durch die Standardisierung der Architektur einerseits und die Entkopplung von applikationsorientierter Beschreibung sowie Chip- und Hersteller-spezifischer Synthese andererseits, wird die Hardware quasi als Software gebaut. Dies wiederum schafft alle Optionen der Wiederverwendung und Austausch von &amp;quot;Hardwareteilen&amp;quot;. So stehen inzwischen komplett nutzbare Schaltungen wie serielle Bausteine, RAM-Controller und vieles mehr zur Verfügung - teilweise sogar in Form von Open Source Projekten.&lt;br /&gt;
&lt;br /&gt;
Andererseits ist eine Tendenz erkennbar, dass Hersteller ihre Software und damit erstellbare VHDL, speziell bei IP-Cores, immer stärker schützen und abkapseln. Diese produzieren kaum noch allgemeine VHDL, sondern nur noch herstellerspezifische Scripte. Zudem führen immer grösser werdende Unterschiede in den Chipstrukturen und Resourcen in grösseren FPGAs dazu, dass die Portierbarkeit weiter eingeschränkt ist. Dies ist besonders bezüglich der Integration von Peripherie-Controllern oder ganzer Mikrocontroller der Fall. Bei SOPC-Systemen wiederum sind die generierten Strukturen praktisch überhaupt nicht mehr von einem FPGA-Hersteller zum anderen zu portieren und oftmals nicht einmal mehr zwischen FPGA-Familien desselben Herstellers kompatiblel.&lt;br /&gt;
&lt;br /&gt;
=== Anbindung an Mikrocontroller ===&lt;br /&gt;
Es gibt unterschiedliche Arten, wie ein FPGA mit einem Controller verbunden sein kann. In der Regel ist der Controller der Master und arbeitet auf den FPGA. Dabei ist zwischen direkten impulsiven Zugriffen auf den FPGA nach Massgabe des internen Ablaufs im Prozessor, die jederzeit und wortweise an irgendeine Adresse erfolgen können und blockweisem Schreiben, also permanentem Datenfluss ohne Adressierung zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Das wortweise Schreiben und Lesen erfolgt in Form eines klassischen Speicherinterfaces durch aktiven Zugriff auf den FPGA oder den FPGA hindurch auf einen RAM-Bereich, in den der FPGA seinen Speicher einblendet.&lt;br /&gt;
&lt;br /&gt;
==== Memory Mapped ====&lt;br /&gt;
Hierunter versteht man den Zugriff des Mikrocontrollers auf das FPGA in Form eines Speichers. Dabei muss der FPGA ein klassisches Speicherinterface zur Verfügung stellen. In einzelnen Fällen reicht es auch, wenn dieser ein internes Blockram im dual ported Modus an die Ports des Mikrocontrollers heranführt.&lt;br /&gt;
&lt;br /&gt;
==== Streaming IO ====&lt;br /&gt;
Liefert ein Mikrocontroller häufig grosse Datenmengen an einen FPGA, ist es mitunter sinnvoll auf einen aktiven Zugriff mit Wortadressierung zu verzichten und einen pipeline-Zugriff zu implementieren. Der FPGA &amp;quot;hört&amp;quot; dazu den Datenbus des FPGA ab und erkennt anhand z.B. der Aktivierung nur einer Schreibleitung den Beginn des Sendens und empfängt dann mit jedem Takt ein Wort. Was die Daten zu bedeuten haben und wohin sie zu schreiben sind, muss dann in den Daten codiert werden. Auch ist es denkbar den FPGA so zu konfigurieren, dass beim Schreiben auf eine ganz bestimmte Adresse ein grösserer Datenblock übergeben wird. &lt;br /&gt;
&lt;br /&gt;
In beiden Fällen wird im FPGA ein FiFo eingesetzt, der synchron mit dem Mikroprozessortakt beschrieben wird. Auf der Seite des FPGAs muss eine FSM überwachen, ob Daten ankommen und diese geeignet verarbeiten.&lt;br /&gt;
&lt;br /&gt;
==== Indirekte Busverbindung ====&lt;br /&gt;
Oftmals sind FPGAs und MCUs in grösseren Systemen über Busse verschaltet. So kann der FPGA an einem klassischen Daten-Adress-Bus parallel zu einem RAM und anderen Bausteinen über Adressdekodierung und Chip-Select betrieben werden, oder er wird über ein logisches Interface wie SPI angebunden.&lt;br /&gt;
&lt;br /&gt;
=== Anbindung an RAMs und ROMs ===&lt;br /&gt;
&lt;br /&gt;
==== DDR2 / DDR3 - RAM ====&lt;br /&gt;
Während die Ansteuerung eines normalen SRAMS mittels eines klassischen memory mapped interface recht reinfach ist, bedürfen DRAMS- speziell mit DDR-Funktion einer aufwändigeren Schaltung, welche die komplizierte Kommoandostruktur der DDR-Ansteuerung versteht, pipelining und gfs cashing praktiziert und das RAM entsprechend bedient. Dabei sind RAM-spezifische Randbedingungen (refresh / self refresh) zu beachten. Für FPGAs existieren hier eine Reihe von konfigurierbaren IP-Cores&lt;br /&gt;
&lt;br /&gt;
==== SPI-Flash ====&lt;br /&gt;
Die Anbindung über SPI erfolgt meist über serielle Verbindungen wie I2C, da nur wenig Bandbreite benötigt wird. In selteneren Fällen werden FPGAs parallel mit einem Flash verbunden, z.B. bei grossen FPGAs mit umfangreichem image, welches aus einem Flash schnell geladen werden soll.&lt;br /&gt;
&lt;br /&gt;
=== Anbindung an Peripherie ===&lt;br /&gt;
Typische Anwendungen für FPGAs sind die breitbandige (grosse Busbreite und/oder hohe Taktfrequenz) Gewinnung- und Verarbeitung von Daten, bei denen DSPs oder MCUs nicht mehr (effektiv) eingesetzt werden können. Typische Beispiele dafür sind:&lt;br /&gt;
&lt;br /&gt;
==== Videotechnik ====&lt;br /&gt;
[[Bildsensor]]en produzieren traditionell die grössten Datenmengen je Zeiteinheit und sind ohne FPGAs praktisch nicht mit der Aussenwelt in Kontakt zu bringen. FPGAs arbeiten hier entweder auf der Kunden- oder auch der Herstellerseite, um die komplexen Datenströme anzunehmen, vorzuverarbeiten und in eine reduziertes, praktikableres Datenformat umzusetzen. Auch die Annahme eines Videoformates ist praktisch nur mit FPGAs möglich.&lt;br /&gt;
&lt;br /&gt;
Die benötigten Datenschnittstellen können mit Hilfe von Transceiver-Ports / LVDS manuell realisiert werden, oder es werden Umsetzer-Chips verwendet. Beispiele:&lt;br /&gt;
&lt;br /&gt;
* HDMI-Transceiver für FPGAs ohne Gigabit-Transceiver&lt;br /&gt;
* SERDES-Transceiver für mittelpreise FPGAs ohne SERDES / sehr hohe Frequenzen&lt;br /&gt;
* Camera-Link-Deserializer (für langsame FPGAs)&lt;br /&gt;
* LVDS-Buffer-Deserializer (für langsame FPGAs ohne LVDS buffer)&lt;br /&gt;
* DVI-Buffer&lt;br /&gt;
&lt;br /&gt;
Für Analoge Daten benötigt man selbstredend noch Video-ADCs / Video-DACs, die überhaupt erst ein digitales Signal erzeugen.&lt;br /&gt;
&lt;br /&gt;
==== Gigabit-Ethernet ====&lt;br /&gt;
Für die Umsetzung auf den (praktisch analogen) [[Ethernet]]-Standard braucht es immer einen sogenannten [[Glossar#p|PHY]], also einen physikalischen Zusatzchip. Dieser vollzieht die [[Glossar#p|5PAM]]-Modulation und die Codierung im 10/8-Format. Die Ankopplung an den FPGA erfolgt direkt.&lt;br /&gt;
&lt;br /&gt;
Während althergebrachte 100MBit-Verbindungen dabei oft noch mit UCs und softcores zu bedienen waren, können 1GBit-Netzwerke nur noch mit FPGAs sinnvoll angesteuert werden. Umgekehrt ist das Gigabit-Netzwerk eine gute Lösung, um Daten effektiv und billig in einen PC zu transportieren, da moderne PCs alle eine GBit-Karte besitzen und die Datenrate bei schnellen CPUs auch weitgehend ausgenutzt werden kann. Typische Bandbreiten bewegen sich für Linux mit unmodifizierten Treibern bei 700MBit-800MBit.&lt;br /&gt;
&lt;br /&gt;
Der [[Glossar#m|MAC]], bzw MAC-ähnliche Funktionen, sind im FPGA direkt implementierbar (z.B. mit IP-Cores) und können mit einfachen [[Glossar#f|FSM]]s angesteuert werden. Für die Verwendung von C-Software ist es notwendig, einen hardcore zu verwenden, da mit softcores die Bandbreite kaum erreicht werden kann. Besonders das Verpacken der Daten, die Abarbeitung des Protokolls sowie die Bildung der Ethernet-header mit Checksummen, CRC und zusätzlichen Prüf- und Steuerinformationen sind in VHDL sehr einfach und entspannt zu erzeugen, weil parallel gearbeitet werden kann.&lt;br /&gt;
&lt;br /&gt;
Die Bandbreite einer typischen [[Glossar#g|GMII]]-Verbindung mit [[Glossar#d|DDR]] beträgt 2x150MHz x 8 Bit, was mit mittleren FPGAs gut zu machen ist. Die interne Bandbreite ohne header beträgt dann typisch etwa 800MBit, z.B. 50MHz x 16 Bit für die Daten. Ab diesem Punkt ist dann wieder ein schneller softcore einsetzbar.&lt;br /&gt;
&lt;br /&gt;
==== High-Speed-USB ====&lt;br /&gt;
Für die Übersetzung auf den immer schnelleren USB-Bus (inzwischen bis 5Gb Bandbreite!) stehen Chips zur Verfügung, die sich in vergleichsweise einfacher Weise ansteuern lassen. Eine passende Sende- und Empfangsarchtiktur ist in FPGAs relativ rasch zu implementieren.&lt;br /&gt;
&lt;br /&gt;
=== Implementierung von Steuerfunktionen ===&lt;br /&gt;
In den meisten FPGA-Applikationen sind mehr oder weniger komplizierte Abläufe zu integrieren, die den Datenfluss steuern und die einzelnen Komponenten so mit einenander verschalten, dass sie wunschgemäss aufeinander reagieren.&lt;br /&gt;
&lt;br /&gt;
Mit nativem VHDL sind einfache sequenzielle Abläufe mit überschaubaren Verschlachtelungstiefen und Schleifen direkt in Form von Zählersteuerungen oder abstrakten State Machines realisierbar. Dazu kann auf die automatische Codegeneration aus state machine designern heraus oder die halbautomatische Erzeugung von Code mit z.B. Excel zurückgreifen, die die Enumeration von states, die Abfragen und die Sprünge zu den nächsten states automatisch vollzieht. Dies hat aber seine Grenzen, weil dies früher oder später unübersichtlich wird und nicht mehr so gut pflegbar ist. Zudem kann sich der Code stark aufblähen und die Zusammenfassung etwaiger Redundanz durch die Synthese zu hohen Synthesezeiten führen.&lt;br /&gt;
&lt;br /&gt;
Applikationen, die nicht ganz so zeitkritisch sind, sollten lieber mit einer flexiblen, verschachtelten Struktur von 2 state machines abgearbeitet werden, bei denen der Ablauf von der Generation des Timings für die Hardware getrennt ist. In reinen Ablaufsteuerung stehen dann wie in einem Befehlsspeicher abstrakte Codes hintereinander und werden mittels einer intelligenten Struktur sequenziell abgearbeitet werden. Diese agiert wie ein Befehlsinterpreter und  stösst eine untergeordnete state machine an. Damit wird zwar mehr Zeit für die Verwaltung benötigt, es führt aber letztlich zu quantitav weniger Steuer-Code. Die Befehlsfolgen lassen sich z.B. günstig in einem ROM realisieren. Die gesamte Steuerung wird intelligenter und insgesamt kleiner.&lt;br /&gt;
&lt;br /&gt;
Eine deartige Steuerlogik lässt sich soweit ausbauen, dass untergeordnete state machines wie Unterprogramme ablaufen und durch ein flexibles Hauptprogramm gesteuert werden, womit sie sich immer mehr einer Prozessorarchitektur annähert.&lt;br /&gt;
&lt;br /&gt;
Wenn die Komplexität viele &amp;quot;Befehle&amp;quot; erfordert, gfs noch gerechnet und viel entschieden werden muss, lohnt der Rückgriff auf einen vorgefertigen Softcore. Dies hat den Vorteil, dass eine Standardstruktur verwendet wird, für die es erweiterte Entwicklungs- und Debugging-Software gibt. Spätestens, wenn man mit virtuellen Datenstrukturen und rekursiven Funktionen arbeitet, oder z.B. Zeichenkettenverarbeitung braucht, ist ein Softcore unerlässlich, &lt;br /&gt;
weil man dann alle Methoden-, Variablen und sonstige Aspekte der jeweiligen Hochsprache verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele von VHDL Code ===&lt;br /&gt;
Siehe [[VHDL_Softwarepool]]&lt;br /&gt;
&lt;br /&gt;
== Einsatz in elektronischen Schaltungen ==&lt;br /&gt;
Der Einsatz von modernen FPGAs erfordert neben dem grundsätzlichen Wissen im Bezug auf den design flow und den für FPGAs optimierten Schaltungs- und Rechenstrukturen auch grosses Knowhow im Bereich der analogen Schaltungstechnik sowie auch der effektiven Vorgehensweise beim Design. &lt;br /&gt;
&lt;br /&gt;
=== FPGA aus analoger Sicht ===&lt;br /&gt;
FPGAs bedürfen heute eines perfekten Layouts, um mit RAMs und externen Chips zusammenarbeiten zu können, da sowohl die internen, als auch externen Taktfrequenzen rapide angestiegen sind. Ferner ist grosses Augenmerk auf die Spannungsversorgungen zu legen.&lt;br /&gt;
&lt;br /&gt;
=== Integration ins PCB ===&lt;br /&gt;
Weiter ist es heute kaum noch möglich, FPGA-Design vom board-Design funktionell zu trennen, wie man es mit Blick auf den scheinbar rein logischen Schaltungsentwurf glauben könnte und früher auch der Fall war. Da FPGAs heute stark dedizierte Funktionen enthalten, die nicht in jeder IO-Zelle zur Verfügung stehen oder spezielle Bank-Konfigurationen erforden, muss der Schaltungsentwurf und das Layouten des FPGAs und des Boards einhergehen.&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungsboards und Starter-Kits ===&lt;br /&gt;
Von mehreren Seiten gibt es im Markt eine ganze Palette von sogenannten Entwicklungs- und Evaluierungsboards. Diese eignen sich nicht nur zum Kennenlernen des Chips, bez. zur Validierung der Lösung (ob die Schaltung wie gebaut auch im konkreten Ziel-FPGAs arbeitet) sondern werden immer öfter auch in bestehenden Systemen verbaut, weil aufgrund einer geringen Stückzahl die Selbstentwicklung nicht lohnt.&lt;br /&gt;
&lt;br /&gt;
Siehe [[Liste von FPGA Eval boards]]&lt;br /&gt;
&lt;br /&gt;
=== FPGA als Ersatz von alten digitalen ICs und Prozessoren ===&lt;br /&gt;
Es gibt vielfach den Wunsch, ICs, die nicht mehr direkt zu beschaffen sind, durch FPGAs (oder wenn möglich CPLDs) zu ersetzen. Gerade ältere Schaltungen&lt;br /&gt;
basieren aber durchaus noch auf 5V TTL und CMOS Logik. Oft sind die Systeme nicht ohne sehr hohen Aufwand und Verlust der Wirtschaftlichkeit zu ersetzen (wie ältere, produktive Industrieanalagen oder komplexe Rechensysteme - aber auch wenn es um die Erhaltung alter Hardware bei &amp;quot;retro-computing&amp;quot; geht).&lt;br /&gt;
&lt;br /&gt;
Nun bieten heute erhältliche (und günstige) FPGAs - aufgrund ihrer verwendeten Technologie - keine direkte 5V Kompatibilität mehr. FPGAs wie die Spartan II (nicht IIe), erlauben zumindest noch &amp;quot;5V Toleranz&amp;quot; auf den I/O-Pins. Das heißt: das FPGA wird zwar mit 3.3V versorgt und kann daher nur 3.3V am Ausgang treiben, erlaubt aber 5V von externen Bausteinen am Pin - dies ist nach wie vor TTL kompatibel, aber auch viele CMOS-Schaltungen können so durchaus noch betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Für neueste 3.3V (oder weniger) FPGAs kann man Levelshifter-Schaltungen verwenden, die entweder bidirektional ausgeführt sind und ein &amp;quot;open-drain-artiges&amp;quot; Verhalten zeigen (also beide Seiten können die Leitung nur auf Lowpegel treiben, der Highpegel wird durch pull-up Widerstände erreicht) oder die unidirektional (mit optionaler Richtungsumkehr und/oder Treiberdeaktivierung über Kontrolleingänge) gebaut sind. Verwendung von Spannungsteilern, Zenerdioden-Schaltungen oder Ausnutzung von Diodenlimitierungen der I/O Treiber des FPGAs (und Verwendung eines Serienwiderstands zur Stromlimitierung) sind zumeist nur für niedrige Schaltfrequenzen gut geeignet und sorgen für eine erhöhte Stromaufnahme.&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Pegelwandler]]&lt;br /&gt;
&lt;br /&gt;
== Debugging-Hilfen ==&lt;br /&gt;
=== Soft-Debugging ===&lt;br /&gt;
&lt;br /&gt;
=== Logikanalysatoren ===&lt;br /&gt;
Gerade beim [[Debugging]] größerer FPGA-Designs ist es oft notwendig, auf interne Signale und Busse zuzugreifen, die aus routing- oder Platzgründen nicht an Pins des FPGAs gelegt - und mit konventionellen Analysatoren beobachtet werden können. Nebst den einschlägigen Tools der Hersteller, welche Signal probing über JTAG gestatten (z.&amp;amp;nbsp;B. ChipsScope und SignalTap), werden in FPGAs oft mehr oder weniger komplexe [[Logic Analyzer]] integriert, welche die internen Signale in vielfältiger Weise aufzeichnen. Diese werden in Block-RAMs oder FIFOs gespeichert und durch externe Master ausgelesen. Hier kommen auf der Platine befindliche MCUs oder fremd zugreifende FPGAs / CPUs in Betracht, welche über unterschiedliche Kommunikationsverbindungen (seriell, parallel, LVDS) angeschlossen sind. Dazu werden in die FPGAs entsprechende Cores und state machines instanziiert und mit Software auf PC-Seite ausgelesen.&lt;br /&gt;
&lt;br /&gt;
Nachfolgend einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
==== Automatisch instanziierte Logic Analyzer ====&lt;br /&gt;
Praktisch alle FPGA-Hersteller bieten die Möglichkeit, mit einem internen Tool ein script zu erzeugen, welches der Synthese übergeben wird, welche dann anhand von Signallisten und diversen Randbedingungen einen LA automatisiert aufbaut und verdrahtet. SampleZeit und -Takt sind dabei genauso einstellbar, wie RAM-Tiefe und -Breite. Die so generierten Datenpakete können dann mittels JTAG ausgelesen werden. Im Continous-Betrieb können so sogar permanente Datenausgaben wie bei einem Oszilloskop vorgenommen werden.&lt;br /&gt;
&lt;br /&gt;
==== Proprietärer serieller Logic Analyzer ====&lt;br /&gt;
&lt;br /&gt;
Die einfachste Möglichkeit ist die direkte Instanziierung eines Blockrams als FIFO mit &amp;quot;breitem&amp;quot; Busanschluss: Linksseitig besitzt das FIFO eine Breite von z.&amp;amp;nbsp;B. 256 Bit (Xilinx-Rams lassen sich ohne weitere Umbeschaltung über den Wizzard mit bis zu 1024 Bits deklarieren und nutzen). Rechtsseitig einen 16- oder 32 Bit breiten Busanschluss für einen Prozessor bzw Parallelinterface oder einen 1 Bit breiten Anschluss für ein serielles streaming interface. Mit einem FiFo-enable können die zu sampelnden Zeiten (Busphasen) festgelegt werden, z.&amp;amp;nbsp;B. anhand eines Kriteriums wie die Erfüllung einer bestimmten mathematischen Bedingung, die man in VHDL formuliert, oder es wird einfach ein Trigger gesetzt. Solange das FiFo nicht voll ist, kann geschrieben werden, was durch die interne FiFo-Verwaltung selbst bereits komplett geregelt wird.&lt;br /&gt;
&lt;br /&gt;
Beim einfachen seriellen Logic Analyzer benötigt man nur noch einen kleinen Core, der permanent das FiFo liest, und den seriellen Overhead (Startbit, Stoppbit, Parity und gfs CRC) hinzufügt. Mit einem einfach Pegelwandler kann so ein PC direkt angeschlossen werden.&lt;br /&gt;
&lt;br /&gt;
Auch denkbar ist die Anbindung an ein fremdes FPGA-board mit viel Speicher über (LV-)DS-Kommunikation. In komplexeren Systemen wird ein CAN- oder USB-Core eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Wenn mittels des Kriteriums nur ganz bestimmte kritische Phasen herausgesampelt werden (z.&amp;amp;nbsp;B. das Auftauchen eines bestimmten Rechenfehlers im FPGA) und so das Datenaufkommen je Zeiteinheit über längere Zeit betrachtet eher gering ist, kann bei geeignetem Datendurchsatz in Echtzeit dauerhaft mitprotokolliert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== BusProbe ====&lt;br /&gt;
Mit der BusProbe, dem Debugging Core von abaxor engineering, kann der Entwickler den Signalfluss im FPGA-Design auch über einen längeren Zeitraum überwachen und am PC aufzeichnen. Der Core verarbeitet an jedem Eingang einen kompletten Bus. &lt;br /&gt;
&lt;br /&gt;
Die Daten werden gemultiplext zum PC geschickt und dort per Software demultiplext. Im PC erfolgt auch die Auswertung mit beliebigen Analyse-Tools.&lt;br /&gt;
&lt;br /&gt;
Gegenüber dem Betriebssystem verhält sich die BusProbe wie eine Festplatte, von der die Daten mit gewöhnlichen Zugriffen gelesen werden können.&lt;br /&gt;
&lt;br /&gt;
* Streaming der Daten zum PC mit mehr als 20 MByte/s&lt;br /&gt;
* keine Treiber im PC da Nutzung von Standardschnittstellen (USB oder IDE)&lt;br /&gt;
* Hot-Plugging&lt;br /&gt;
* Visualisierung mit beliebigen Programmen&lt;br /&gt;
* geringer Logikaufwand&lt;br /&gt;
&lt;br /&gt;
[http://www.abaxor.de/produkte.html abaxor.de-Webseite]&lt;br /&gt;
&lt;br /&gt;
==== open source Logikanalysator ====&lt;br /&gt;
===== sump.org =====&lt;br /&gt;
Ein einfacher, übersichtlicher Logikanalysator findet sich auf sump.org. Er liegt im Quelltext vor wird mit ins Design einsynthetisiert. Als Speicher dient wahlweise SRAM oder internes RAM. Es können 32 Kanäle mit 100 MHz (oder weniger) gesampelt werden. Die Bediensoftware läuft platformunabhängig unter Java und benötigt eine serielle Schnittstelle (auch über USB-seriell Wandler) zum Core.&lt;br /&gt;
&lt;br /&gt;
[http://de.sump.org/projects/analyzer/ sump.org-Webseite]&lt;br /&gt;
&lt;br /&gt;
===== Weitere =====&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/articles/Logic_Analyzer&lt;br /&gt;
&lt;br /&gt;
== FPGA-Design aus Projektsicht ==&lt;br /&gt;
Vielfach wird die Auffassung vertreten, die FPGA-Entwicklung gehöre zur Hardwareentwicklung, da es sich um ein elektronisches Bauteil handle, welches lediglich konfiguriert werde. Man spricht bei der FPGA-Entwicklung oft auch ausdrücklich  nicht vom &amp;quot;programmieren&amp;quot;. Beides ist aus folgenden Gründen unrichtig:&lt;br /&gt;
&lt;br /&gt;
* Die Vorgehensweise, die Funktion einer Schaltung allein durch virtuelle Konstrukte wie Logikgatter, Multiplexer und Schalter zu definieren, die in der Praxis so nicht exisiteren, sondern in Form von LUTs realisiert werden, ist bereits eine abstrahierte Handlung.&lt;br /&gt;
&lt;br /&gt;
* Der erzeugte output des Designers besteht aus Grafiken, Skripten, Anweisungen, Einstellungen der Synthesesoftware und Strukturvorgaben, die nicht selbst Hardware sind, sondern Anweisungen an einer Erzeugersoftware und stellen damit ein Programm (lat. &amp;quot;Vorschrift&amp;quot;) dar.&lt;br /&gt;
&lt;br /&gt;
* Der erzeugte output der Erzeugersoftware wiederum ist selbst ein Programm und wird zusammen wie die Quellinformation des designers archiviert, versioniert und wie übliche Software gehandhabt.&lt;br /&gt;
&lt;br /&gt;
* Neben den allein schon durch die Nutzung bestimmter Funktionen wie RAMs, MCBs und Soft-Cores implizit vorgegebenen Abläufen im FPGA, werden fast immer auch noch weitere, explizite Handlungsabläufe mit Reaktionen auf äussere Einflüsse implementiert, die als klassische Software aufzufassen sind.&lt;br /&gt;
&lt;br /&gt;
Damit erfüllt die FPGA-Entwicklung formell mehrere Bedingungen, als Softwareentwicklung aufgefasst und eingruppiert zu werden. Andererseits ergeben sich durch die weiter oben erwähnten, sehr ausgeprägten Themen im Bereich der Elektronik (z.B. der Nachrichten- und HF-Technik) sowie der Physik eine Vielzahl von harten Anforderungen, der klassischen Hardwareentwicklung.&lt;br /&gt;
&lt;br /&gt;
Zusammengefasst kann man daher 2 grundlegende Aspekte des FPGA-Designs konstatieren, die je nach Anwendungsfall als mehr oder weniger unabhängig von einander gesehen werden können.&lt;br /&gt;
&lt;br /&gt;
=== Logikdesign ===&lt;br /&gt;
Das funktionslogische Design besteht aus dem Entwurf des Systems, der benötigten Abläufe und der zu realisierenden Protokolle und Berechnungsverfahren. Hierbei sind Kenntnisse im Systementwurf, gfs. von SOPC-Systemen, der üblichen Bussysteme und der Software generell nötig. Hinzu treten Kenntnisse in der elementaren und/oder der komplexen abstrakten Mathematik und der Signalverarbeitung sowie der theoretischen Nachrichtentechnik. Ferner sind Methoden des Sript- und Softwareentwurfes, sowie Handhabung von Software nötig.&lt;br /&gt;
&lt;br /&gt;
Dies alle stellt den Anteil dar, der klassischerweise als Softwareentwicklung aufgefasst wird. Es ist die Schnittstelle zur Funktionsschicht, also der grundsätzlichen Funktion eines Gerätes.&lt;br /&gt;
&lt;br /&gt;
=== Schaltungsdesign ===&lt;br /&gt;
Das praktische, hardwaretechnische Anteil des Designens erstreckt sich zudem über die physikalischen Themen der Temperatur- und Betriebsstabilität, der Strahlungs- und Störsicherheit, der Produzier- und Herstellbarkeit, des Wirkens und der Fehleranfälligkeit interner Schaltungsstrukturen, der Art und Weise der Resourennutzung bei unterschiedlichen Realisationsformen - besonders, wenn es auch Kostenoptimierung ankommt, des Analogverhalten der IOs und internen Strukturen im Bezug auf Frequenz und Pegel, der Signalintegrität der FPGAs und der Leiterbahnen sowie alle Anfordernisse im Umfeld der anzubindenen Chips.&lt;br /&gt;
&lt;br /&gt;
Dies ist der Anteil der gerne als Hardwareentwicklung eingestuft wird. Er stellt die Schnittstelle zur Physik und der Fertigung dar.&lt;br /&gt;
&lt;br /&gt;
=== Fazit ===&lt;br /&gt;
Die Verwendung von FPGAs ist heute komplexer denn je und erfordert in aller Regel starke Kenntnisse in beiden Feldern. FPGA-Entwicklung kann praktisch wie die Einbindung eines komplexen Evaluierungsboards oder einer programierbaren Steuerplatine mit festgelegten Funktionen aufgefasst werden.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Hardwarebeschreibungssprachen]]&lt;br /&gt;
* [[Reset für FPGA/CPLD]]&lt;br /&gt;
* [[Taktung FPGA/CPLD]]&lt;br /&gt;
* Projekt [[Audio-DSP mit Spartan 3-FPGA]]&lt;br /&gt;
* Projekt [[FPGA Lab]]&lt;br /&gt;
&lt;br /&gt;
== Forumlinks ==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/274159 Tonleiter im PLD] - Beispiel einer einfachen Musikapplikation&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/326462?goto=3564346#3564346 Kopierschutz] für FPGAs und programmierbare ICs&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.fpga4fun.com/index.html FPGA4Fun] - FPGA-Projekte, größtenteils mit Altera und Verilog&lt;br /&gt;
* [http://video.google.com/videoplay?docid=-4969729965240981475 Ein Vortrag, auf Englisch: General Purpose, Low Power Supercomputing Using Reconfiguration Logic]&lt;br /&gt;
* http://www.opencores.org - FPGA-Projekte, Opensource, jeder kann seine Eigenen einstellen und an anderen mitarbeiten. U.a. gibt es verschiedene CPUs für FPGAs.&lt;br /&gt;
* [http://pin4.at/pro_misc.php#fdil Projekt &amp;quot;FDIL v2&amp;quot;]: 5V DIL-Ersatz mit 100kGates Spartan II FPGA (Englisch)&lt;br /&gt;
* [http://members.optushome.com.au/jekent/FPGA.htm John&#039;s FPGA Page]&lt;br /&gt;
* [http://www.embedded.com/columns/whatsnew/197003073 More about designing with embedded FPGAs] by Bernard Cole, Embedded.com&lt;br /&gt;
* [http://chaosradio.ccc.de/cre117.html Chaosradio Express - FPGA]&lt;br /&gt;
* [http://www.pin4.at/pro_custom.php Custom IC replacements] - DIL / TTL-Replacements mit FPGA (Englisch)&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA und Co|Grundlagen|Bauteile]]&lt;/div&gt;</summary>
		<author><name>188.104.244.4</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=82000</id>
		<title>KiCad</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=KiCad&amp;diff=82000"/>
		<updated>2014-03-07T21:19:30Z</updated>

		<summary type="html">&lt;p&gt;188.104.244.4: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;KiCAD&#039;&#039;&#039; ist ein Open Source [[Schaltplaneditoren|Schaltplaneditor]] und PCB Layoutprogramm für Windows, Linux, Mac OSX.&lt;br /&gt;
&lt;br /&gt;
Diese Seite ist zunächst eine Zusammenfassung aus den KiCAD Beiträgen im Forum. Und gleich zu Anfang ein grosses DANKE an alle KiCAD-User aus dem Forum. Ihr seid zu viele, um jeden einzeln zu nennen. Aber wer sich diese Seite durchliest und den Links folgt, wird euch kennenlernen.  &lt;br /&gt;
&lt;br /&gt;
Hier sollen alte und neue KiCAD-Anwender einen Anlaufpunkt finden und neue, insbesondere µC-relevante Aktivitäten stattfinden. &lt;br /&gt;
&lt;br /&gt;
Diese Seite will keine Konkurrenz zum offiziellen KiCAD Wiki sein, d.h. was dort steht soll hier nicht wiederholt werden und was hier steht wird hoffentlich zum offiziellen KiCAD Wiki wandern.&lt;br /&gt;
&lt;br /&gt;
Wenn ihr Kritik oder Fragen zu KiCAD habt, dann nutzt das Forum! Sobald KiCAD im Betreff steht, wird der Beitrag gelesen und nach Möglichkeit beantwortet. Auch Ideen zu dieser Seite sind sehr willkommen! &lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Siehe auch die offizielle FAQ: http://kicad.sourceforge.net/wiki/index.php/FAQ&lt;br /&gt;
&lt;br /&gt;
TODO: Strukturierung (Allg., Schaltplan, Netlists, Module, Bibliotheken, Layout, Export, 3D)&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
* Warum gefällt dir KiCAD?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#584639&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697917&lt;br /&gt;
** http://www.mikrocontroller.net/topic/42614#321502&lt;br /&gt;
* Warum gefällt dir KiCAD nicht?&lt;br /&gt;
** Ich verstehe nicht, was du meinst ;-)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/81396#680502&lt;br /&gt;
** http://www.mikrocontroller.net/topic/83311#697969&lt;br /&gt;
&lt;br /&gt;
* Wo gibt es weitere Infos zu KiCAD?&lt;br /&gt;
** Die Offizielle Dokumentation: http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/doc/help/en/&lt;br /&gt;
** http://www.mikrocontroller.net/topic/98034#848661 (Von 2008, also seeeehr überholt)&lt;br /&gt;
* Welche Leiterplattenfertiger akzeptieren KiCAD Layouts?&lt;br /&gt;
** http://www.pcb-pool.de KiCAD kann &amp;quot;Extended&amp;quot; Gerber RS-247-X erzeugen. Das wird von PCB-Pool akzeptiert. Dabei http://www.pcb-pool.com/download/spezifikation/deu_cmso020_ext_gerber.pdf beachten! Alternativ, wer KiCAD (noch) nicht traut, diese RS-247-X in deren (PCB-Pools) Tool GC-Prevue  http://www.mikrocontroller.net/topic/120373#1092375 einlesen und als .GWK exportieren. AKTUELL August 2012: Wenn man bei PCB-Pool bestellt, ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCAD *,brd Dateien direkt aktzeptiert. Siehe http://www.pcb-pool.com/ppde/info_dataformat.html &lt;br /&gt;
** http://fischer-leiterplatten.de Ohne Aufpreis für Gerber-Import&lt;br /&gt;
&lt;br /&gt;
* Wie geht man mit KiCAD-Trollen um?&lt;br /&gt;
** Mit gesundem Menschenverstand. Trollregeln wie die US AIR FORCE (http://blog.wired.com/defense/2009/01/usaf-blog-respo.html) brauchen wir nicht ;-)&lt;br /&gt;
* Wie kriege ich raus, welche Leiterbahn welchen Netznamen hat, bzw. ich habe den Überblick verloren und weiss nicht mehr, was aus dem Layout nun was im Schaltplan ist?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/218922#2211644. Zusatz: Funktioniert nur gut, wenn großes Fadenkreuz gewählt ist. Aktueller (zu BZR4513 vom 29. November 2013) ist http://www.mikrocontroller.net/topic/316539#3427724&lt;br /&gt;
** Aber ich hätte gerne noch genauere Informationen, z.b. auch über die Länge einer Leiterbahn ec.&lt;br /&gt;
*** Dazu in PCBnew den gleichen Button rechts wie für das Hinzufügen von Leiterbahnen aktivieren. Oder besser noch rechts den zweiten Button von oben &amp;quot;Netz hervorheben&amp;quot;. Dann mit der rechten Maustaste die fragliche Leiterbahn anklicken. Unten in der Statusleiste werden die Informationen angezeigt. &lt;br /&gt;
* Ich würde gerne kicad OHNE Maus bedienen. Wie geht das?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/267538#new&lt;br /&gt;
* Gibt es Sonderzeichen, die ich für Symbole, Module/Footprints oder Files nicht verwenden sollte2&lt;br /&gt;
** Ja, alles was Sonderzeichen ausser - _ . und keine Zahl ist. Siehe: http://www.mikrocontroller.net/topic/302664#3249204&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
* Woher beziehe ich KiCad?&lt;br /&gt;
** fertig kompiliert z.B. von hier: http://kicad.nosoftware.cz/ (nur die binaries) oder &lt;br /&gt;
** hier: http://iut-tice.ujf-grenoble.fr/cao/&lt;br /&gt;
* Kicad entwickelt sich rasant. Wo finde ich eine Liste der Versionsänderungen?&lt;br /&gt;
** Auf der Kicad Launchpad Seite via bazaar. Siehe: http://www.mikrocontroller.net/topic/298311#3187885&lt;br /&gt;
* Ich habe KiCad unter Linux installiert, aber wenn ich KiCad starten will, passiert einfach nichts, oder ich erhalte eine Fehlermeldung wie: &amp;quot;Datei nicht gefunden&amp;quot;. Siehe: http://www.mikrocontroller.net/topic/307517#new&lt;br /&gt;
** 1) KiCad und seine zugeordneten Programme sollten im Suchpfad stehen. Es wird für Debian und Ableger empfolen, KiCad unter usr/local/ zu installieren. Anmerkung: Das ist eine Möglichkeit. Zur Zeit (Oktober 2013) wird folgende Struktur empfohlen:&lt;br /&gt;
*** /usr/bin                            - Binaries (executable files).&lt;br /&gt;
*** /usr/share/doc/kicad/               - Various documentation.&lt;br /&gt;
*** /usr/share/doc/kicad/help           - Interactive help.&lt;br /&gt;
*** /usr/share/kicad/demos              - Sample schematics and printed boards.&lt;br /&gt;
*** /usr/share/kicad/internat           - Dictionaries for interface localization.&lt;br /&gt;
*** /usr/share/kicad/library            - Interface localization files.&lt;br /&gt;
*** /usr/share/kicad/modules            - Module libraries for printed boards.&lt;br /&gt;
*** /usr/share/kicad/modules/packages3d - 3D component models (.wrl and .wings format).&lt;br /&gt;
*** Quelle: http://iut-tice.ujf-grenoble.fr/cao/install.txt Hier sind auch Hinweise für Windows user enthalten.&lt;br /&gt;
&lt;br /&gt;
** 2) User sollten dort Lese- und Ausführungsrechte haben. Aber keine Schreibrechte.&lt;br /&gt;
** 3) Wenn ein fertiges Packgage auf einem 64 bit System verwendet wurde, könnte es daran liegen, das es für 32 bit compiliert wurde, und nicht für 64 bit. Es gibt zwei Möglichkeiten:&lt;br /&gt;
*** a) Selber aus den Sourcen für sein eigenes System compilieren.&lt;br /&gt;
*** b) Die Runtime Libs für 32 Bit könnten fehlen. Nachinstallieren mit sudo apt-get install ia32-libs. Siehe: http://www.mikrocontroller.net/topic/307517#3307638&lt;br /&gt;
* Ich habe das umgekehrte Problem: 32bit system aber 64bit Binarys.&lt;br /&gt;
** Selber aus den Sourcen neu compilieren.&lt;br /&gt;
*Ich will/muss mir KiCad selber compilieren. Wie gehe ich vor?&lt;br /&gt;
** Aktuell nach: http://www.kicad-pcb.org/display/DEV/Build+KiCad&lt;br /&gt;
**Veraltet! siehe: http://www.mikrocontroller.net/topic/310766#3351269 Aber Achtung. Diese Anleitung (Oktober 2013) muss nicht aktuell sein.&lt;br /&gt;
&lt;br /&gt;
=== Schaltplan ===&lt;br /&gt;
* Wie stellt man die Blattgrösse beim Schaltplan ein?&lt;br /&gt;
** In Page Settings die Blattgröße verstellen (zB von A4 auf A3) http://www.mikrocontroller.net/topic/33653#974295&lt;br /&gt;
* Wie kann man den Schaltplan auf mehreren Seiten verteilen (hierachical sheets)?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060&lt;br /&gt;
** http://www.mikrocontroller.net/topic/117873#1060062&lt;br /&gt;
*Wie geht man mit &amp;quot;Power Pins&amp;quot; in hierachischen Schaltplänen um?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/207905#new&lt;br /&gt;
* Wie kann man die &amp;quot;hierachical sheets&amp;quot; benutzen, um aus vorgefertigten Subschaltplänen mit immer gleichen Bauteilgruppen rationell Schaltpläne zusammenzustellen (Building Blocks)?&lt;br /&gt;
** http://www.mikrocontroller.net/articles/KiCAD#Tipps.26Tricks:_Building_Blocks&lt;br /&gt;
** http://www.mikrocontroller.net/topic/175597#1687653&lt;br /&gt;
** http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angelegt. Wenn ich ihn ausdrucke, werden die Subschaltpläne in der Reihenfolge ausgedruckt, in der sie oben in der Übersicht stehen. Diese Reihenfolge ist aber in meinem Fall ungünstig. Wie kann ich diese nun ändern?&lt;br /&gt;
** Leider im Programm z.Z. noch nicht. Trozdem ist es machbar. Entweder von Hand oder mit einem Python Skript. Näheres zu beidem findet sich hier: http://www.mikrocontroller.net/topic/288394#3064087 . Ein Python 3 Skript, das den Umgang mit dem Kicad-Schaltplan erleichtert, findet sich hier: [[Media:PyKicadSchematic-ID_Interchanger_RevC.zip]].&lt;br /&gt;
*Wie geht man mit Bussen um?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208870#new&lt;br /&gt;
** und speziell bei hierachischen Schaltplänen: http://www.mikrocontroller.net/topic/209156#new&lt;br /&gt;
* Wie kann man Schaltplanentwurf (KiCAD) und Schaltungssimulation (Spice) verbinden?&lt;br /&gt;
* Ein Tutorial zum Symboleditor für KiCAD, mit dem die Symbole für das Schaltplanmodul (EEschema) erzeugt bzw. editiert werden, findet sich hier: [[Media:SymboleFuerKiCad318082009-RevC-DE.pdf]]. Zur Erstellung von Schaltplansymbolen in aufgelöster Darstellung (Relais: Kontaktsätze einzeln und getrennt von der Spule; IC: Versorgungsspannung getrennt von den einzelnen Gattern) siehe http://www.mikrocontroller.net/topic/273891#new. Bei Problemen noch mal hier nachlesen: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
* Wie kann man im Schaltplan Symbole zum Verschieben gruppieren?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/170913#&lt;br /&gt;
* Und wenn es darum geht, eine solche Gruppe in einen anderen Schaltplan oder Subschaltplan zu verschieben?&lt;br /&gt;
** Die Gruppe ins &amp;quot;Clipboard&amp;quot; stecken. Dazu nach dem Markieren der Gruppe rechte Maustaste beklicken, und dort &amp;quot;Gruppe speichern&amp;quot; wählen. Nun ist die Gruppe im Clipboard. jetzt in den gewünschten Unterschaltplan gehen und die Gruppe dort mithilfe des Clipboardbuttons (Das Klemmbrett Symbol links neben dem &amp;quot;Undo&amp;quot;-Button) in den Schaltplan einfügen. NICHTS mit der rechten Maustaste versuchen! Siehe auch: http://www.mikrocontroller.net/topic/244836#2499782 Das ganze geht nicht nur mit Subschaltplänen, sondern auch genauso in einen ganz anderen Schaltplan, den man dann halt in Eeschema öffnen muss, hinein. Wenn nach dem Einfügen allerdings nur ein Kästchen mit Fragezeichen erscheint, waren die nötigen Symbolbibliotheken für diese Symbole noch nicht in der Projektdatei eingetragen. Das mus man nun nachholen, indem man unter &amp;quot;Einstellungen&amp;quot; die &amp;quot;Bibliotheken&amp;quot; wählt, und die passenden Bibliotheken einträgt. Wenn man nicht genau weiss, wo diese zu finden sind, kann es sinnvoll sein, die *-cache.lib des Herkunftsschaltplanes einzubinden. &lt;br /&gt;
* Wie wird man den merkwürdigen Rahmen los?&lt;br /&gt;
** 1) Bei neueren KiCad Versionen, ab ca. Mitte 2013 (von mir getestet ab BZR 4513 29 November 2013) kann man sich eine Vorlage ohne Rahmen erstellen. Dazu den pl_editor (der ganz rechte Button im KiCad Hauptfenster) starten, und FAST alles entfernen. Dazu in der linken Spalte nacheinander alles aktivieren, und mit rechts anlicken und dann &amp;quot;entfernen&amp;quot; wählen. Aber vorsicht, wenn alles Entfernt wird, taucht das Original Layout wieder auf. Workaround war bei mir, eine zusätzliche Alibilinie hinzuzufügen, die von X 0,000 Y 0,000 bis  X 0,001 Y 0,000 reicht. Das ist ein &amp;quot;Fliegenschiss&amp;quot; in der linken oberen Ecke. Jetzt kann alles andere gelöscht werden. Den so geleerten Rahmen unter einem beliebigen Namen mit der Endung .kicad_wks wegspeichern. Im geöffneten Schaltplan kann der dann unter Datei &amp;gt; Seite einrichten ganz unten unter &amp;quot;page layout file description&amp;quot; die entsprechende Datei eingebunden werden. Es bleibt aber dem Anwender offen, ob er den Rahmen komplett entfernt, oder noch Felder mit Textbeschreibungen übernimmt. Für gesteigerten Komfort kann diese Datei dann auch in ein Template eingebunden werden. &lt;br /&gt;
** 2) Beim Ausdrucken Frame deaktivieren.&lt;br /&gt;
** 3) Als SVG exportieren/plotten. Liegt es als SVG vor, mit einem geigneten Grafikprogramm, z.B. Inkscape, den Rahmen löschen.&lt;br /&gt;
* Wie schalte die Footprint-Namen in Eeschema global ab?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/253564#new&lt;br /&gt;
* Ich habe ein Problem mit dem ERC. Ständig kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
** Netze, die nicht angesteuert werden, werden von Kicad misstrauische beäugt. Das &amp;quot;nicht ansteuern&amp;quot; kann aber schnell passieren, weil Kicad u.A. erwartet, das irgendwo ein Spannungsversorgung ist. Wenn diese aber z.B. über eine Sicherung oder einen Pull-up Widerstand gehen, so wird das nicht bemerkt, weil Sicherungen und Widerstände (oder auch Entstördrosseln) &amp;quot;passive&amp;quot; Pins haben. Siehe: http://www.mikrocontroller.net/topic/292988#new und http://www.mikrocontroller.net/topic/298401#new&lt;br /&gt;
* Ich habe ein Problerm mit dem ERC. Immer in Verbindung mit GND kommt die Fehlermeldung: &amp;quot;Pin ist mit anderen Pins verbunden, wird jedoch von keinem angesteuert&amp;quot;&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/284089#new&lt;br /&gt;
* Wie ist der Zusammenhang zwischen Bauteilen und Netznamen? Wie bekomme ich heraus, an welchem Netz mein Bauteil angeschlossen ist?&lt;br /&gt;
** Eeschema vergibt bzw. aktualisiert erst dann Netznamen, wenn eine Netzliste erzeugt wird. Darauf besteht entweder ein Zugriff über PCBnew, oder aber mit einem Editor. Siehe Beitrag http://www.mikrocontroller.net/topic/316539#new&lt;br /&gt;
* Ich habe einen Schaltplan geöffnet, aber alle oder einige der Symbole zeigen nur Kästen mit Fragezeichen.&lt;br /&gt;
** Es fehlen die passenden Symbolbibliotheken für diese Symbole.&lt;br /&gt;
*** Diese müssen in der Liste der Bibliotheken nachgetragen werden. &lt;br /&gt;
*** Hat man von anderswo einen Schaltplan bekommen, kann dieser auf anderen Symbolbibliotheken beruhen, als man selber verwendet. Aus diesem Grunde existiert zu jeder Schaltplandatei (Dateiname.sch) eine Cache Bibliothek (Dateiname-cache.lib). Diese enthält alle im Schaltplan verwendeten Symbole, und sollte darum mit dem Schaltplan zusammen übergeben werden.&lt;br /&gt;
*** Ab BZR4646 (Jan./Feb. 2014) behandelt KiCad Symbolnamen &amp;quot;Case Sensitive&amp;quot;. Das führt zu Problemen mit älteren Schaltplänen, wo &amp;quot;Mixed Case&amp;quot; Symbolnamen aus den Bibliotheken automatisch in &amp;quot;Upper Case&amp;quot; Symbolnamen konvertiert wurden. Diese werden jetzt nicht mehr erkannt. Näheres siehe: http://www.mikrocontroller.net/articles/KiCAD#Problem:_Case_Senitive_Symbols_ab_BZR4646_.28Jan..2FFeb._2014.29&lt;br /&gt;
&lt;br /&gt;
=== Netlist ===&lt;br /&gt;
* Was genau muss man beim Übergang vom Schaltplan (SCH) zum Layout (BRD) machen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#898771&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
** http://www.mikrocontroller.net/topic/39243#891530&lt;br /&gt;
* Kann man fertige Netzlisten für Gruppen von Bauteilen einbinden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/33653#1462871&lt;br /&gt;
* Kann man Daten für automatische Bestückung erzeugen?&lt;br /&gt;
** Ja. aber nicht in CVpcb für die Symbol &amp;gt; Footprint Zuordnung, sondern im Layout Modul PCBnew.&lt;br /&gt;
* In meiner Netlist fehlen Bauteile, die im Schaltplan vorhanden und angeschlossen sind. Der ERC läuft problemlos durch. Die Annotation auch, aber nach Erstellung der Netlist sind die Symbole plötzlich mit einem vorangestellten &amp;quot;#&amp;quot; im Schaltplan bezeichnet.&lt;br /&gt;
** Vermutlich sind sie versehentlich als &amp;quot;virtuelles&amp;quot; Bauteil gekennzeichnet. Siehe http://www.mikrocontroller.net/topic/268626#new&lt;br /&gt;
* Was bedeuten die Maßangaben in der Netlist?&lt;br /&gt;
* Wie überträgt man Kicad Schaltpläne in QUCS Schaltpläne für Simulation?&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
* Wie stellt man die Rastergrösse im Layout ein?&lt;br /&gt;
** Mit der Rechten Maustaste in das Board klicken. Es poppt ein Menue auf. Dort Raster wählen..... Geht im Modul-Editor genauso.&lt;br /&gt;
* Wie füllt man eine Fläche aus?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#854802&lt;br /&gt;
** Etwas aktueller: http://www.mikrocontroller.net/topic/182271#1772119 Zweiter Teil des Posts.&lt;br /&gt;
* Ja, aber meine Fläche wird nicht gefüllt oder es passiert was ganz merkwürdiges.&lt;br /&gt;
**Siehe: http://www.mikrocontroller.net/topic/298692#new &lt;br /&gt;
* Wie werden Pads und Leiterbahnen verbunden?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/119755#1081455&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/220733#new&lt;br /&gt;
* Ich kann keine Leiterbahnen ziehen!&lt;br /&gt;
** Vermutlich hast Du den automatischen DRC (Design rule check) aktiviert. Deaktiviere ihn halt. In PCBnew im linken Buttonbar der oberste Button (Insekt mit Verbotszeichen). http://www.mikrocontroller.net/topic/306476#new&lt;br /&gt;
* Ich bekomme immer eine Fehlermeldung vom DRC, das ein Pad nicht angeschlossen ist, aber ich habe es angeschlossen.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/204717#2018724&lt;br /&gt;
* Ich will ein Bauteil für geringeren Leiterwiderstand sowohl auf der Unterseite- als auch der Oberseite anschliessen. KiCAD löscht aber immer den alten Leiterbahnzug, wenn ich den neuen lege. &lt;br /&gt;
** Deaktiviere unter Einstellungen-&amp;gt;Allgemein das &amp;quot;auto-entfernen-von-Leiterbahnen&amp;quot; (einfachste Lösung). &lt;br /&gt;
** Alternativ: Designe dafür Bauteile mit speziellen Pads. http://www.mikrocontroller.net/topic/187606#1823596 (realistischste u. sauberste Lösung, aber etwas umständlich.)&lt;br /&gt;
* Wie kann man ein Bauteil mit Pads und Leiterbahnen bewegen? &lt;br /&gt;
** http://www.mikrocontroller.net/topic/118539#1067219&lt;br /&gt;
* Ich habe eine Platine, die von oben und unten bestückt ist. Wenn ich jetzt Bauteile zusammengruppiere, um sie gemeinsam zu verschieben, erwische ich immer alle Bauteile auf Vorder- und Rückseite. Wie bekomme ich das jetzt hin, das ich nur Module auf einer Seite bewege?&lt;br /&gt;
** Indem im Lagenmanager die Seite, die nicht bewegt werden soll, abgeschaltet wird. Siehe: http://www.mikrocontroller.net/topic/311586#new&lt;br /&gt;
* Wie bekommt man ein vernünftiges Boardoutline hin?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96060#1057511 &lt;br /&gt;
* Wie erstellt man eine Befestigungsbohrung / nichtdurchkontaktierte Bohrung?&lt;br /&gt;
** VERALTET: http://www.mikrocontroller.net/topic/179308#1726990&lt;br /&gt;
** VERALTET:http://www.mikrocontroller.net/topic/120373#1122219 ?????&lt;br /&gt;
** KiCAD kann mittlerweile auch direkt nichtdurchkontaktierte Bohrungen erzeugen. Siehe dazu http://www.mikrocontroller.net/topic/263069#2732405 Enthält auch allgemeine Informationen zum Umgang mit durchkontaktierten und nicht durchkontaktierten Bohrungen.&lt;br /&gt;
* Ich möchte für Passermarken / Fiducials eine deutlich größere Freistellung in der Lötstoppmaske haben. Wie geht das?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/266730#2779498&lt;br /&gt;
* Wie geht das überhaupt mit den Lötstoppmasken?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/283721#new&lt;br /&gt;
* Ja, aber die Lötstoppmaske wird leider nicht angezeigt.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/298028#new&lt;br /&gt;
* Wie kann man Bauteilmaße in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
** Anzeige im Layout: Layer &amp;quot;Zeichnung&amp;quot; anwählen. In der rechten Menueleiste &amp;quot;Bemaßung hinzufügen&amp;quot; wählen. Das ist der fünfte Button von unten mit der &amp;quot;blauen Bemaßung&amp;quot;. Jetzt an einer Stelle links ins Layout klicken. Maus verschieben und noch einmal links klicken und die Maus seitlich verschieben. Es wird ein Maßpfeilsystem zwischen erstem und und zweitem Mausklick angelegt, deshen höhe man mit der Maus einstellen kan. Ein weiterer linker Mausklick fixiert das System. Das Anklicken der Beschriftung mit der rechten Maustaste erlaubt das Editieren. Das System wird immer in der Einheit angelegt, die in der linken  Menueleiste vorgewählt wurde. Die Rasterung der aktuellen Einstellung wird auch übernommen. Späteres Ändern von Einheit- und Raster ändern die Beschriftung nicht mehr. In 3D und im Footprint geht diese Möglichkeit nicht.&lt;br /&gt;
** Weitere Möglichkeiten: Einen Maßstab als footprint/Modul anfertigen und zum Messen in das Board einfügen.&lt;br /&gt;
** Wenn man im Layout aber direkt etwas ausmessen möchte, so geht das über den relativen Nullpunkt. Unten im Rahmen rechts sind vier Felder. Die beiden linken zeigen die absoluten Koordinaten, an, die beiden rechten die relativen Koordinaten in Bezug auf einen relativen Nullpunkt. Defaultmäßig stimmen absoluter und relativer Nullpunkt ersteinmal überein. Per &amp;quot;Space bar&amp;quot; drücken setzt Du den relativen Nullpunkt an den Ort des Mauszeigers. Wenn Du nun die Maus verfährst, zeigen die relativen Koordinaten nun den vertikalen und horizontalen Abstand zum Nullpunkt. Die Diagonale muss leider über den Pythagoras selber ausgerechnet werden, oder indem man die Polarkoordinateneinstellung wählt (linke Menueleiste). Durch geschicktes setzten des Nullpunktes kann man nun auf der Platine herummessen. Winkel können auch über die Polarkoordinateneinstellung gemessen werden. Im Moduleditor geht das analog. Das 3D-View kann zur Zeit (Jannuar 2011) überhaupt keine Bemaßung.     &lt;br /&gt;
* Wie kann man mit der KiCAD Version 20100314 &#039;&#039;&#039;einseitige&#039;&#039;&#039; Platinen erstellen?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/172015#1651239&lt;br /&gt;
** aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
*Und wie teile ich KiCAD mit, daß der Autorouter nur eine Seite verwenden soll?&lt;br /&gt;
** Auf die doofe Tour: Erst in KiCAD zweiseitig wählen, und dann beide Lagen im Autorouter als &amp;quot;Unterseite&amp;quot; wählen.&lt;br /&gt;
* Wie kann man den Nullpunkt eines Layouts verschieben?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/179680#1730452 für den Layout Editor PCBnew. Im Moduleditor bei Erstellung eines Footprints kann man den Ankerpunkt frei Mithilfe des Anker-Tools aus der rechten Menüleiste (das Ankersymbol) setzten. Gleiches gilt für den Symboleditor.&lt;br /&gt;
* Wie gehen runde Bögen in KiCAD?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/202512#1994063 &lt;br /&gt;
* Ich habe mein Board fertig geroutet, stelle aber jetzt fest, das ich noch einige Leiterbahnbreiten ändern muss. Wie geht das am einfachsten?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/205851#new&lt;br /&gt;
*Ich kann Pads nicht anschlissen bzw. ich bekomme vom DRC Fehlermeldungen, daß ich Pads nicht angeschlossen habe, obwohl sie angeschlossen sind.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
*Wie kann ich Daten für automatische Bestückung (Pick&amp;amp;Place) erzeugen?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bauteile Positionsdatei (.pos). Aber dieses verlangt, das die Footprints auch die richtigen Informationen dazu enthalten. Um diese einzustellen, den Footprint im Moduleditor öffnen und unter dem Button &amp;quot;Bauteileigenschaften&amp;quot; in &amp;quot;Attribute&amp;quot; eine Markierung bei &amp;quot;Normal+Einfügen&amp;quot; machen. Dann wird der Ankerpunkt des Modules für die Positionsdatei verwendet. Damit sinnvolle Daten entstehen, sollte der Ankerpunkt in die Mitte des Footprintes gesetzt worden sein. &lt;br /&gt;
*Und wie erzeuge ich ein Excellon Drillfile?&lt;br /&gt;
** In PCBnew unter Datei &amp;gt; Fertigungsdateien &amp;gt; Bohrdaten. Die Datei enthält auch eine Werkzeugliste. Kicad legt u.U. zwei Drillfiles an, wenn erforderlich. Eines für durchkontaktierte, und eines für nicht durchkontaktierte Bohrungen. Wer eine extra Liste und eine Statistik wünscht, muss auch noch &amp;quot;Bericht über Bohrung&amp;quot; anwählen.&lt;br /&gt;
* Wenn PCBnew die Netzliste eingelesen hat, liegen alle Bauteile auf einem Haufen. Zum Plazieren eines herausgreifen ist mühsam. Wie geht das am einfachsten?&lt;br /&gt;
** In PCBnew &amp;quot;T&amp;quot; drücken. Es poppt ein Fenster auf, wo man die Bauteilreferenz (den Namen) eingeben kann. Und schon hängt das Bauteil zum Bewegen am Zeiger. Die Bedienung ist letztlich genauso wie das &amp;quot;m&amp;quot; und die Komandozeile in Eagle. Siehe http://www.mikrocontroller.net/topic/293903#3133990&lt;br /&gt;
** &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
* Ich habe ein fertiges Layout. Jetzt möchte ich aber andere Footprints verwenden, und anschliessend nicht neu routen müssen. Wie geht das?&lt;br /&gt;
** Üner CVpcb und Neueinlesen der Netzliste. Siehe: http://www.mikrocontroller.net/topic/297885#new&lt;br /&gt;
* Ich will links herum routen, aber Kicad meint unbedingt rechts herum (...oder umgekehrt). Wie kann ich die Leiterbahnen &amp;quot;flippen&amp;quot;?&lt;br /&gt;
** Mit &amp;quot;/&amp;quot; (Slasch) http://www.mikrocontroller.net/topic/280028#new&lt;br /&gt;
* Ich hätte gerne die Tastenkürzel in kicad so wie in meinem gewohnten Programm. Wie geht das?&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/283959#3007173 . Vieleicht ist einer ja so nett, und stellt Konfigurationsfiles für Leute die aus EAGLE, ORCAD oder so wechseln, bereit.&lt;br /&gt;
* Ich habe ein kleines Board fertig geroutet. Jetzt möchte ich mehrere davon zu einer größeren Platine zusammenführen (sog. Mehrfachnutzen), um sie rationeller fertigen zu können.&lt;br /&gt;
** Siehe http:http://www.mikrocontroller.net/topic/292334#new . Das geht natürlich genauso, wenn man verschiedene Platinen so zu Nutzen zusammenfügen möchte, oder halt kleinere Teillayouts zu einem Gesamtboard.&lt;br /&gt;
* Ich habe einen hierarchischen Schaltplan angefertigt, indem sich eine Schaltung zig mal wiederholt. Eine dieser Subschaltungen habe ich schon geroutet, und möchte dieses Layout genau wie die hierarchischen Schaltpläne mehrfach auf dem Board verwenden.&lt;br /&gt;
** Siehe http://www.mikrocontroller.net/topic/292123#new&lt;br /&gt;
&lt;br /&gt;
=== Layout: Python Scripting ===&lt;br /&gt;
&lt;br /&gt;
Das Python2-Scripting ist bisher nur in PCBnew implementiert und noch sehr experimentell. Daher ist leider auch der aktuelle Stand der Dokumentation zum Python-Skripting in PCBnew noch etwas dürftig. Trozdem hier Links dazu:&lt;br /&gt;
* http://www.kicad-pcb.org/display/KICAD/KiCad+Scripting+Reference+Manual (Allgemein. Achtung! Kicad braucht beim compilieren spezielle Befehle, um Python-Scripting tauglich zu sein.)&lt;br /&gt;
* http://dev.kicad-pcb.org/doxygen-python/index.html (Definitionen von Namespaces, Classes und Files)&lt;br /&gt;
&lt;br /&gt;
Für Linux-Debian:&lt;br /&gt;
Aktuell (07. Februar 2014) mit  Pcbnew Version: (2014-01-27 BZR 4641)-product Release build auf&lt;br /&gt;
Platform: Linux 3.2.0-4-686-pae i686, 32 bit, Little endian, wxGTK (Debian Wheezy) gilt:&lt;br /&gt;
* Geht aktuell nur für PCBnew.&lt;br /&gt;
* Klassenbibliotheken: Zwei Dateien pcbnew.py und _pcbnew.so auf dem Pfad: /usr/lib/python2.7/dist-packages/&lt;br /&gt;
* Die Klassenbibliothek wird mit den üblichen Python2 Methoden importiert: z.B. &amp;quot;import pcbnew&amp;quot; oder &amp;quot;from pcbnew import *&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Beispielprogramm, das alle Footprints aus einer Legacy-Fotprint Datei auflisted und den Referenzbezeichner dazuschreibt::&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
# das war das Shebang.&lt;br /&gt;
&lt;br /&gt;
from pcbnew import * # Import der Bibliothek. &lt;br /&gt;
libpath = &amp;quot;/home/DuUser/KiCad-Daten/Module/ModuleGrosserSampler/KiCadLegacyFottprints.mod&amp;quot; # Übergabe des Pfades.&lt;br /&gt;
lst = FootprintEnumerate(libpath) &lt;br /&gt;
for name in lst:&lt;br /&gt;
    m = FootprintLoad(libpath,name)&lt;br /&gt;
    print name,&amp;quot;-&amp;gt;&amp;quot;, m.GetReference()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Scripting Möglichkeit ist so neu, dass bis jetzt die Scripting Testdateien für das KiCAD interne automatische Qualitätssicherungssystem noch nicht komplett sind.&lt;br /&gt;
Unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/ finden sich bereits geprüfte Testskripte, und unter http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/pcbnew/scripting/examples/ finden sich ungetestete Testskripte.&lt;br /&gt;
&lt;br /&gt;
Sie alle können als Beispiele genommen werden, wie das mit dem Skripting gemeint ist, und als Vorbild für eigene Skripte dienen.&lt;br /&gt;
&lt;br /&gt;
=== Module Editor ===&lt;br /&gt;
* Wie erstellt man Footprints für Bauteile?&lt;br /&gt;
* Wie verbinde kopiere ich etwas aus einem Footprint in einen anderen hinein, bzw. wie verbinde/merge ich zwei Footprints?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/288167#3061997&lt;br /&gt;
* Kann man im Module Editor die Eigenschaften aller Pads gleichzeitig ändern?&lt;br /&gt;
** http://www.mikrocontroller.net/topic/93131#799550 &lt;br /&gt;
* Ich brauche einen Footprint, bei dem mehrere Pads verbunden sind, will aber nicht im Schaltplan zig Pins aufführen und anschliessen müssen.&lt;br /&gt;
**http://www.mikrocontroller.net/topic/208982#new&lt;br /&gt;
**http://www.mikrocontroller.net/topic/204717#new&lt;br /&gt;
* Wie erzeugt man thermal Vias in Kicad?&lt;br /&gt;
** Leider bisher nur experimentell: http://www.mikrocontroller.net/topic/298028#3187259&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
* Wie verwalte ich Footprint Bibliotheken?&lt;br /&gt;
** Indem man sich ein Board erstellt, alle Footprints, die man zusammenfassen möchte, auf das Board stellt, und dann untet Dateien &amp;gt; Footprints archivieren &amp;gt; Footprint Archiv erstellen wählt. Das so erstellte Board kann auch zu Dokumentationszwecken geplottet werden. Eventuell möchte man einige Footprints, die zu Hilfszwecken (z.B. Skalen) auf dem Board sind, anschliessend mit dem Bibliothekseditor daraus löschen.&lt;br /&gt;
** Alternativ, im dem &amp;quot;neuen&amp;quot; *.pretty Format, mit einem Dateiverwaltungsprogramm Deiner Wahl. Siehe http://www.mikrocontroller.net/topic/320301#new&lt;br /&gt;
&lt;br /&gt;
=== 3D-Ansicht ===&lt;br /&gt;
* Die 3D-Ansicht funktioniert bei mir nicht.&lt;br /&gt;
** http://www.mikrocontroller.net/topic/289075#new&lt;br /&gt;
* Kann man die 3D-Ansicht in ein 3D-CAD Programm exportieren? &lt;br /&gt;
**http://www.mikrocontroller.net/topic/203388#new&lt;br /&gt;
* Wie kann man Bauteilmaße in in den Ansichten (Footprint, Layout, 3D-View) anzeigen?&lt;br /&gt;
&lt;br /&gt;
Da KiCAD in Punkto 3D-Ansicht komplett auf Wings3D beruht, und die 3D Modelle der Bauteile wrl-files sind, die mit Wings3D (oder Blender) erstellt werden können, sei hier auf ein Wings3D Handbuch verwiesen: http://www.oortman3d.com/wings3d/TheWings3dHandbook.pdf&lt;br /&gt;
&lt;br /&gt;
Viele Bauteilhersteller (vor allem von eher mechanischen, wie z.B. Stecker, Buchsen, Befestigung...) bieten fertige 3D-Modelle an. Diese sind meistens in den Formaten STEP oder IGES. So kann man diese in das von KiCAD benötigte .wrl (VRML 2.0) konvertieren:&lt;br /&gt;
# STEP oder IGES in [http://gcad3d.org/ gCAD3D] öffnen (File &amp;gt; Open Model)&lt;br /&gt;
# als Wavefront .obj speichern (File &amp;gt; Save Model as &amp;gt; OBJ)&lt;br /&gt;
# Das .obj in [http://www.wings3d.com/ Wings 3D] importieren (File &amp;gt; Import &amp;gt; Wavefront .obj)&lt;br /&gt;
# Als VRML 2 exportieren (File &amp;gt; Export &amp;gt; VRML 2.0 .wrl)&lt;br /&gt;
# Im KiCAD-Moduleditor die .wrl-Datei als 3D-Modell auswählen&lt;br /&gt;
# Eventuell muss man die Skalierung und Positionierung anpassen, die angezeigten Pads und Löcher helfen dabei. Die am meisten benötigten Faktoren dürften dabei 0,3937 und 2,54 sein - bei den Konvertierungen kommt leicht die Einheit Zoll oder cm durcheinander.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit .obj oder .stl-Dateien aus STEP und IGES zu erzeugen ist [http://free-cad.sourceforge.net/ FreeCAD]. Obwohl es auch .wrl direkt erzeugen kann, können diese nicht in KiCAD geladen werden. Der Umweg über .obj oder .stl und Wings 3D löst dies aber auch hier.&lt;br /&gt;
&lt;br /&gt;
Wenn man das Board wieder in einem CAD-Programm verwenden will um z.B. ein Gehäuse zu konstruieren, sollte man wieder STEP-Dateien erzeugen. Neuere KiCAD-Versionen können zwar VRML exportieren, doch das beschreibt nur Umrisse und keine Körper (Solids). CAD-Programme zum Gehäusedesign brauchen jedoch letzteres. So geht die Konvertierung:&lt;br /&gt;
# VRML aus KiCAD exportieren (File &amp;gt; Export &amp;gt; VRML)&lt;br /&gt;
# .wrl-Datei mit Hilfe von [http://www.cs.princeton.edu/~min/meshconv/ meshconv] in eine STL-Datei konvertieren: &amp;lt;code&amp;gt;meshconv boardname.wrl -c stl -o boardname.stl&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die STL-Datei mit [http://www.solveering.com/products/products_stl2step.html stl2step] in eine STEP-Datei konvertieren&lt;br /&gt;
&lt;br /&gt;
Man sollte hinterher im CAD nochmal genau die Maße kontrollieren. Denn die Konvertierung von STL nach STEP ist nur eine Approximierung und keine exakte, verlustfreie Konvertierung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Und wie bedient man Wings3d?&lt;br /&gt;
** Ein (vorläufiger) Merkzettel/Ultrakurzanleitung zur Bedienung von Wings3D findet sich hier: [[Media:Kicad-Wings3D_Merkzettel_29November2012.pdf]]. Wenn man nur mit Wings3d Modelle für Kicad erstellen will, langt das eventuell schon als Tutorial. There is also an English translation of this leaflet about using wings3d for kicad  at [[Media:Kicad-Wings3D_Leaflet_25April2013.pdf]].&lt;br /&gt;
&lt;br /&gt;
=== Drucken / Export ===&lt;br /&gt;
* Wie exportiert man den Schaltplan oder das Layout als Bild (PNG o.ä.)? &lt;br /&gt;
** Drucken über Postscript-Treiber und Umwandeln mit Ghostscript&lt;br /&gt;
** [http://www.mikrocontroller.net/topic/96060#1061492]&lt;br /&gt;
** Plot to Clipboard [http://www.mikrocontroller.net/topic/117562#1056566]&lt;br /&gt;
* Wie kann ich GENAU ausdrucken? Mein Ausdruck auf ABC ist ca. X % zu klein oder Y% zu groß! &lt;br /&gt;
** So genau sind einfache Drucker bzw. Druckertreiber selten. Aber meistens hilft folgendes: Mache einen 1:1 (100%) Probeausdruck. Messe auf dem Ausdruck nach, wie groß er tatsächlich geworden ist. Berechne die Abweichung und gebe sie in den Drucker bzw. Druckertreiber unter Einstellung ein, vorausgesetzt, der Drucker bzw. Druckertreiber kann das. Mit dem Wert machst Du wieder eine Probeausdruck, messe wieder nach, und wenn es mit der Einstellung funktioniert hat, kannst Du Deine Folie bedrucken. Wenn das nicht klappen kann, weil Du stark abweichende Werte für horizontal und vertikal bräuchtest, aber der Drucker nur einen gleichen Wert für beides kennt, hast Du einen (zu) schlechten Drucker. Trozdem nicht verzweifeln, weil KiCAD beim Drucken oder Plotten in der X- und Y-Achse getrennt skalieren kann. Aber Vorsicht bei Weitergabe der so erzeugten Dateien: Sie sind individuell auf einen Drucker angepasst, und produzieren auf einem anderen Drucker nur falsch skalierte Ausdrucke. Weil der Wert von Drucker zu Drucker unterschiedlich ist, ist es auch sinnvoll, diese Skalierung direkt am speziellen Drucker/Druckertreiber zu machen. Tipp: Wenn Du den Wert erfolgreich ermittelt hast, so kleb Dir einen Zettel auf den Drucker mit dem Wert. Die Werte sind zwar individuell für jeden Drucker, aber meistens für den speziellen Drucker durchaus fix. Und Du hast ihn sofort wieder parat, wenn der Drucker resettet wurde. Dies ist übrigens ein allgemeiner Tipp für das Ausdrucken, der auch für Eagle, Target, Altium usw. gilt.&lt;br /&gt;
** Thema Skalieren - Die aktuelle Situation (August 2013): http://www.mikrocontroller.net/topic/304619#new &lt;br /&gt;
* Kann man Gerber-Dateien exportieren?&lt;br /&gt;
** Ja. Es wird Gerber 247X exportiert. Einheit ist inch (doppelt sowohl im 247d als auch im 247x Stil definiert). Die Y-Koordinaten sind im allgemeinen negativ. KiCAD verwendet für Flächen das in Gerber spezifizierte Polygon Makro und kein &amp;quot;stroke fill&amp;quot;.&lt;br /&gt;
** Bei Bestellungen bei PCB-Pool ist deren GC-Prevue NICHT mehr erforderlich, weil PCB-Pool mittlerweile KiCAD *,brd Dateien direkt aktzeptiert. Siehe http://www.pcb-pool.com/ppde/info_dataformat.html &lt;br /&gt;
* Wie kann man den Gerber-Plot so ausdrucken, dass in der Mitte von Pads und Vias ein Zentrierloch frei bleibt?&lt;br /&gt;
** http://article.gmane.org/gmane.comp.cad.kicad.user/3457&lt;br /&gt;
* Wie kann man das Layout invers ausdrucken, d.h. alle Leiterbahnen und Pads müssen weiß bleiben, der Rest wird schwarz ausgedruckt?&lt;br /&gt;
** Beim Plotten den Haken bei Negativ-Plot setzen [http://www.mikrocontroller.net/topic/156202#1474507]&lt;br /&gt;
* Ich habe irgendwie Probleme mit dem Ausdrucken.&lt;br /&gt;
** Verzerrt: http://www.mikrocontroller.net/topic/207764#new&lt;br /&gt;
** Sonderzeichen: http://www.mikrocontroller.net/topic/207310#new&lt;br /&gt;
** In der aktuellen Version 2012-01-19 BZR 3256)-stable besteht ein generelles Druckproblem. Aber Plotten geht wunderbar!&lt;br /&gt;
** Aktualisierter Stand 23. Dezember 2012: http://www.mikrocontroller.net/topic/280958#new&lt;br /&gt;
** Aktualisierter Stand vom 21. Juli 2013: http://www.mikrocontroller.net/topic/303043#3249166&lt;br /&gt;
* Meine erzeugten SVG Plots sind kaputt. Ich erhalte nur Fehlermeldungen, wenn ich sie in Inkscape oder Gimp einlesen will.&lt;br /&gt;
** Es besteht ein Problem mit dem SVG Export, wenn man Schaltpläne oder Boards in SVG exportiert, die ein Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Dateinamen haben. Dieser Dateiname tauch dann innerhalb der SVG Datei in einem Titelblock auf, wo das &amp;quot;&amp;amp;&amp;quot; dann ein Problem bedeutet. Sowohl Kicad als auch Inkscape/Gimp aktzeptieren &amp;quot;&amp;amp;&amp;quot; im Dateinamen, und sowol unter Windows als auch Linux ist das &amp;quot;&amp;amp;&amp;quot; im Dateinamen legal....darum bringt auch eine Veränderung des Namens der SVG-Datei keine Lösung. Eine Lösung ist, Grundsätzlich in Kicad keine &amp;quot;&amp;amp;&amp;quot; in Dateinamen zu verwenden, wenn man einen SVG-Export macht. Alternativ kann man mit einem Editor das &amp;quot;&amp;amp;&amp;quot; aus dem Titelblock (Das ist NICHT der Dateiname, sondern in der Datei selber alles zwischen &amp;lt;titel&amp;gt; und &amp;lt;/titel&amp;gt;) der SVG-Datei löschen. Angeblich kommt der Bug aus den verwendeten wx-Bibliotheken. Siehe den Bugreport: https://bugs.launchpad.net/kicad/+bug/1171160&lt;br /&gt;
* Ich würde gerne PDF Dateien aus meinem Layout erstellen, aber irgendwie ist der Ausdruck defekt.&lt;br /&gt;
** Drucken ist aus Kicad manchmal ein Problem, auch in eine Datei hinein. Aber Plotten und Exportieren in SVG funktioniert gut. Von SVG zu PDF kommt man über Inkscape. Siehe hier: http://www.mikrocontroller.net/topic/303043#3249166&lt;br /&gt;
* Wie kann ich mir einen Bohrplan ausdrucken, um mit der Hand zu bohren?&lt;br /&gt;
**http://www.mikrocontroller.net/topic/266037#new&lt;br /&gt;
* Wie erstelle ich mit KiCad Excellon Drillfiles?&lt;br /&gt;
**siehe hier: http://www.mikrocontroller.net/topic/310333#new&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Kann man EAGLE Dateien importieren? (=&amp;gt; Obacht bei Weitergabe der Daten!)&lt;br /&gt;
** http://www.mikrocontroller.net/topic/70905#797416&lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1089933&lt;br /&gt;
* Wie bindet man fremde KiCAD Bibliotheken ein?&lt;br /&gt;
** EESchema (Schaltplaneditor) starten, unter Einstellungen &amp;quot;Bibliothek&amp;quot;  auswählen, auf &amp;quot;Hinzufügen&amp;quot; klicken, neue Bibliothek auswählen dann &amp;quot;öffnen&amp;quot; und in der Projektdatei &amp;quot;Speichern&amp;quot;. Gültig für Version 20090216Final, 2011-04-29-BZR2986-WinXP und Version: (2011-11-27 BZR 3249)-stable unter Platform: Linux 2.6.32-5-686 i686, 32 bit, Little endian, wxGTK.&lt;br /&gt;
Das Verfahren zur Einbindung eigener oder fremder Bibliotheken ist under PCBnew genauso.&lt;br /&gt;
Es empfielt sich dringenst, eigene Bibliotheken NICHT zu den KiCAD Bibliotheken im Ordner kicad/share/library bzw. kicad/share/modules für Footprints zu speichern, weil diese dort bei einem Upgrade gelöscht würden. Stattdessen sollte man sich einen kicad Ordner im eigenen home bzw. Benutzerverzeichnis (oder sonstwo, wo es opportun ist, und man Schreibrechte hat) anlegen, mit einem Ort, um eigene Bibliotheken abzulegen.&lt;br /&gt;
&lt;br /&gt;
=== Neues Projekt ===&lt;br /&gt;
Ein neues Projekt legt kicad automatisch nach der in kicad/share/template hinterlegten Projektdatei an. Möchte man, das kicad ein neues Projekt von vorneherein nur mit ausgewählten eigenen Bibliotheken anlegt, so ist eine entsprechende Projektdatei unter kicad/share/template/kicad.pro abzulegen.&lt;br /&gt;
Dies erfordert dort Schreibrechte. Linux roots müssen diese Datei anschliessend mit chmod 755 Dateiname für user lesbar machen.&lt;br /&gt;
Bei einem upgrade würde kicad.pro gelöscht. Daher sollte man sich davon eine Sicherheitskopie in seinem benutzerverzeichnis hinterlegen.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen sichern / wiederherstellen===&lt;br /&gt;
* Wo speichert KiCAD die Einstellungen ab und wie lassen sich die originalen Einstellungen wiederherstellen?&lt;br /&gt;
** [[http://kicad.sourceforge.net/wiki/index.php/DE:KiCadHB#Einstellungen_sichern_.2F_wiederherstellen]]&lt;br /&gt;
**Man erstelle ein neues Projekt beliebigen Namens, nehme alle Einstellungen (Bibliotheken, Pfade usw.) vor und speichere diese in der aktuellen Projektdatei &amp;quot;name.pro&amp;quot;. Im Ordner KiCAD Verzeichnis ....../kicad/share/template befindet sich eine Datei &amp;quot;kicad.pro&amp;quot;. Diese Datei &amp;quot;kicad.pro&amp;quot; ist die &amp;quot;Musterprojektdatei&amp;quot;, die für alle neuen Projekte verwendet wird. Man benenne sie um in &amp;quot;kicad-orig.pro, und kopiere die aktuelle Projektdatei &amp;quot;name.pro&amp;quot; nun als &amp;quot;kicad.pro&amp;quot; in diesen Template-Ordner. Leider Funktioniert dieses Verfahren nicht in allen KiCAD Versionen. Den originalen Zustand stellt man wieder her, indem man &amp;quot;kicad.pro&amp;quot; umbenennt, und &amp;quot;kicad-org.pro&amp;quot; wieder in &amp;quot;kicad.pro&amp;quot; zurückumbenennt.&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps als Symbol oder Footprint importieren ===&lt;br /&gt;
Der Programmteil Bitmap2component wandelt Bitmaps wahlweise in Symbole oder in Footprints um. Auf diese Weise können also auch Logos oder spezielle Muster für HF-anwendungen in KiCAD importiert werden, sobald sie als Bitmap vorliegen. Diese Funktion ist allerdings sehr neu (im Frühjahr 2011 eingefügt) und eher als experimentell zu bezeichnen. So funktioniert z.B. der Export in ein Symbol in der Version BZR-2986 NICHT.&lt;br /&gt;
&lt;br /&gt;
== Tipps&amp;amp;Tricks / Eigenheiten / Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nachbearbeitung mit Skript oder Texteditor (Pin Swapping, Versionskontrolle via SVN, Generierung von Packages aus UCF-Listen) &lt;br /&gt;
** http://www.mikrocontroller.net/topic/120373#1100467&lt;br /&gt;
** http://www.mikrocontroller.net/topic/96860#836967&lt;br /&gt;
** http://stawoo.com/dokuwiki/doku.php?id=ecld:kicad:board&lt;br /&gt;
&lt;br /&gt;
* Schaltplan: Durchnummerieren von GND und PWR erforderlich http://www.mikrocontroller.net/topic/39243#290309&lt;br /&gt;
&lt;br /&gt;
* Zum Verbinden von Schaltplan und Layout müssen an den Bauteilen die Pinnummern mit den Padnummern der Footprints korrespondieren. Das ist &amp;quot;defaultmäßig&amp;quot; nicht immer zu erreichen, weil es unterschiedliche Nummerierungssysteme gibt. Ausser dem Anlegen eines speziellen Footprints kann diese Anpassung für einzelne Bauteile wärend des Layoutens im Moduleditor vorgenommen werden. http://www.mikrocontroller.net/topic/186121#1805890&lt;br /&gt;
&lt;br /&gt;
* In PCBnew lassen sich mit &amp;quot;Datei&amp;gt;Platine hinzufügen&amp;quot; auch schon geroutete Gruppen von Bauteilen quasi als Modul einfügen, wenn sie zuvor als Board abgelegt wurden. Ebenso kann eine Bauteilgruppe, die in der Form mehrmals vorkommt, und die die schon einmal geroutet worden ist, gruppiert, kopiert und wiederverwended werden. Die dazu nötige Annotation und das Löschen der überzähligen Bauteile muss aber sorgfältig von Hand gemacht werden. &lt;br /&gt;
&lt;br /&gt;
* Bibliotheken verwalten, umsortieren bzw. neu strukturieren: http://www.mikrocontroller.net/topic/187107#1817559 &lt;br /&gt;
&lt;br /&gt;
* Layout: Rest-Gummiband an Pins http://www.mikrocontroller.net/topic/120373#1092375&lt;br /&gt;
&lt;br /&gt;
* Produktion: http://www.mikrocontroller.net/topic/98034#848965&lt;br /&gt;
&lt;br /&gt;
* Bug in Version 2010-03-14: Unter Einstellungen lässt sich keine einseitige Platine wählen (wichtig für Autorouter). Lösung: Modifikation des .brd Files mit einem Editor [http://www.mikrocontroller.net/topic/172015#1651239]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;&lt;br /&gt;
:In der *.brd Datei gleich ganz oben...&lt;br /&gt;
:&lt;br /&gt;
:$GENERAL&lt;br /&gt;
:LayerCount 2                 -&amp;gt; auf 1 setzen&lt;br /&gt;
:&lt;br /&gt;
:$SETUP&lt;br /&gt;
:InternalUnit 0.000100 INCH&lt;br /&gt;
:ZoneGridSize 250&lt;br /&gt;
:Layers 2                     -&amp;gt; auf 1 setzen&lt;br /&gt;
:Layer[0] Rückseite power&lt;br /&gt;
:Layer[15] Vorderseite power  -&amp;gt; hab&#039; ich mal beides so gelassen&lt;br /&gt;
:&amp;lt;/pre&amp;gt;                                                                aktueller: http://www.mikrocontroller.net/topic/172015#1794699&lt;br /&gt;
&lt;br /&gt;
* Das Anlegen von Symbolen/Bauteilen in aufgelöster Darstellung ist etwas stolperig. Siehe: http://www.mikrocontroller.net/topic/294095#3136180&lt;br /&gt;
&lt;br /&gt;
* Es empfielt sich, in Kicad vorläufig KEIN Ampersand (Kaufmansund, &amp;quot;&amp;amp;&amp;quot;) im Namen einer Schaltplan- oder Boarddatei zu Verwenden. Es besteht ein Bug beim Export/Plotten nach SVG. Siehe oben unter &amp;quot;Drucken / Export&amp;quot; und dann &amp;quot;Meine erzeugten SVG Plots sind kaputt.&amp;quot;. Siehe auch: http://tech.groups.yahoo.com/group/kicad-users/message/14952&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kühlkörper&#039;&#039;&#039; können als Symbol und Footprint (Modul) angelegt werden. Die Befestigungslöcher können im  Modul als Pad ausgeführt werden. Die Padnummer aller Pads sollte gleich sein (gleicher Anschluss / über Kühlkörper verbunden), z.B. &amp;quot;1&amp;quot;. Entsprechend ein Symbol mit Pin und korrespondierender Pinnummer anlegen. Wenn der Kühlkörper elektrisch nirgendwo verbunden sein soll, dann die Anschlusspinne im Schaltplan als &amp;quot;unused&amp;quot; markieren. Als Referenz in Symbol und Footprint habe ich &amp;quot;HS&amp;quot; (HeatSink) gewählt. Es ist zu überlegen, ob &amp;quot;HS&amp;quot; nicht auch als Padnummer besser wäre.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kartenumrisse/Outlines&#039;&#039;&#039;: Für immer wiederkehrende Platinengrössen, z.B. die beliebte Eurokarte, kann zur Vereinfachung des Zeichnens einmal ein Eurokartenumriss im Layer &amp;quot;outlines&amp;quot; gezeichnet werden, und als Modul abgelegt werden. Um die Zahl der Kollisionen beim Einlesen der Netzliste zu verringern, wird im Schaltplan ein Dummy-Symbol ohne Pinne angelegt. In CVpcb dann dieses Symbol mit dem passenden Kartenumriss Footprint/Modul verbinden, und es wird automatisch in PCBnew eingefügt. Als Referenz in Symbol und Footprint habe ich &amp;quot;Outl&amp;quot; (OUTLine) gewählt.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sprachanpassung&#039;&#039;&#039;: Ich will mein KiCAD auf Deutsch / Englisch / Französisch / Finnisch oder sonst eine Sprache umstellen. Wie geht das?&lt;br /&gt;
** Siehe : http://www.mikrocontroller.net/topic/262039#2719056&lt;br /&gt;
**Die deutsche Übersetzung der Texte und Hilfetexte/Tooltips ist manchmal etwas unelegant. Wem so etwas auffält, bitte Mitteilung am Ende dieses Threads: http://www.mikrocontroller.net/topic/255932#2641638 (deutschsprachig) oder an die KiCAD user group unter http://tech.groups.yahoo.com/group/kicad-users/ (englischsprachig, auch bei Fällen wo es um die deutsche Übersetzung geht). Diese Mitteilungen nach Möglichkeit nicht in Launchpad.&lt;br /&gt;
** Ich habe aber keine Möglichkeit, die Sprache umzustellen!&lt;br /&gt;
*** Wenn Debian eine Fehlermeldung &amp;quot;Cannot set locale to &#039;xy_XY&#039;. kommt, ist die entsprechende Umgebung nicht installiert. Unter Debian als root in der Konsole: &amp;quot;dpkg-reconfigure locales&amp;quot; aufrufen. Es öffnet sich eine ncurses-gui, wo die entsprechenden Einstellungen gemacht werden können. Für &amp;quot;Deutsch&amp;quot; wähle ich &amp;quot;de_DE.utf8&amp;quot;.&lt;br /&gt;
*** Wenn nichts passiert, fehlen möglicherweise die localisierungs Dateien. Sie sind NICHT Teil der Sourcen, und finden sich in http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/internat/. Auf Debian und verwandten Systemen müssen die einzelnen localisationsordner, z. B. &amp;quot;de&amp;quot; nach /usr/local/share/kicad/internat kopiert werden. Dann als root dort Leserechte erteilen mit &amp;quot;chmode -R 755 /usr/local/share/kicad/internat&amp;quot;.&lt;br /&gt;
*** Wenn ein Mischmasch aus Englisch und der gewählten Sprache existiert, sind entweder nicht alle Begriffe übersetzt (siehe oben) oder wegen Umbenennung von Variablen ist eine Inkonsistenz entstanden. Siehe: http://www.mikrocontroller.net/topic/326622#3565178&lt;br /&gt;
** Für die KiCad Localsisation wird &amp;quot;GNU gettext&amp;quot; verwendet. Eine kleine Hilfestellung zur Anpassung der Localisation findet sich hier: http://dev.kicad-pcb.org/docs/GUI_Translation_HOWTO.pdf. Info zu Gnu gettext findet sich hier: http://de.wikipedia.org/wiki/GNU_gettext&lt;br /&gt;
&lt;br /&gt;
=== Problem: Case Senitive Symbols ab BZR4646 (Jan./Feb. 2014) ===&lt;br /&gt;
Ab BZR4646 sind die Symbole in Eeschema &amp;quot;Case Sensitive&amp;quot;. Das bedeutet: In alten Schaltplandateien wurden für die Symbolnamen nur Großbuchstaben verwendet, auch wenn die Originalnamen in der Library Kleinbuchstaben enthielten. Ab BZR4646 werden die Symbolnamen in den Schaltplandateien genauso geschrieben wie die Originalnamen in der Library. Leider werden dadurch bei alten Schaltplandateien die großgeschriebenen Symbolnamen nicht mehr in den Bibliotheksdateien erkannt. Auch nicht in den &amp;quot;-cache.lib&amp;quot; Dateien. Um die Symbolnamen in alten Schaltplandateien anzupassen, existiert das Python3 Skript &amp;quot;PyKiCad-CaseSensitiveLibCure_RevA_25Feb2014.py&amp;quot;. Es ist ein &amp;quot;Stand allone&amp;quot; Python3 skript, das nicht in das KiCad interne Python skripting eingebunden ist. Die Datei kann hier bezogen werden:[[Media:PyKiCad-CaseSensitiveLibCure_RevA_25Feb2014.zip]].&lt;br /&gt;
Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Building Blocks ===&lt;br /&gt;
* Eine unfertige Dokumentation, wie man das hierarchische Schaltplansystem von KiCAD verwendet, um daraus schnell und rationell Schaltpläne mit vorgefertigten Schaltplänen (Building Blocks) nach dem Baukastensystem aufzubauen. Enthält auch ein Beispielprojekt. Beachte die Liesmich.txt Datei. [[Media:BuildingBlocksKiCAD-EXPERIMENTELL.zip]] Das File  KiCAD-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf, enthält eine vorläufige Beschreibung dazu. KiCAD-HierarchischeSchaltplaene+buildingBlocksRevA-EN.pdf is an English description how to use hirarchical schematics as building blocks for a fast and rationel schematic design. Es fehlt noch die Übersetzung und die Bebilderung und ein paar Berichtigungen und Ergänzungen. ;-) . Das echte Hauptbeispielprojekt ist UnderVoltageDetector24V-2Group_Experimental.pro bzw. UnderVoltageDetector24V-2Group_Experimental.sch. Im Ordner Experimentalprojekt23052010 findet sich ein weiterer Ordner BuildingBlocksExperimental. Dieser enthält die Ausgangsbausteine VoltageRegulatorBuildingBlock.sch mit VoltageRegulatorBuildingBlock-cache.lib und  VoltageDetectorBuildingBlock.sch mit VoltageDetectorBuildingBlock-cache.lib. Die Projektdateien der Buildingblocks .pro sind nur der Vollständigkeit und zur leichteren Bearbeitung zugefügt. Aus VoltageDetectorBuildingBlock.sch und VoltageRegulatorBuildingBlock.sch wurde (nach umkopieren, umbenenen und kleiner Änderung) im übergeordneten Ordner das Projekt VoltageRegulatorBuildingBlock.pro unter verwendung des &amp;quot;Zwischenbuildingblocks&amp;quot; UnderVoltageDetectorBuildingBlock.sch zusammengesetzt. NICHT VERGESSEN DIE CACHE.LIB EINZUBINDEN! Sonst gibt es nur Fragezeichen statt Bauteile. Das Beispielprojekt enthält eine 24V Unterspannungsüberwachung für einen Bleiakku, die zwei 12V Gruppen überwacht. Nicht elegant, aber hoffentlich robust. Autor: Bernd Wiebus , GNU-GPL. Der dazubezügliche Beitrag im Forum ist: http://www.mikrocontroller.net/topic/178683#1724114&lt;br /&gt;
*[[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] VERBESSERTE und AKTUALISIERTE Version von KiCAD-HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf aus obiger Zip-Datei. Beschreibt, wie mit Hilfe der hierarchischen Schaltplanstruktur aus einzelnen, vorgefertigten Schaltplänen schnell und rationell neue Schaltpläne modular zusammengesetzt werden können.&lt;br /&gt;
* Eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in obig erwänten Dokument KiCAD_HierarchischeSchaltplaene+buildingBlocksRevA_Vorlaeufig.pdf beschriebenen Vorgehen als Building Blocks in KiCAD verwendet werden können, findet sich unter: http://www.mikrocontroller.net/articles/KiCAD#Building-Blocks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tipps&amp;amp;Tricks: Lochraster Platinen Entwurf mit KiCad ===&lt;br /&gt;
&lt;br /&gt;
Wer viel mit Lochraster Platinen arbeitet, hat gelegentlich auch ein Bedürfnis, diese Tätigkeit mit einem Layoutprogramm zu begleiten. Zum einen um den Platzbedarf besser abschätzen zu können, zum anderen, um dadurch auch eine schnelle und einfache Dokumentation auch für Lochrasterprojekte zu schaffen. Auch dazu kann KiCad verwendet werden.&lt;br /&gt;
* Vorgehensweise: Schaltplan in Eeschema erstellen wie üblich, Netzliste erzeugen, und in CVpcp die Bauteile zuordnen. In PCBnew dann das Raster einblenden und auf 2,54mm (100mil) stellen. Nun geben die Rasterpunkte die Position der Löcher der Lochrasterplatine vor. Nach dem Einlesen der Netzliste bei Lochraster mit Streifenleitungen am besten zweiseitig manuell routen. Auf der Unterseite der Richtung der Streifenleitung in Längstrichtung folgen (z.b. wagerecht). Auf der Oberseite die Brücken dazu quer legen (z.B. senkrecht). Zweipolige Bauteile immer senkrecht oder wagerecht positionieren. Dieses Verfahren geht grundsätzlich mit jedem Layoutprogramm, das ein Raster anzeigen kann.&lt;br /&gt;
&lt;br /&gt;
== Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
In diesem Abschnitt sollen unsere Arbeiten an Bibliotheken koordiniert werden. Dabei sollen alle Arbeiten unter der Creative Commons Lizenz stattfinden. Das heisst insbesondere, dass keine Arbeiten mit anderem Copyright unseren Bibliothekspool vergiften sollen z.&amp;amp;nbsp;B. durch unerwünschte Konvertierung von EAGLE-Bibliotheken.  &lt;br /&gt;
&lt;br /&gt;
Unsere Designziele sind:&lt;br /&gt;
* Frei benutzbar (Creative Commons Lizenz) &lt;br /&gt;
* Einheitlich (Richtlinien?)&lt;br /&gt;
** Vorschlag von Marko für Bohrungen und Pads siehe [http://www.mikrocontroller.net/topic/124070#1176177]&lt;br /&gt;
* Fehlerfrei (Nachkontrolle durch andere User)&lt;br /&gt;
&lt;br /&gt;
=== Wünsche ===&lt;br /&gt;
&lt;br /&gt;
Hier soll eine Strichliste geführt werden, welche neuen Bauteile gesucht sind bzw. welche oder besseren, genaueren Versionen benötigt werden. Bitte gebt an, was bei bestehenden Bauteilen problematisch ist.&lt;br /&gt;
&lt;br /&gt;
Bevor wir Bibliotheken erstellen, sollten auf jeden Fall einige Parameter - insbesondere für die Schaltplansymbole - festgelegt werden: Pinlänge, Pinabstand, Größe der Schriften, Konventionen bzw. Nummerierung (z.B. bei gepolten Bauteilen wie Dioden, Elkos usw.). Sonst entsteht Wildwuchs, weil jeder für sich anderes festlegt.&lt;br /&gt;
&lt;br /&gt;
* Stehende Layouts für 7805 und N-FETs: ||||&lt;br /&gt;
** Passt TO220_VERT ? Natürlich! Nur die Anschlussnumerierung muss ev. passend adaptiert werden. Ist unter &amp;quot;TO-220&amp;quot; in http://www.mikrocontroller.net/wikifiles/7/70/Transistor_TO-220_RevB_03Sep2012.zip enthalten. In allen Perversionen. Stehend, liegend, rumgedreht von der Rückseite usw....&lt;br /&gt;
* LPC21xx / LPC22xx / LPC23xx |&lt;br /&gt;
* EINE AVR ATmega-Bibliothek, wo ALLE Controller drin sind. |||||||&lt;br /&gt;
* AVR XMegas |&lt;br /&gt;
* AT90CAN128 / allgemein mehr AVRs (MEGA &amp;amp; TINY) ||||||&lt;br /&gt;
*Wegen der AVRs und ATMEGAs: Bitte hier http://www.kicadlib.org/Fichiers/Kerusey_Karyu_Atmel_Library.html mal schauen, und den Wunsch auf den Typ konkretisieren! Der Atmelzoo ist so verwirrend vielfältig.....&lt;br /&gt;
** Leider ist die dazugehörige Bibliothek defekt.&lt;br /&gt;
* Schaltregler (u.A. LM257x, LM267x, MC33063, L5973D) |||| Der MC33063 hat gleiches Pinning und Gehäuse wie MC34063! Darum kann der in http://www.mikrocontroller.net/wikifiles/8/84/Symbols_ICs-Diskrete_RevD9.lib verwendet werden.&lt;br /&gt;
* Spulen (z.&amp;amp;nbsp;B. diverse Wuerth) |&lt;br /&gt;
* Drosseln (B82790 für CAN, Würth 744207) |&lt;br /&gt;
* Ferrite (7427930 - 32, 742792651, 74279263) |&lt;br /&gt;
** ??? Was genau ist nun Footprint und Referenzmaeßig der Unterschied zwischen Drosseln, Spulen und Ferriten, wenn ich jetzt mal davon ausgehe, das die Teile weder Anzapfung noch mehr als eine Wicklung haben (dann wären es Trafos oder Uebertrager), und die elektrischen Werte in ein Feld eingetragen werden?? Schau mal unten in http://www.mikrocontroller.net/wikifiles/d/da/KiCAD_Module_Footprints_3D_16Sep2013.zip. Kleinere SMD-Entstörferrit Module lassen sich uebrigens aus Footprints für SMD-Widerstaenden zaubern, in dem man sie umbenahmt und mit der Referenz &amp;quot;L&amp;quot; versieht. ;-)&lt;br /&gt;
* STM32 Mikrocontroller Bibliothek (sofern möglich alle) |||&lt;br /&gt;
* Arduinos |&lt;br /&gt;
** Arduino Due ||&lt;br /&gt;
&lt;br /&gt;
=== Entwürfe ===&lt;br /&gt;
&lt;br /&gt;
Neue Bibliotheken oder Änderungen sollen zunächst in diesem Abschnitt &lt;br /&gt;
vorgestellt werden. &lt;br /&gt;
&lt;br /&gt;
==== Symbolbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#832961 ATmega3250/TQFP100] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/96460#844741 ATMega3290 im 100Pin-Gehäuse] von Fred S. (Gast)&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132811#1205130 RFM12-Funkmodul] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/133310#1210137 CAN Controller MCP2515 und Transceiver MCP2551] von Dominik C.&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevB-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1. Schaltplan Symbolbibliothek fuer KiCAD mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Von Bernd Wiebus&lt;br /&gt;
&lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevC-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCAD mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind. Aenderung gegenueber Rev.B: Kleinere Symbole hinzugefügt. Mit Vorsicht geniessen! Von Bernd Wiebus.&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevD3-en.lib]] VERALTET! Nur aus Kompatibilitätsgründen behalten. Ersetzt für Neuentwicklungen durch Revision E1! Schaltplan Symbolbibliothek für KiCAD mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.C: Kleinere Fehler beseitigt. CLD Symbol hinzugefuegt. Kuehlkoerper Symbol und Dummy-Symbol fuer Boardoutlines hinzugefuegt. Thyristor und Triac Symbol zugefuegt. Copyright Symbole GNU-GPL und CC zugefuegt. Mit Vorsicht geniessen! Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
 &lt;br /&gt;
* [[Media:SymbolsSimilarEN60617+oldDIN617-RevE8.lib]] AKTUELLE Version! Ersetzt die Rev. B, C und die Rev. D sowie Vorgängerversionen E1-E7! Schaltplan Symbolbibliothek für KiCAD mit Symbolen, die denen aus der EN60617 oder der ALTEN DIN 617 ÄHNLICH sind.  Aenderung gegenueber Rev.D: Kleinere Fehler beseitigt. Ankerpunkte in die Nähe der Symetrieachsen verlegt. Verbinder DIN41612 / EN60603-2 &amp;quot;Eurokartenstecker&amp;quot; hinzugefügt. Große &amp;quot;BIG&amp;quot; Symbole entfernt und in der Datei BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib ausgelagert. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus.  CC-Zero/Public Domain!  Defektes Symbol &amp;quot;RESISTOR_RevE_Date15jun2010&amp;quot; repariert am 02. Maerz 2011. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
   &lt;br /&gt;
* [[Media:BIG-SymbolsSimilarEN60617+oldDIN617-RevE.lib]] Einige EN60617 oder der DIN 617 ÄHNLICHE Symbole in besonders GROSSER Ausführung. Vermutlich werden Sie diese GROSSEN Symbole eher NICHT benutzen wollen. Mit Vorsicht geniessen! Von Rene Belau und Bernd Wiebus. Unter GNU GPL. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/attachment/74203/obi.lib]] KiCAD Symbol für einen ATMEGA644. Von obi&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Diskrete_RevD10.lib]] KiCAD Symbole für einige diskrete ICs. Enthält L200 (Pentawatt Gehäuse), LM2587 (Pentawatt Gehäuse), Längstregler LM317, LM78xx, LM79xx, Timer NE555, NF-Verstärker LM1875 und TDA2003 (Pentawatt Gehäuse), Schaltregler UC38xx (DIP8/SO8 und DIP14/SO14), LM2587, MC34036, LM78S40 und MCP1640, Treiber MIC4422 (DIP8/SO8 und Pentawatt Gehäuse). Allegro Halleffekt Stromwandler Typ ACS754/ACS755/ACS756 und LEM Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot;. Programierbarer Oszillator Si570/Si571 sowie Quarzoszillator Typ KXO-200. Dazu Transistor Arrays BC847S und BC857S (in einfacher und in aufgelöster Darstellung) und Supressordioden Array SR05. Schieberegister 74HC4094 . Spannungs-/Laderegler uA723/LM723 in 14 und 20 poligem Gehäuse. HF/ZF Verstärker/Mischer/Demodulator TCA440 alias exDDR A244D, FM Frontend TA7358. Spannungsmonitor ICL7665. Autor Bernd Wiebus.  CC-Zero/Public Domain!  Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_ICs-Opto_RevB_16Sep2013.lib]] KiCAD Symbole für Optokoppler CNY17, IL300. IL388, TLP250, SFH617A-1, SFH617A-2, SFH617A-3, SFH617A-4, KPC357, LTV35x, und PC357. LWL Empfänger Toshiba TORX170 TORX173 TORX193  und TORX194 (Toslink). LWL Sender Toshiba TOTX170 TOTX173 TOTX193  und TOTX194 (Toslink). LWL Empfänger Agilent HFBR-252x und Sender Agilent HFBR-152x Serie (Versatile Link). 7 Segment Anzeigen HDSM531, HDSM533, LTS6760, LTS6780, SBC18-11EGWA. Autor Rene Belau und Bernd Wiebus. CC-Zero / Public domain. Mit VORSICHT geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Transformer-Diskrete_RevA.lib]] KiCAD Symbole für einige diskrete Transformatoren. Coilcraft Q4434-B = Rhombus T1311 und Myrra-74040 ETD29. Autor: Bernd Wiebus. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_DCDC-ACDC-Converter_RevC_20Jul2012.lib]] KiCAD Symbole für einige DCDC/ACDC-Converter. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli 2012: TRACO ACDC-Converter der TMLM Serie. Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Socket-DIN41612_RevA.lib]] KiCAD Symbole für DIN41612 Stecker und Buchsen (Die bekannten Eurokartenstecker). Autor: Bernd Wiebus. GNU-GPL. Mit Vorsicht geniessen! Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617_13Mar2013.lib]] KiCAD Symbole für die EN60617. Strikter als die Symbole aus SymbolsSimilarEN60617+oldDIN617-Rev~~.lib. Autor: Bernd Wiebus. CC-Zero/Public Domain! Mit Vorsicht geniessen! Hierzu gehört der Katalog: [[Media:Symbols_EN60617_13Mar2013.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_EN60617-10_HF-Radio_DRAFT_12Sep2013.lib]] HF-Blockschaltbild Symbole für KiCad. EXPERIMENTELL! Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain.  Hierzu gehört der Katalog: [[Media:EN60617-10_HF-Radio_SymbolCatalog_DRAFT.pdf]] Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Symbols_Microcontroller_Philips-NXP_RevA_06Oct2013.lib]] Symbole der NXP Microcontroller LPC2104, LPC2105 und LPC2106 fuer KiCad.  Autor: Bernd Wiebus. Mit Vorsicht geniessen! Lizenz: CC-Zero / Public domain. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Modulbibliotheken ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD_Module_Footprints_3D_13Oct2013.zip]] Eine Sammlung von KiCAD Modulen bzw. Footprints diskreter Bauteile. Neben den obligatorischen Rs, Cs und Ls sind Schrack und Omron Kartenrelais (die Footprints passen auch fuer andere Hersteller), diverse Dioden, Klemmen WAGO 236 (RM 5mm) Serie und WAGO 734 Serie, Sicherungshalter (Schurter und Bulgin) für 5x20 und 6x30, SMD Sicherungen 1206 und Sicherungen/Sicherungshalter TE5/TR5,Flachsicherungen Standard und Mini, Kuehlkoerper und Eurokartenoutlines enthalten. Zusaetzlich TO92, TO220, TO220-5 (Pentawatt) und TO247 Gehaeuse. Ebenso die vermissten PISN und PISR SMD Drosseln. Einige Throughhole C&amp;amp;D Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons  Symbole. Dazu Messpunkte. BNC-Buchse, Quarzoszillator, SMD Widerstände und Kondensatoren.  (0805, 1206, 2512) sowie experimentelle Universalfootprints SMD/Throughole. SMD-Dioden: MELF, Mini-MELF, SMA, SMB und SMC. Halleffekt Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen.Dazu Stecker Molex Serie KK, Würth SMD Drosseln und Doppeldrosseln. Neosid Filter und Drosseln. TRACO ACDC-Converter der TMLM Seie und SOT23, SOT143, SOT143R, TSOT-6 / MK06A sowie SC70-6 SMD Footprints für Dioden, Transistoren bzw. Dioden und Transistor Arrays und kleinere ICs. Mini Universal Mate-N-Lock Steckersockel (Tyco/AMP). 2-6 Pin, vertikale und horizontale Typen. Verbesserte Fiducials und Logos. Dazu SMD-Tantalkondensatoren und ETAL NF-Transformatoren. TO50-3 und TO50-4 Gehäuse. 7 Segment Anzeigen. Neu in der Version vom 13. Oktober 2013: LQFP48/TQFP48 Gehäuse. Hallsonden Stromwandler mit Allegro CB-PFF, CB-PSF und CB-FSS Gehäusen. Halleffekt Stromwandler der Serie &amp;quot;HX&amp;quot; von LEM. Fast alles ohne 3D Modelle, aber manchmal mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_Buzzer_Beeper_RevA_25Oct2010.zip]] Einige Footprints von Summern /Buzzern / Beepern für KiCAD. Enthaelt Kingstate KCG0601, Pro Signal ABI-009-RC, Pro Signal ABI-010-RC, Pro Signal ABT-410-RC, Star Micronics HMB-06/HMB-12 und Projects Unlimited AI-4228-TWT-R. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:KiCAD-Module_CommonModeChoke_Wuerth_Type-WE-CMB_RevA_25Oct2010.zip]] Footprints der Gleichtaktdrosseln der Serie Würth WE CMB (through hole) für KiCAD. Enthält die Verschieden Bauformen XS, S, M, L, XL und XXL. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:DCDC-ACDC-Converter_RevC_20Jul2012.zip]] Footprints von DCDC/ACDC-Convertern für KiCAD. Enthält CINCON EC5BC12, CINCON EC6C11, TRACO TED-1212, TRACO TED-XXXX Dual Output, TRACO TED-XXXX Single Output, TRACO TEN10-1212, TRACO TEN10-XXXX, TRACO TME-XXXX, TRACO TMH-XXXX Single Output, TRACO TMH-XXXX Dual Output, BOTHHAND CF-Serie und DELTA DPS05U09D. Neu seit 20 Juli: TRACO ACDC-Converter der TMLM Serie. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und  CC-Zero/Public Domain!  Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Opto-Devices_RevC_03Oct2012.zip]] Footprints von Optoelectronischen Bauteilen für KiCAD. Enthält 6 Polige DIL Footprints für CNY17, auch in &amp;quot;wide&amp;quot;, SMD Optokoppler Footprints (1 Kanalig) und Footprints für Toshiba (Toslink) und Agilent (Versatile Link) LWL Ssender und Empfänger. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Pentawatt_RevB_24Oct2012.zip]] Footprints von Pentawatt Gehäusen für KiCAD. Enthält verschiedene Ausführungen der TO220-5 Gehäuse in gerade und verkröpft, sowie stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-220_RevB_03Sep2012.zip]] Footprints von TO220-3 Gehäusen für KiCAD. Enthält verschiedene Ausführungen der TO220 Transistor Gehäuse in  stehend und liegend. Mit 3D-Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:Transistor_TO-247_RevC.zip]] Footprints von TO247 Gehäusen für KiCAD. Enthält verschiedene Ausführungen der Transistor Gehäuse in  stehend und liegend. Mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! CC-Zero/Public domain! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/176405#new]] KiCAD Modul / Footprint für ein TSSOP38 Gehäuse. Autor Raphael Reu.&lt;br /&gt;
&lt;br /&gt;
* [[http://www.mikrocontroller.net/topic/190088#1856759]] Texas Instruments TPIC8101 Klopfsensor Interface (für Verbrennungsmotoren). Autor Peter Diener.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IR-directFET_Packages_RevB.zip]] Footprints von directFET SMD-Transistor Gehäusen von International Rectifier für KiCAD. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outline. Nähere Informationen in den Datenblättern betroffener Transistoren und in der International Rectifier Applikationsnotiz AN-1035. &amp;quot;directFET&amp;quot; ist übrigens eine Handelsmarke von International Rectifier und die Gehäuse sind proprietär. Also vorsichtig sein und an &amp;quot;second source&amp;quot; denken. Mit 3D Modellen und mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter CC-Zero / Public domain. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Neosid-Devices_Coils_Filters_25Apr2012.zip]] Footprints von NEOSID Bauteilen. Spulen, Luftspulen, Filter ec. für KiCAD. Through hole und SMD. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_26Jul2012.zip]] Footprints von SOT23, SOT143, SOT143R, TSOT-6 /MK06A und SC70-6 SMD Gehäusen, wie sie oft für Dioden und Transistoren, aber auch Dioden und Transistor Arrays verwendet werden. Auch ICs findet man in der Bauform. Es sind Standard Footprints und spezielle für Handlötung vorhanden. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:MiniUniversalMate-N-LokSockets_13Aug2012.zip]] Footprints von Mini Universal Mate-N-Lok Steckersockeln (Tyco/AMP). 2-6 Pin, verticale und horizontale Typen. Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Von Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:NF-Transformer_ETAL_RevA_28Aug2012.zip]] Footprints und 3D-Mesh Modelle von NF-Transformatoren der Firma ETAL (http://www.etalgroup.com). SMD und THT Typen. Mit PDF-Ausdruck zur leichteren Identifikation. In der Bibliothek ist auch der bekannte Übertrager ETAL P1200, der von Box73 (http://www.box73.de) vertrieben wird. Mit Vorsicht geniessen! Ohne Garantie und unter GNU-GPL. Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de &lt;br /&gt;
&lt;br /&gt;
* [[Media:TantalCapacitors_SMD_RevA_28Aug2012.zip]] Footprints von Tantal Kondensatoren SMD Größe A bis E (EIA-3216, EIA-3528, EIA-6032, EIA-7343 und EIA-7360). Alles ohne 3D Modelle, aber mit PDF-Ausdruck zur leichten Identifikation. Ohne Garantie und unter GNU-GPL. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT89-3_SOT89-5_Housing_RevA_02Sep2012.zip]] Footprints und 3D-Mesh Modelle von SOT89-3 und SOT89-5 SMD Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:SOT126_SOT32_Housings_RevA_22Oct2012.zip]] Footprints und 3D-Mesh Modelle von SOT126 / SOT32 Gehäusen. Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:Allegro_HallSensors_24Oct2012.zip]] Footprints und 3D Modelle von Allegro Hall-Effect Stromsensoren mit PFF, PSF oder PSS Gehäuse (ACS754, ACS755, ACS756).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
* [[Media:VML0806_Housing_Rohm_27Oct2012.zip]] Footprints und 3D Modell eines Transistors im 0806 Format (VML0806 / Rohm).  Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter GNU-GPL.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:TO-50_Housings_RevA_21Apr2013.zip]]  Footprints/Module von TO50-3 und TO50-4 Transistor Gehäusen.Mit PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:OldSowjetAera_Transistor_RevA.zip]] Footprints/Module von Kleinleistungstransistoren aus der Sowjetära.Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:SIP9_Housing_14Jun2013.zip]] Footprints/Module von SIP9 Gehäusen (z.B. TA7358).Mit 3D-Modell und PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:7Segment_16Sep2013.zip]] Footprints/Module von 7-Segment Anzeigen HDSM531 (SMD), HDSM533 (SMD), LTS6760, LTS6780 undSBC18-11EGWA. Dazu PDF-Ausdruck zur leichteren Identifikation. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:BNC-Sockets_RevA.zip]] Footprints/Module von TYCO BNC-Buchsen für KiCad. Mit 3D Modellen und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LQFP_TQFP_RevA_06Oct2013.zip]] Footprints/Module von LQDP48/TQFP48 Gehäuseb für KiCad. Ohne 3D Modelle, aber mit PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
*[[Media:LEM_HallEffectTransducers_RevA_13Oct2012.zip]] Module/Footprints von Halleffekt Stromwandlern der Serien &amp;quot;HX&amp;quot; und &amp;quot;HTFS&amp;quot; von LEM. Mit 3D-Modellen  und PDF Preview. Ohne Garantie und unter CC-Zero / Public Domain.  Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== 3D-Modelle ====&lt;br /&gt;
&lt;br /&gt;
* [[Media:MeshModells_VRML-Wings3D_13Oct2013.zip]]  3D-Modelle diverser elektronischer Bauteile im wrl 2.0 und wings Format. Enthalten: DD-PAK (TO263AB), D-PAK (TO252AA), SMD Dioden MELF, MiniMELF, SMA, SMB und SMC, Transformatoren ETAL P1165, P1200, P2781, P3000, P3181, PP3188 und P3191, SO126 / SOT32 in horizontal und vertikal, SOT223-3, TO263-3, SOT89-3, SOT89-5, TO220 horizontal und vertikal und reverse. TO220-5 horizontal, vertical, inline und verkröpft, VML0806. SIP9. 7 Segment SMD Anzeige HDSM531/HDSM533 in Grün, gelb, rot und orange. directFET SMD-Transistor Gehäusen von International Rectifier für KiCAD. Enthält die SH, SJ, SQ, ST, S1, MN, MP, MT, MX, MZ und die L8-Outlines. Flachsicherungen Standard und Mini. Halleffekt Stromwandler LEM &amp;quot;HX&amp;quot; Serie und Allegro ACS754/ACS755/ACS756 mit CB-PFF, CB-PSF und CB-FSS Gehäusen. Ohne Garantie und unter CC-Zero / Public Domain Lizenz. Mit Vorsicht geniessen! Autor: Bernd Wiebus. Verbesserungsvorschläge willkommen an bernd.wiebus@gmx.de&lt;br /&gt;
&lt;br /&gt;
==== Building-Blocks ====&lt;br /&gt;
*[[Media:BuildingBlocks_16Jun2013.zip]] enthält eine Sammlung von gängigen Schaltungen mit den Längstreglern LM317 /LM78xx /LM79xx und dem Timer 555, die nach dem in diesem [[Media:HierarchischeSchaltplaeneAlsBausteineInKicad_RevC_23Dec2013.pdf]] Dokument beschriebenen Vorgehen als Building Blocks in KiCAD verwendet werden können. Ein Katalog dazu befindet sich hier: [[Media:KatalogUeberKiCadBuildingBlocks_21Apr2013.pdf]]. Autor: Bernd Wiebus, Lizenz: Creative Commons. Experimentell! Ohne Garantie! Mit Vorsicht geniessen!&lt;br /&gt;
&lt;br /&gt;
Wenn mindestens ein weiterer KiCAD User die Bibliothek geprüft hat, kann sie in den folgenden Unterabschnitt verschoben werden.&lt;br /&gt;
&lt;br /&gt;
=== Geprüfte ===&lt;br /&gt;
&lt;br /&gt;
Hier sollen geprüfte Bibliotheken gesammelt werden. Bitte angeben, wer die Prüfung gemacht hat.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/132288#new STM32F103xx (LQFP64) Schaltplansymbol] erstellt/geprüft: Dominik C.; Marko S.&lt;br /&gt;
&lt;br /&gt;
*Bei der STMF103xx fehlt glaub ich der Portpin PD2 :) Grüße :)&lt;br /&gt;
&lt;br /&gt;
=== Sonstige Bibliotheken im Netz ===&lt;br /&gt;
* https://github.com/KiCad/kicad-library Neues offizielles Repository bei Github.&lt;br /&gt;
* https://github.com/KiCad Neues Repository bei Github.&lt;br /&gt;
* http://www.kicadlib.org/&lt;br /&gt;
* http://per.launay.free.fr/kicad/kicad_php/composant.php &lt;br /&gt;
* http://www.reniemarquet.cjb.net/kicad/libs/o_analog.zip (NE555 u.a.)&lt;br /&gt;
* http://github.com/Inte/kicadlib&lt;br /&gt;
* http://www.df0fkw.datenoase.de/index.php?option=com_content&amp;amp;view=article&amp;amp;id=107:kicad-libraries&amp;amp;catid=36:bastelprojekte&amp;amp;Itemid=67&lt;br /&gt;
* http://open-project.ch/kicadlib&lt;br /&gt;
* http://library.oshec.org/ Von EAGLE konvertiert, also Vorsicht bei der Verwendung! &lt;br /&gt;
* http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
Da die in KiCad verwendeten Dateien klarschriftlesbar sind, lassen sie sich sehr leicht mit externen Programmen und Skripten bearbeiten, um spezielle Funktionalitäten zu erzeugen. Eine kleine Auswahl an Programmen/Skripten ist hier zusammengestellt:&lt;br /&gt;
&lt;br /&gt;
* [http://kicad.rohrbacher.net/quicklib.php Quick KICAD Library Component Builder]&lt;br /&gt;
* Gerber-Tools sind für KiCAD weniger nötig, da KiCAD mit GerbView seinen eigenen Gerberviewer mitbringt. Dieser ist mächtig genug, die eingelesenen Gerberfiles als Platine in PCBnew zu exportieren, wo sie manipuliert werden können. Dieses geht aber nur mit Gerber-RS274X Daten. Ebensowenig können Gerberfiles zu Nutzen zusammengefügt werden. Hierzu bietet sich &amp;quot;Gerbmerge&amp;quot; http://claymore.engineer.gvsu.edu/~steriana/Python/gerbmerge/ an. Wer lediglich aus Sicherheitsgründen die von KiCAD erzeugten Gerberdaten mit einem fremden Gerber-Vierer inspizieren möchte, findet hier Hinweise:http://www.mikrocontroller.net/articles/Gerber-Tools&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/204063#2011138 KiCAD (Multi-)Symbol Tool] von Joghurt3000 zur Erstellung von Symbolen aus einer Textvorlage&lt;br /&gt;
* [http://cyclerecorder.org/footprintbuilder Footprintbuilder] Java-Programm zu Erstellung von Footprints.&lt;br /&gt;
*Wer seine Platine &amp;quot;panelisieren&amp;quot; (d.h. mehrmals nebeneinander anordnen um in einem &amp;quot;Nutzen&amp;quot; gleich mehrere Platinen fertigen zu können) möchte, kann das mit dem Python 2 Skript &amp;quot;panelize.py&amp;quot; tun. Das Programm arbeitet direkt auf den kicad .brd Files, so das das Mehrfachnutzen Board unter PCBnew nachbearbeitet werden kann, für z.B. einen  DRC. &amp;quot;panelize.py&amp;quot; kann hier bezogen werden: http://blog.borg.ch/?p=12&lt;br /&gt;
* &amp;quot;Raef&amp;quot; hat ein Python Script erstellt, das Bauteile automatisch ähnlich der Anordnung im Schaltplan plaziert. Siehe: http://www.mikrocontroller.net/topic/293903#3245990&lt;br /&gt;
*Wer die Reihenfolge der Subschaltpläne ändern will (Wegen Übersichtlichkeit/Bestimmt auch die Reihenfolge beim Ausdrucken), kann dieses Python 3 Skript verwenden (Liesmich/Readme beachten): http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
* Um ältere Schaltpläne vor BZR4646 mit &amp;quot;upper case&amp;quot; Symbolnamen zu konvertieren, kann dieses Python 3 Skript verwendet werden: [[Media:PyKiCad-CaseSensitiveLibCure_RevA_25Feb2014.zip]]. Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Skripte sind unabhängig von der PCBnew internen Python 2 Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
== Beispielprojekte ==&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/33653#963083 JTag-wiggler&lt;br /&gt;
* http://www.mikrocontroller.net/topic/190088#1856757 Klopfsensor von Peter Diener.&lt;br /&gt;
* http://www.mikrocontroller.net/topic/188897 Open-Hardware / Open-Source USB-basierter SPI BIOS-Chip Programmer von Uwe Hermann&lt;br /&gt;
* http://www.mikrocontroller.net/articles/Modellbahn_Servodecoder_f%C3%BCr_Weichen_mit_R%C3%BCckmeldung Modellbahn Servodecoder für Weichen mit Rückmeldung&lt;br /&gt;
* http://www.mikrocontroller.net/articles/RS485_IO_Board_-_ModellBahnLichtSteuerung RS485 IO Board - ModellBahnLichtSteuerung&lt;br /&gt;
* [[Media:UndervoltageProtection_RevD_14Aug2012.zip]] Beispielprojekt eines Tiefentladeschutzes für einen Blei-Gel Akku, der von den Platinenabmessungen her auf einen typischen 12V/7,2Ah Akku passt. Ausserdem bietet er abgesicherten Zugang zu den Akkuklemmen, was auch in vielen Fällen beachtenswert ist. Leider ist das Projekt noch etwas unaufgeräumt, es fehlen noch Bauteilwerte, und in der Form wurde noch keine fertige Platine daraus hergestellt, aufgebaut und getestet. Autor: Bernd Wiebus, GNU-GPL.&lt;br /&gt;
&lt;br /&gt;
== Diskussionen (teilweise seeeehr alt) ==&lt;br /&gt;
&lt;br /&gt;
* http://www.mikrocontroller.net/topic/120373#1089075 &lt;br /&gt;
* http://www.mikrocontroller.net/topic/98034#848559&lt;br /&gt;
* http://www.mikrocontroller.net/topic/95864#828660&lt;br /&gt;
* http://www.mikrocontroller.net/topic/77738#647041&lt;br /&gt;
* http://www.mikrocontroller.net/topic/103806#907523&lt;br /&gt;
* http://www.mikrocontroller.net/topic/41999#316195&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://iut-tice.ujf-grenoble.fr/kicad/index.html KiCAD] Homepage 1 und Download&lt;br /&gt;
* [http://www.lis.inpg.fr/realise_au_lis/kicad/ KiCAD] Homepage 2 und Download&lt;br /&gt;
* [http://www.kicad-pcb.org/display/KICAD/KiCad+EDA+Software+Suite KiCAD] Neue Homepage&lt;br /&gt;
* [http://www.kicad-pcb.org/display/KICAD/KiCad+Scripting+Reference+Manual] Speziell Informationen zum Python-Scripting.&lt;br /&gt;
* [http://kicad.sourceforge.net/wiki/index.php/DE:Main_Page KiCAD Wiki]&lt;br /&gt;
* Tutorials: &lt;br /&gt;
** [http://kicad.sourceforge.net/wiki/index.php/DE:Mini_tutorial Mini-Tutorial]&lt;br /&gt;
** [http://timogruss.de/kicad-loesung-fuer-die-leiterplatten-entwicklung/ KiCad Tutorial auf timogruss.de] (deutsch)&lt;br /&gt;
** http://www.curiousinventor.com/guides/kicad&lt;br /&gt;
** http://xtronics.com/reference/kicad.html&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-1/ (deutsch, Teil 1)&lt;br /&gt;
** http://bastler-archiv.de/elektronik/platinenherstellung-platinenlayout-mit-kicad-teil-2/ (deutsch, Teil 2)&lt;br /&gt;
* Usergroups:&lt;br /&gt;
** [http://tech.groups.yahoo.com/group/kicad-users/ Yahoo-KiCAD-Group]&lt;br /&gt;
* Tools&lt;br /&gt;
** [http://www.freerouting.net/ Freerouting] Autorouter&lt;br /&gt;
** Script, um in hierarchischen Schaltplänen die Reihenfolge zu verändern:http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip&lt;br /&gt;
* Plattformen&lt;br /&gt;
** Mac: http://brokentoaster.com/kicad/&lt;br /&gt;
**Ubuntu: [http://www.mikrocontroller.net/topic/257321#2658268 KiCAD selber compilieren]&lt;br /&gt;
** http://wiki.xtronics.com/index.php/Kicad Transtronics site (englisch)&lt;br /&gt;
* HowTo von Tom Boyd (englisch)&lt;br /&gt;
** http://kicadhowto.org/&lt;br /&gt;
* Bugreports! Wer einen Bug gefunden hat, bitte [https://bugs.launchpad.net/kicad hier] angeben! Kicad wird laufend verbessert.&lt;br /&gt;
&lt;br /&gt;
[[Category:Schaltplaneditoren]]&lt;/div&gt;</summary>
		<author><name>188.104.244.4</name></author>
	</entry>
</feed>