<?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=79.217.227.228</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=79.217.227.228"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/79.217.227.228"/>
	<updated>2026-04-11T03:16:49Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=StepperController&amp;diff=92528</id>
		<title>StepperController</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=StepperController&amp;diff=92528"/>
		<updated>2016-03-21T04:24:45Z</updated>

		<summary type="html">&lt;p&gt;79.217.227.228: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Open Source Schrittmotorsteuerung von Peter Diener, Florian Kaiser und Thibault Bitenc.&lt;br /&gt;
&lt;br /&gt;
Hier entsteht eine Seite zu einer DSP-basierten Schrittmotorsteuerung.&lt;br /&gt;
&lt;br /&gt;
== Eckdaten ==&lt;br /&gt;
&lt;br /&gt;
Versorgungsspannung bei Betrieb mit Energierückgewinnung &amp;quot;Treiben / Bemsen&amp;quot;: 50 V&lt;br /&gt;
&lt;br /&gt;
Versorgungsspannung bei Betrieb ohne Energierückgewinnung: 100 V&lt;br /&gt;
&lt;br /&gt;
Dauerausgangsstrom pro Halbbrücke: 10 A&lt;br /&gt;
&lt;br /&gt;
Pulsausgangsstrom pro Halbbrücke: 20 A&lt;br /&gt;
&lt;br /&gt;
Anzahl Switch-mode Brückenausgänge: 8&lt;br /&gt;
&lt;br /&gt;
Anzahl Brückenausgänge mit RMS-Strommessung (RMS per HF-Periode): 4&lt;br /&gt;
&lt;br /&gt;
Bemessungsstrom der Einspeisung (vom Netzteil): 10 A dauernd, 20 A kurzzeitig&lt;br /&gt;
&lt;br /&gt;
Ausgangsstrom für schaltbaren Bremschopper-Widerstand: 10 A&lt;br /&gt;
&lt;br /&gt;
Modulationsfrequenz: 20 kHz bis 100 kHz&lt;br /&gt;
&lt;br /&gt;
=== Mögliche Motorkonfigurationen (u.A.): ===&lt;br /&gt;
* 2 Stück 2-Phasen-Schrittmotoren&lt;br /&gt;
* 1 Stück 5-Phasen-Schrittmotor&lt;br /&gt;
* 2 Stück 3-Phasen-Synchronmotoren&lt;br /&gt;
* 2 Stück 3-Phasen-Asynchronmotoren&lt;br /&gt;
* evtl. Switched-Reluctance-Motoren&lt;br /&gt;
&lt;br /&gt;
== Vorüberlegungen ==&lt;br /&gt;
&lt;br /&gt;
Bauteile:&lt;br /&gt;
&lt;br /&gt;
DSP: TMS320F28062&lt;br /&gt;
&lt;br /&gt;
Shuntauswertung: Phase Current Sensor IC: IR22771S, Farnell# 1603655 2,73 € (10 St.)&lt;br /&gt;
&lt;br /&gt;
Gatetreiber: Half Bridge Driver IC: IRS2184SPBF Farnell# 1271819, 1,47 € (10 St.)&lt;br /&gt;
&lt;br /&gt;
Bootstrap-Dioden: STPS2150A Farnell# 1611385, 0,312 € (10 St.)&lt;br /&gt;
&lt;br /&gt;
FETs: &lt;br /&gt;
&lt;br /&gt;
IRFI4110GPBF, Farnell# 1888169, 4,71 € (25 St.)&lt;br /&gt;
&lt;br /&gt;
alternativ PSMN5R6-100XS, Farnell# 2114735, 2,28 € (25 St.)&lt;br /&gt;
&lt;br /&gt;
Schaltnetzteil von 100 V auf 24 V wird ein LM5116MH, Farnell# 1342345, 8,04 €&lt;br /&gt;
&lt;br /&gt;
Drossel für Schaltnetzteil nach Berechnung:&lt;br /&gt;
&lt;br /&gt;
100 kHz, 100 V in, 24 V out, 1 A out, 40% ripple -&amp;gt; 456 µH&lt;br /&gt;
&lt;br /&gt;
Eingesetzt wird Würth PD INDUKTIVITAET TYP XXL,270UH,1.6A, Farnell# 2082653 3,36 €, allerdings bei 250 kHz.&lt;br /&gt;
&lt;br /&gt;
MOSFET für Schaltnetzteil: IRF7815PBF, 150V, 5.1A, SO8, Farnell# 1865585, 1,10 € (1 - 24 St.)&lt;br /&gt;
&lt;br /&gt;
DC-DC Wandler für RS232: ADUM5000, Farnell# 2102522, 6,72 €, Besonderheit: Trafo in Silizium!&lt;br /&gt;
&lt;br /&gt;
Spannungsregler für 5V Schiene: LM340MP-5.0/NOPB, Farnell# 1469097 :: Ersetzt!!!&lt;br /&gt;
&lt;br /&gt;
Relaistreiber und Motorbremstreiber: Allegro A2981SLW-T, Farnell# 1329620, 3,12 €&lt;br /&gt;
&lt;br /&gt;
Eingangsmodule: Widerstandsteiler, dann 74HCT14 Schmitt-Trigger&lt;br /&gt;
&lt;br /&gt;
Noch aussuchen: ???&lt;br /&gt;
&lt;br /&gt;
Zwischenkreiselkos: 8 Stück von Epcos B41231A9128M000, Farnell# 1839292, 1,64 €&lt;br /&gt;
&lt;br /&gt;
Shuntwiderstand wurde ausgesucht für 250mV Spannungsabfall bei 15A Wicklungsstrom, d.h. 15mOhm, gewählt wird von VISHAY DALE LVR05R0150FE73, Farnell 1108082 1,38 €&lt;br /&gt;
&lt;br /&gt;
== Funktionsbeschreibung ==&lt;br /&gt;
&lt;br /&gt;
=== Überblick ===&lt;br /&gt;
&lt;br /&gt;
Bei dem Entwurf handelt es sich um eine volldigitale Schrittmotorsteuerung.&lt;br /&gt;
&lt;br /&gt;
Ein extern anzuschließendes Netzteil stellt Gleichspannung zur Verfügung. Damit wird ein Zwischenkreis versorgt, der wiederum mit einem Kondensatorpaket gestützt wird. Der Zwischenkreis ist für Spannungsniveaus zwischen 30 V und 100 V ausgelegt. Das externe Netzteil speist den Zwischenkreis über eine Diode, so dass im Bremsbetrieb die Spannung am Zwischenkreis bis 100 V ansteigen kann, ohne, dass das Netzteil diese erhöhte Spannung aushalten muss. Wir empfehlen für das System ein Netzeil im Bereich 48 V bis 60 V und einem Nennstrom von 10 A. Es können Schaltnetzteile sowie konventionelle Netzteile verwendet werden, eine Glättung ist nicht notwendig.&lt;br /&gt;
&lt;br /&gt;
Aus dem Zwischenkreis wird mit einem Schaltnetzteil eine Allgemeinspannungsversorgung von 24 V erzeugt. Daraus wiederum werden mit 3 weiteren Schaltnetzteilen 15 V für die Gateansteuerung der MOS-FETs und die Strommessung erzeugt, sowie 5 V Versorgungsspannung für externe Funktionen (z.B. Motordrehencoder) und 3,3 V für die CPU.&lt;br /&gt;
Die CPU selbst enthält einen Linearregler auf 1,8 V für den Core.&lt;br /&gt;
&lt;br /&gt;
Die Motorphasen werden mit einer Brückenendstufe aus dem Zwischenkreis versorgt. Am Zwischenkreis sind 8 Halbbrücken angeschlossen. Das bedeutet, es gibt 8 Leistungsausgänge, von denen jeder wahlweise auf Masse oder auf Zwischenkreisspannung geschaltet werden kann. Durch schnelle Modulation im Bereich mehrerer kHz lässt sich dadurch Strom an ohmsch-induktiven Lasten wie Motoren, Magneten u.Ä. einprägen. Im gegebenen Anwendungsfall wird speziell auf die Funktionalität in Bezug auf Schrittmotoren Wert gelegt, jedoch kann (mit etwas Anpassung der Software) auch eine andere Last versorgt werden.&lt;br /&gt;
&lt;br /&gt;
Jeder zweite Leistungsausgang verfügt über eine Strommessung, die digital ausgewertet werden kann. Dadurch kann der Strom an jeder Wicklung des Motors erfasst und auf einen Sollwert geregelt werden. Dieser Regler wird in Software implementiert.&lt;br /&gt;
&lt;br /&gt;
Jede Halbbrücke besteht aus 2 N-Kanal-MOS-FETs, die über einen gemeinsamen Treiberbaustein gesteuert werden. Dieser stellt durch ausreichende Totzeit in Hardware sicher, dass kein Brückenkurzschluss durch gleichzeitiges Einschalten des oberen und unteren Transistors auftritt - auch im Fall eines Softwarefehlers. &lt;br /&gt;
Über ein Enable-Signal kann die Treibersteuerung der FETs komplett abgeschaltet werden, hiermit lässt sich bei Bedarf eine Funktion für einen sicheren Halt einer Antriebsmaschine implementieren, aber auch ein freies Drehen ist möglich. &lt;br /&gt;
&lt;br /&gt;
Die CPU, ein Digital-Signalprozessor TMS320F28062 steuert und regelt alle Funktionen.&lt;br /&gt;
Hauptaufgabe ist die Regelung der Motorstrangströme durch Messung der Istwerte und entsprechende Ansteuerpulserzeugung für die MOS-FET-Halbbrücken. Sollwerte für diese Strangströme werden durch übergeordnete Regler errechnet (Lage-, und Geschwindigkeitsregelung). Die Regelung kann durch eine Rotorpositionsmessung am Motor per Drehencoder unterstützt werden. Dazu gibt es 2 Eingänge für gängige Incrementalencoder, wahlweise für 24 V oder 5 V Versorgungsspannung und wahlweise für 24 V oder 5 V Signalspannung. Unterstützt werden Incrementalgeber mit 2-Bit Gray Code mit und ohne und Indexmarke.&lt;br /&gt;
&lt;br /&gt;
Für externe Funktionen sind weiterhin 4 Analogeingänge (umschaltbar zwischen 0-10V und 0-20mA) vorgesehen, die hochauflösend mit bis zu 1 Megasample pro Sekunde abgetastet werden können. Die Auflösung des AD-Wandlers beträgt 12 Bit. Das vorgeschaltete RC-Filterglied muss bei schnellen Messfunktionen an die benötigte Grenzfrequenz angepasst werden. Momentan sind die Eingänge auf langsame Signaländerung konfiguriert. In einer aktuellen Anwendung soll beispielsweise ein externer Unterdrucksensor ausgewertet werden. &lt;br /&gt;
&lt;br /&gt;
Für allgemeine Funktionen stehen 8 Binäreingänge (24 V) zur Verfügung, hierüber lassen sich beispielsweise Fahrbefehle einfach per Taster steuern oder Rückmeldungen von angefahrenen Motorpositionen per Schalter abfragen. Außerdem sind 6 Binärausgänge zur Ansteuerung von 24 V Relais oder anderen kleinen Spulen, z.B. pneumatischen Magnetventilen vorgesehen.&lt;br /&gt;
&lt;br /&gt;
Es gibt 4 Eingänge für Endlageschalter zum Einrichten und Kalibrieren der Motorposition z.B. für Linearantriebe.&lt;br /&gt;
Per Software sind diese 4 Eingänge für eine Schnellbremsung vorgesehen, wenn die Endlagen überfahren werden.&lt;br /&gt;
&lt;br /&gt;
Zwei 24 V Ausgänge sind für elektromagnetische Not- und Haltebremsen vorgesehen. Bei Bedarf können diese Ausgänge auch für allgemeine Funktionen verwendet werden, wenn keine Bremsen benötigt werden.&lt;br /&gt;
&lt;br /&gt;
Das Sytem kann über 2 serielle Schnittstellen (RS-232) an eine übergeordnete Steuerung (z.B. einen PC) angeschlossen werden. Über diese 2 Schnittstellen kann ein Loop von einem PC über mehrere Motorsteuerungen und zurück zum PC aufgebaut werden. Der Loop ist bidirektional, d.h. Daten können in beide Richtungen übertragen werden. Fällt eine Richtung z.B. durch Kabelbruch aus, steht noch die andere Seite zur Verfügung und das System kann einen sicheren Stoppzustand unter allen Teilnehmern aushandeln.&lt;br /&gt;
Über die serielle Schnittstelle ist ein Softwaredownload auf die CPU möglich. Dazu gibt es einen entsprechenden Bootloader.&lt;br /&gt;
&lt;br /&gt;
Bei dem Leiterplattenlayout wurde besonderer Wert auf hohe Stromtragfähigkeit gelegt. So können kurzzeitig Pulsströme auf den Wicklungen gefahren werden, die den Nennstrom von 10 A um Faktoren übersteigen. Die Leisterplatte wird dazu mit 70 Mikrometer Kupferlagendicke und 4 Lagen gefertigt. Die leistungsführenden Leiterbahnen sind nicht nur auf der maximal möglichen Lagenzahl geführt, sondern auch massiv an die Leistungsbauteile angebunden und mit vielen Durchkontaktierungen versehen, die den Strom und die Wärme optimal auf alle Lagen verteilen und zudem ein Löten der Bauteile an den dicken Bahnen (mit entsprechend schwerem Lötkolben) ermöglichen. &lt;br /&gt;
&lt;br /&gt;
Die Leiterplatte ist so gebaut, dass alle Anschlüsse für Kabel nach vorne herausgeführt werden können. Nur die serielle Schnittstelle sowie der JTAG-Debugger können von hinten über Flachbandkabel angeschlossen werden (Von DB-9 Steckern in Einlöttechnik halten wir nicht so viel... Wir nehmen lieber die mit Kabel und bauen diese neben der Leiterplatte in die Frontplatte). Alle Kabelanschlüsse sind über steckbare Klemmverbinder geführt.&lt;br /&gt;
&lt;br /&gt;
Die Karte ist so ausgelegt, dass eine gefräste Frontplatte über die frontseitigen Steckanschlüsse angeordnet werden kann, so dass an der Frontplatte alles ordentlich beschriftet zugänglich ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schaltpläne ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:StepperController.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:StepperController-Chopper.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:StepperController-IO.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:StepperController-RS232.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:StepperController-ClassD_Amp_1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:StepperController-ClassD_Amp_2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:StepperController-PowerSupply.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Aktuelles KiCAD-Projekt [[Datei:StepperController.zip]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Motor-Boards]]&lt;/div&gt;</summary>
		<author><name>79.217.227.228</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=FPGA_Soft_Core&amp;diff=92527</id>
		<title>FPGA Soft Core</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=FPGA_Soft_Core&amp;diff=92527"/>
		<updated>2016-03-21T04:24:28Z</updated>

		<summary type="html">&lt;p&gt;79.217.227.228: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
Ein soft core (engl. wörtlich &amp;quot;weicher Kern&amp;quot;, sinngemäß &amp;quot;Software-Kern&amp;quot;) ist ein Prozessor, ein Mikrocontroller oder ein digitaler Signalprozessor, welche als virtuelle Einheit in einem FPGA oder ASIC-Design integriert wird. Somit kann jeder beliebige Prozessor zum Chip hinzugefügt werden, wobei dieser in einem ASIC de facto zu einem hard core (engl. harter Kern) wird. In FPGA besteht dieser aus reiner Anwenderlogik, die dazu entsprechend konfiguriert wird. Alternativ wird er als echter hard core auf dem Chip platziert oder bei der Überführung eines FPGA-designs in einen ASIC praktisch zu einem hard core gemacht.&lt;br /&gt;
&lt;br /&gt;
Im Regelfall werden soft cores in FPGAs dazu verwendet, komplizierte Aufgaben zu erledigen, die eine klassische state machine überfordern oder ineffektiv werden ließen, die aber gleichzeitig nicht zu hohe Anforderungen an die Geschwindigkeit stellen. Oft werden SCs im Nachhinein in FPGAs integriert, wenn sich im Zuge einer Erweiterung des Funktionsumfangs herausstellt, dass die Aufgaben komplexer werden und intelligente Verwaltung gefordert wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorteile von Soft Cores gegenüber hard cores ===&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Flexible Anwendung, das FPGA &#039;&#039;&#039;kann&#039;&#039;&#039; bei Bedarf mit einem SoftCore versehen werden; es wird im Vorhinein jedoch keine Chipfläche für einen eventuell ungenutzen Hard Core verschwendet (Kostenvorteil)&lt;br /&gt;
* Einige Softcore sind sehr flexibel konfigurierbar (16/32 Bit Datenpfade, Zusatzmodule, Spezielle Anwenderbefehle etc.) &lt;br /&gt;
* Kleine Softcores können je nach Anwendung mehrfach im FPGA parallel platziert und verwendet werden, dadurch erhöht sich die Datenverabreitungskapazität (z.&amp;amp;nbsp;B. ein RX Prozessor und ein TX-Prozessor)&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
* Geringere Geschwindigkeit&lt;br /&gt;
* Höhere Wärmeverlustleistung&lt;br /&gt;
&lt;br /&gt;
=== Eigenschaften===&lt;br /&gt;
Ein soft core wird gern für etwas komplexere Aufgaben verwendet, bei denen es nicht auf allerhöchste Geschwindigkeit ankommt, z.&amp;amp;nbsp;B. eine Displayansteuerung oder die Konfiguration von Peripheriebausteinen über I2C.&lt;br /&gt;
&lt;br /&gt;
Die erreichbaren Taktfrequenzen sind stark vom FPGA-Typ und der FPGA-Auslastung (freie Logikressourcen) abhängig. Mit Softcores können daher typischerweise maximal Datendurchsatzraten in der Größenordnung von 10-20Mbps realisiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Typen ===&lt;br /&gt;
Eine große Anzahl frei verfügbarer Soft-CPUs gibt es auf [http://www.opencores.org/browse.cgi/filter/category_microprocessor OpenCores.org]. Die vorhandene Palette reicht von Nachbauten vorhandener Prozessoren, wie des AVR, PIC oder MIPS, bis hin zu eigenen Entwicklungen, wie dem &amp;quot;16 Bit Microcontroller&amp;quot; (c16), der speziell für FPGAs optimiert ist und mit einem eigenen RTOS kommt. Ein anderer ist z.&amp;amp;nbsp;B. der 32-bit OpenRisc 1000, für den eine Version der GNU Tools für die Software Entwicklung zur Verfügung stehen.&lt;br /&gt;
&lt;br /&gt;
Hier soll ein kleiner Überblick über vorhandene Softcores entstehen, für welche Softwarunterstützung existiert und welche Leistungen zu erwarten sind.&lt;br /&gt;
Es nützt einem oft der tollste Softcore nicht, wenn er sich nicht entsprechend programmieren läßt. Für LatticeMico32, MicroBlaze und NIOS ist jeweils ein Systembuilder verfügbar. Damit lassen sich leicht und übersichtlich Prozessor und Peripherie konfigurieren.&lt;br /&gt;
&lt;br /&gt;
== 8 Bit Soft Cores ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;softcores&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
!optimiert für&lt;br /&gt;
!Quellcode&lt;br /&gt;
!max. Programmspeicher&lt;br /&gt;
!Programmierung&lt;br /&gt;
!Toolchain&lt;br /&gt;
!Leistung&lt;br /&gt;
!Lizenz/Preis&lt;br /&gt;
!Weblink&lt;br /&gt;
|-&lt;br /&gt;
|AX8&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|2k (8k)&lt;br /&gt;
|asm, C, Basic, [[Ada]]...&lt;br /&gt;
|GCC/WinAVR, ...&lt;br /&gt;
|wie AT90S2313 mit 30-50MHz&lt;br /&gt;
|&lt;br /&gt;
|[http://www.opencores.org/project,ax8 OpenCores]&lt;br /&gt;
|-&lt;br /&gt;
|T51&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm, Basic, C, ...&lt;br /&gt;
|sdcc, MCS-Basic, ...&lt;br /&gt;
|single cycle 8051, z.&amp;amp;nbsp;B. 40 MHz auf Spartan3&lt;br /&gt;
|&lt;br /&gt;
|[http://www.opencores.org/projects.cgi/web/t51/overview OpenCores]&amp;lt;BR&amp;gt;[[T51-Core]]&lt;br /&gt;
|-&lt;br /&gt;
|8051 IP Core&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm, Basic, C, ...&lt;br /&gt;
|sdcc, MCS-Basic, ...&lt;br /&gt;
|1-4 cycle 8051&lt;br /&gt;
|open IP-Core&lt;br /&gt;
|[http://www.oregano.at/ip/8051.htm Oregano Systems]&lt;br /&gt;
|-&lt;br /&gt;
|LatticeMico8&lt;br /&gt;
|Lattice&lt;br /&gt;
|ja, Verilog &amp;amp; VHDL&lt;br /&gt;
|&lt;br /&gt;
|asm, C&lt;br /&gt;
|GNU Toolchain&lt;br /&gt;
|&lt;br /&gt;
|open IP-core&lt;br /&gt;
|[http://www.latticesemi.com/products/intellectualproperty/referencedesigns/8bitmicrocontrollermico8.cfm Lattice]&lt;br /&gt;
|-&lt;br /&gt;
|PicoBlaze&lt;br /&gt;
|Xilinx&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|2k (1024 Befehle)&lt;br /&gt;
|asm (DOS/ dosbox)&lt;br /&gt;
|&lt;br /&gt;
|lt. Xilinx 100 MIPS&lt;br /&gt;
|Xilinx Reference Design License&lt;br /&gt;
|[http://www.xilinx.com/picoblaze Xilinx]&lt;br /&gt;
|-&lt;br /&gt;
|PacoBlaze&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, Verilog&lt;br /&gt;
|wie PicoBlaze&lt;br /&gt;
|asm (geschrieben in Java)&lt;br /&gt;
|KCAsm&lt;br /&gt;
|wie Picoblaze&lt;br /&gt;
|modifizierte BSD Lizenz&lt;br /&gt;
|[http://bleyer.org/pacoblaze/ PacoBlaze]&lt;br /&gt;
|-&lt;br /&gt;
|Panda&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm&lt;br /&gt;
|HASM, Builder SW&lt;br /&gt;
|je nach Konfiguration&lt;br /&gt;
|Free IP, Boost&lt;br /&gt;
|[http://www.logicsolutions.ch/Download.htm LogicSolutions]&lt;br /&gt;
|-&lt;br /&gt;
|Proteus&lt;br /&gt;
|entfällt&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm&lt;br /&gt;
|HASM, Builder SW&lt;br /&gt;
|je nach Konfiguration&lt;br /&gt;
|Free IP, Boost&lt;br /&gt;
|[http://www.logicsolutions.ch/Download.htm LogicSolutions]&lt;br /&gt;
|-&lt;br /&gt;
|embedded Z8 (UB8820)&lt;br /&gt;
|XILINX, ASIC syn.&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|64k&lt;br /&gt;
|asm&lt;br /&gt;
|[http://john.ccac.rwth-aachen.de:8000/as/ Makroassembler AS]&lt;br /&gt;
|je nach Konfiguration&lt;br /&gt;
|Free IP&lt;br /&gt;
|[http://www.dynamic-technologies.de/papa/z8/current.tgz embeddedZ8 site]&lt;br /&gt;
|-&lt;br /&gt;
|bo8&lt;br /&gt;
|&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|n*64k&lt;br /&gt;
|asm&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Creative Commons&lt;br /&gt;
|[http://www.mikrocontroller.net/articles/8bit-CPU:_bo8 bo8]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Picoblaze ===&lt;br /&gt;
&lt;br /&gt;
Dabei handelt es sich um einen sehr kleinen, aber dennoch sehr leistungsfähigen Microprozessor.&lt;br /&gt;
&lt;br /&gt;
Eigenschaften:&lt;br /&gt;
&lt;br /&gt;
*nur 76-93 Slices Ressourcenbedarf&lt;br /&gt;
*16 8-Bit Register&lt;br /&gt;
*1024 Befehle Programmspeicher (Version für Spartan-II nur 256 Befehle)&lt;br /&gt;
*18-Bit Befehle, RISC (Version für Spartan-II hat 16-Bit Befehle)&lt;br /&gt;
*&#039;&#039;&#039;Alle&#039;&#039;&#039; Befehle dauern zwei Takte&lt;br /&gt;
*Interruptunterstützung&lt;br /&gt;
*8-Bit IO-Bus&lt;br /&gt;
*Indirekte Addressierung möglich&lt;br /&gt;
*Programmspeicher durch Bankumschaltung erweiterbar&lt;br /&gt;
*Assembler als Kommandozeilenprogramm verfügbar&lt;br /&gt;
*Entwicklungsumgebung pBlazeIDE verfuegbar mit integriertem Assembler&lt;br /&gt;
*Schneller Programmdownload über JTAG während der Entwicklung&lt;br /&gt;
*37..102 MIPS, abhängig von der FPGA-Familie&lt;br /&gt;
&lt;br /&gt;
=== AX8 ===&lt;br /&gt;
Der AX8-Core entspricht fast einem Atmel AT90S2313. Ihm fehlen noch Hardwareeinheiten wie EEPROM, Watchdog und die verschiedenen Powerdown-Modi.&lt;br /&gt;
&lt;br /&gt;
* Ressourcenbedarf: ~ 1400 Xilinx-Slices&lt;br /&gt;
* erreichbare Geschwindigkeit auf einem Spartan3-1000: 50 MHz&lt;br /&gt;
* als Toolchain kann problemlos WinAVR o.ä. verwendet werden&lt;br /&gt;
&lt;br /&gt;
Die ROM-Beschreibung muss angepasst werden, damit XST einen BlockRAM generieren kann (ein passendes hex2rom gibts hier: [http://www.mikrocontroller.net/topic/91160 hex2rom]). &lt;br /&gt;
&lt;br /&gt;
Der Core lässt sich leicht mit Speicher (8KByte ROM), einem EEPROM (bis zu 64KByte), zwei Ports und einem Watchdog erweitern. Damit entspricht der AX8 dann einem AT90S8535, bis auf die anderen Timer/Counter und die fehlende SPI-Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Für Entwicklungszwecke lässt sich der ROM-Inhalt - wie beim Picoblaze - per JTAG-Schnittstelle updaten. Somit kann neue Software getestet werden, ohne das Design neu zu synthetisieren. Dafür benötigt man die Werkzeuge hex2svf, svf2xsvf und xsvfplayer. Im FPGA füllt dann eine State-Machine am JTAG-Port einen DualPort-RAM (ROM :-))&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu neueren AVR-Controllern wie dem ATMega8, fehlen dem AX8-Core Befehle wie MOVW, MUL und FMUL. Außerdem fehlen Hardwareeinheiten, wie I2C und erweiterte Timer. Die größte Beschränkung aber ist der maximale Programmspeicherplatz von 8KByte. Mehr Speicher macht größere Änderungen am VHDL-Code des Cores erforderlich.&lt;br /&gt;
&lt;br /&gt;
=== AVR8 ===&lt;br /&gt;
&lt;br /&gt;
The AVR8 Soft Processor core is an AVR instruction set compatible processor that is optimized to run on the Butterfly Flight or Butterfly Light FPGA hardware. It is based on the &#039;&#039;&#039;ATmega103&#039;&#039;&#039; processor and includes a full toolchain to compile and run C code developed with avr-gcc.&lt;br /&gt;
&lt;br /&gt;
http://gadgetfactory.net/gf/project/avr_core/&lt;br /&gt;
&lt;br /&gt;
=== Panda ===&lt;br /&gt;
Es steht eine grafische Builder SW zur Verfügung um ein System inklusive Peripheriern zu generieren, ohne VHDL schreiben zu müssen. Einige Peripherieren (Timer, Ports, etc.) sind bereits integriert, eigene Peripherien können in die SW integriert werden.&lt;br /&gt;
Der Prozessor ist stark konfigurierbar (z.&amp;amp;nbsp;B. Ein/Ausschalten einzelner Instruktionen).&lt;br /&gt;
&lt;br /&gt;
=== Proteus ===&lt;br /&gt;
Der Prozessor kann durch über 20 Generics perfekt an das Projekt angepasst werden. Es lassen sich beispielsweise Wortbreite, Instruktionen, Pipelining und Register anpassen. Es gibt auch eine JTAG Debugging Software zum Prozessor, die es auch ermöglicht mehrere Prozessoren in einem Chip zu Debuggen. Auch benutzerdefinierte Instruktionen werden unterstützt.&lt;br /&gt;
Proteus hat für Daten und Instruktionen zwei separate Wishbone Interfaces und ist zu 100% Herstellerunabhängig. In seiner kleinsten Konfiguration benötigt Proteus weniger als 300 LUTs.&lt;br /&gt;
&lt;br /&gt;
=== embedded Z8 (UB8820/UB8840) ===&lt;br /&gt;
Frei konfigurierbarer Mikrokontroller Core der sich an der Architekture des UB8820/... orientiert (damit dem z8 entsprechend)&lt;br /&gt;
&lt;br /&gt;
Eigenschaften:&lt;br /&gt;
&lt;br /&gt;
*konfigurierbare Anzahl der Registersets&lt;br /&gt;
&lt;br /&gt;
=== bo8 ===&lt;br /&gt;
Die CPU &#039;&#039;&#039;bo8&#039;&#039;&#039; ist Teil eines auf &#039;&#039;mikrocontroller.net&#039;&#039;&amp;amp;nbsp; vorgestellten Gesamt-Projekts. Sie hat einen vollständigen Befehlssatz mit 256 OpCodes. Die Berechnung der Dauer von Befehlsfolgen durch Abzählen von Zyklen ist sehr einfach. Die CPU kann eine unbestimmte Anzahl von 64KByte-Seiten adressieren. Nachteilig sind die fehlenden Interrupts und die bisher fehlenden Aussagen zur maximalen Taktfrequenz.&lt;br /&gt;
&lt;br /&gt;
== 16 Bit Soft Cores ==&lt;br /&gt;
=== Übersicht ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;softcores&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
!optimiert für&lt;br /&gt;
!Quellcode&lt;br /&gt;
!Programmierung&lt;br /&gt;
!Toolchain&lt;br /&gt;
!Leistung&lt;br /&gt;
!Lizenz/Preis&lt;br /&gt;
!Weblink&lt;br /&gt;
|-&lt;br /&gt;
|NEO430&lt;br /&gt;
|generic&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++, ..&lt;br /&gt;
|MSPGCC (Windows, Linux/Cygwin)&lt;br /&gt;
|4-12 cycles per instruction&lt;br /&gt;
|LGPL&lt;br /&gt;
|[http://www.opencores.org/project,neo430 neo430 @ OpenCores.org]&lt;br /&gt;
|-&lt;br /&gt;
|OpenMSP430&lt;br /&gt;
|FPGA &amp;amp; ASIC&lt;br /&gt;
|Ja, Verilog&lt;br /&gt;
|asm, C, C++, ..&lt;br /&gt;
|MSPGCC (Windows, Linux/Cygwin)&lt;br /&gt;
|1-6 cycles per instruction&lt;br /&gt;
|BSD&lt;br /&gt;
|[http://opencores.org/project,openmsp430 OpenMSP430 @ OpenCores.org]&lt;br /&gt;
|-&lt;br /&gt;
|TG68&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++, ..&lt;br /&gt;
|GCC, (68k-compatible)&lt;br /&gt;
|&lt;br /&gt;
|LGPL&lt;br /&gt;
|[http://opencores.org/project,tg68 tg68 @ OpenCores.org]&lt;br /&gt;
|-&lt;br /&gt;
|UCore&lt;br /&gt;
|Altera&lt;br /&gt;
|VHDL&lt;br /&gt;
|Assembler&lt;br /&gt;
|Assembler, Emulator&lt;br /&gt;
|single cycle per instruction&lt;br /&gt;
|&lt;br /&gt;
|Artikel [http://www.mikrocontroller.net/articles/16/32Bit_Computer/Konsole] HP [http://www.goldmomo.de]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== NEO430 ===&lt;br /&gt;
* MSP430-ISA-kompatibel (verwendet MSPGCC Compiler), 16-bit RISC&lt;br /&gt;
* UART / SPI EEPROM / Wishbone Bootloader&lt;br /&gt;
* Verschiedene Beispielprogramme und Tutorials&lt;br /&gt;
* Hardware (anpassbar): Timer, SPI &amp;amp; UART, Parallel IO, Wishbone Interface, ...&lt;br /&gt;
* Leistung: 4..12 Taktzyklen pro Instruktion, ~125MHz (Altera Cyclone IV EP4CE22F17C6N)&lt;br /&gt;
* Recourcenbedarf: 1000 .. 1500 LE&#039;s auf Altera Cyclone IV&lt;br /&gt;
* Datenblatt (auf opencores.org): [http://opencores.org/websvn,filedetails?repname=neo430&amp;amp;path=%2Fneo430%2Ftrunk%2Fdoc%2FNEO430.pdf NEO430.pdf]&lt;br /&gt;
&lt;br /&gt;
=== OpenMSP430 ===&lt;br /&gt;
* MSP430 kompatibel (verwendet MSPGCC Compiler), 16-bit RISC&lt;br /&gt;
* FPGA und ASIC erprobt&lt;br /&gt;
* Hardware (anpassbar): 6x16 Hardware Multiplier, Watchdog, GPIO, TimerA, generic templates&lt;br /&gt;
* two-wire Serial Debug Interface mit Unterstützung des MSPGCC GNU Debugger (GDB)&lt;br /&gt;
* Leistung: 1..6 Taktzyklen pro Instruktion&lt;br /&gt;
* Recourcenbedarf: Xilinx: 1650 LUTs / Altera: 1550 LEs / ASIC: 8k gate&lt;br /&gt;
* Datenblatt (auf opencores.org): [http://opencores.org/websvn,filedetails?repname=openmsp430&amp;amp;path=%2Fopenmsp430%2Ftrunk%2Fdoc%2FopenMSP430.pdf openMSP430.pdf]&lt;br /&gt;
&lt;br /&gt;
=== TG68 ===&lt;br /&gt;
* 68000 kompatible&lt;br /&gt;
* Recourcenbedarf: ~2700 Xilinx Slices, ~4000 LC&#039;s auf Altera Cyclone II&lt;br /&gt;
&lt;br /&gt;
== 32 Bit Soft Cores ==&lt;br /&gt;
=== Übersicht ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot; id=&amp;quot;softcores&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
!optimiert für&lt;br /&gt;
!Quellcode&lt;br /&gt;
!Programmierung&lt;br /&gt;
!Toolchain&lt;br /&gt;
!Leistung&lt;br /&gt;
!Lizenz/Preis&lt;br /&gt;
!Weblink&lt;br /&gt;
|-&lt;br /&gt;
|HiCoVec Vektorprozessor&lt;br /&gt;
|Xilinx Spartan3A&lt;br /&gt;
|ja, VHDL&lt;br /&gt;
|asm, C&lt;br /&gt;
|GCC, HiCoVec Assembler&lt;br /&gt;
|Flexible Vektoreinheit&lt;br /&gt;
|GPL&lt;br /&gt;
|[http://ees.informatik.hs-augsburg.de/hicovec HS-Augsburg]&lt;br /&gt;
|-&lt;br /&gt;
|LatticeMico32&lt;br /&gt;
|Lattice, siehe aber soc-lm32&lt;br /&gt;
|ja, Verilog&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC, MSB&lt;br /&gt;
|&lt;br /&gt;
|open IP-core&lt;br /&gt;
|[http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/ Lattice]&lt;br /&gt;
|-&lt;br /&gt;
|Leon&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC (SPARC-compatible)&lt;br /&gt;
|&lt;br /&gt;
|GPL&lt;br /&gt;
|[http://www.gaisler.com Gaisler Research]&lt;br /&gt;
|-&lt;br /&gt;
|MicroBlaze&lt;br /&gt;
|Xilinx&lt;br /&gt;
|Nein&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC, EDK&lt;br /&gt;
|&lt;br /&gt;
|EDK $500/Jahr&lt;br /&gt;
|[http://www.xilinx.com/products/design_resources/proc_central/microblaze.htm Xilinx]&amp;lt;BR&amp;gt;[http://de.wikipedia.org/wiki/MicroBlaze MicroBlaze bei Wikipedia]&lt;br /&gt;
|-&lt;br /&gt;
|MicroBlaze MCS&lt;br /&gt;
|Xilinx&lt;br /&gt;
|Nein&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC, SDK&lt;br /&gt;
|&lt;br /&gt;
|kostenfrei&lt;br /&gt;
|[http://www.xilinx.com/tools/mb_mcs.htm Xilinx]&lt;br /&gt;
|-&lt;br /&gt;
|NIOS II&lt;br /&gt;
|Altera&lt;br /&gt;
|Nein&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC, SOPC, EDS&lt;br /&gt;
|&lt;br /&gt;
|mit Nios II Eval-Kit ab $400, oder $3000 - Nios II/e core free (12/2009)&lt;br /&gt;
|[http://www.altera.com/nios2 Altera]&lt;br /&gt;
|-&lt;br /&gt;
|OpenRISC&lt;br /&gt;
|&lt;br /&gt;
|Ja, Verilog&lt;br /&gt;
|asm, C, C++, ..&lt;br /&gt;
|GCC&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[http://www.opencores.org/projects.cgi/web/or1k/overview OpenCores]&lt;br /&gt;
|-&lt;br /&gt;
|Plasma&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC (MIPS-compatible)&lt;br /&gt;
|&lt;br /&gt;
|GPL&lt;br /&gt;
|[http://www.opencores.org/ OpenCores.org]&lt;br /&gt;
|-&lt;br /&gt;
|MAIS&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC &lt;br /&gt;
|&lt;br /&gt;
|Creative Commons CC BY-NC 3.0 with exception commercial applicants have to pay a licence fee &lt;br /&gt;
|[http://www.dossmatik.de/mais-cpu.html]&lt;br /&gt;
|-&lt;br /&gt;
|Propeller 2&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|C,&lt;br /&gt;
|Parallax IDE&lt;br /&gt;
|&lt;br /&gt;
|GPL3&lt;br /&gt;
|[http://www.parallax.com]&lt;br /&gt;
|-&lt;br /&gt;
|Zylin CPU (ZPU)&lt;br /&gt;
|&lt;br /&gt;
|Ja, VHDL&lt;br /&gt;
|asm, C, C++&lt;br /&gt;
|GCC&lt;br /&gt;
|&lt;br /&gt;
|FreeBSD/GPL&lt;br /&gt;
|[http://opensource.zylin.com/zpu.htm Zylin.com]&lt;br /&gt;
|-&lt;br /&gt;
|PULPino (RISC-V)&lt;br /&gt;
|ASIC, Xilinx&lt;br /&gt;
|Ja, SystemVerilog&lt;br /&gt;
|asm, C, C++, ..&lt;br /&gt;
|GCC, LLVM&lt;br /&gt;
|&lt;br /&gt;
|MIT&lt;br /&gt;
|[http://www.pulp-platform.org/ pulp-platform]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Einen ersten Eindruck von derLeistungsfähigkeit der 32 Bit SoftCores gibt z.&amp;amp;nbsp;B. &lt;br /&gt;
die [http://www.gaisler.com/doc/Evaluation_of_synthesizable_CPU_cores.pdf Master-Arbeit &amp;quot;Evaluation of synthesizable CPU cores&amp;quot;] aus dem Jahr 2004. &lt;br /&gt;
Diese Vergleicht den Leon 2, MicroBlaze und OpenRISC 1200 miteinander.&lt;br /&gt;
&lt;br /&gt;
=== Lattice Mico32 und soc-lm32 ===&lt;br /&gt;
&lt;br /&gt;
Mico32 ist eine 32 Bit pipelined RISC CPU. Die steht unter einer OpenSource&lt;br /&gt;
Lizenz und liegt komplett im Verilog Quelltext vor. Sowohl die CPU Architektur als auch der Resourcenbedarf ist vergleichbar mit dem MicroBlaze von Xilinx, ist allerdings eine eigenständige Entwicklung von Lattice.&lt;br /&gt;
&lt;br /&gt;
* Recourcenbedarf: ~1600 Slices (Lattice/Xilinx)&lt;br /&gt;
* Erreicht ca. 80-116MHz auf ECP2 und XP2 Devices von Lattice und ca. 100 MHz auf Spartan3 Generation FPGAs,&lt;br /&gt;
* Konfigurierbare D- und I-Caches (aus BRAM oder Distributed RAM)&lt;br /&gt;
* 2 Wishbone-Interfaces: Für Daten-Load&amp;amp;Store und Instruction-Fetch&lt;br /&gt;
* Systembuilder mit automatisch erstellten Wishbone Arbitern&lt;br /&gt;
* Keine Begrenzung in Anzahl der benutzten Wishbone Busse&lt;br /&gt;
* Kompletter GNU Toolchain aus binutils, gcc und gdb&lt;br /&gt;
* Eclipse Entwicklungsumgebung, gemanagte C und C++ Entwicklung&lt;br /&gt;
* Automatische Treibererstellung durch den Systembuilder&lt;br /&gt;
* In Lattice Bausteinen gleichzeitige Benutzung des Logikanalyzers und Debuggers&lt;br /&gt;
&lt;br /&gt;
Neben dem Original, das man von [http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/index.cfm Lattice] herunterladen kann, und dessen Toolchain erstmal auf Windows mit Lattice FPGAs ausgelegt ist, gibt es noch [http://www.das-labor.org/wiki/Soc-lm32 soc-lm32]. soc-lm32 ist eine Portierung auf Altera und Xilinx Bausteine und benutzt einen Makefile-basierten Workflow.&lt;br /&gt;
&lt;br /&gt;
Eine von Lattice in Auftrag gegebene Portierung von uC-Linux ist verfügbar&lt;br /&gt;
(http://www.theobroma-systems.com/mico32/).&lt;br /&gt;
&lt;br /&gt;
Nachteile: bis jetzt gibt es keine Version mit FPU (kann über Wishbone als Peripherie angeflanscht werden) oder MMU.&lt;br /&gt;
&lt;br /&gt;
=== Leon ===&lt;br /&gt;
&lt;br /&gt;
Dieser Prozessorkern ist komplett SPARC V8 kompatibel -- beliebige SPARC Compiler können verwendet werden (z.&amp;amp;nbsp;B. bcc, ). Neben dem Kern selbst steht auch eine breite Auswahl an Peripherie in Form von VHDL-Komponenten zur Vefügung. Als On-Chip Interconnect kommt AMBA (AHB + APB) zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
* Recourcenbedarf: ~4000 Xilinx Slices, 10 BRAMs (minimal-konfiguration)&lt;br /&gt;
* Erreicht ca. 50 MHz auf Spartan3 Generation FPGAs&lt;br /&gt;
&lt;br /&gt;
=== MicroBlaze &amp;amp; Nachbauten ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MicroBlaze&#039;&#039;&#039; ist ein Core der von der Firma Xilinx speziell für deren FPGAs zur Verfügung gestellt wird. Er ist u.a. mit der XPS-Software instanziier- und konfigurierbar. Die Softwareentwicklung erfolgt in C mittels der Software EDK.&lt;br /&gt;
&lt;br /&gt;
Microblaze ist im Gegensatz zu PicoBlaze kommerziell und erfordert eine Lizenz. Allerdings hat Xilinx beginnend mit der ISE 13.4. einen leichtgewichtigen Microblaze - MicroBlaze MCS - veröffentlicht der kostenfrei für alle Xilinx FPGA&#039;s (mglw außer&lt;br /&gt;
den prähistorischen Relikten wie Spartan XL?!) verwendbar ist:&lt;br /&gt;
&lt;br /&gt;
http://www.xilinx.com/tools/mb_mcs.htm&lt;br /&gt;
&lt;br /&gt;
Dieser wird mit dem CoreGen statt dem EDK generiert, zum programmieren (C/C++) stellt Xilinx ein SDK bereit.&lt;br /&gt;
&lt;br /&gt;
=== Propeller ===&lt;br /&gt;
Komplettes Open Source Paket aus SoftCore, IDE und Debugging des Propeller 2 uCs:&lt;br /&gt;
http://de.wikipedia.org/wiki/Parallax_Propeller&lt;br /&gt;
http://www.parallax.com/microcontrollers/propeller-1-open-source&lt;br /&gt;
&lt;br /&gt;
=== ZPU ===&lt;br /&gt;
http://www.mikrocontroller.net/articles/ZPU:_Softcore_Implementierung_auf_Spartan-3_FPGA&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA und Co]]&lt;/div&gt;</summary>
		<author><name>79.217.227.228</name></author>
	</entry>
</feed>