Bahne Carstens Prozessoren in Programmierbarer Logik Inhalt Prozessoren in Programmierbarer Logik...1 Inhalt...1 Vorteile...1 Die Prozessor-Lösungen der Größe nach sortiert:...2 PicoBlaze...2 MicroBlaze...3 VirtexII Pro mit 1, 2 oder 4 integrierten IBM PowerPC 405...5 Wenn schon Prozessor dann auch zwei Schnittstellen!...6 Individuellle Lösung...6 gemeinsame Lösung im Chip Design Center...6 das passende Hardwarekonzept dazu...8 Anforderungen...8 Lösung: Modulkonzept mit einheitlichem Motherboard...8 Figure 1: vom Transistor zum IP-Core Die Entwicklung der Packungsdichte auf den Chips erlaubt es, Prozessoren als IP-Cores in FPGA' s zu programmieren. Der Prozessor ist in Hardware nicht vorhanden, sondern die Logik im FPGA wird so verknüpft, dass sie als Prozessor funktioniert. Diese Verknüpfung erfolgt in gleicher Weise wie die allgemeine Programmierung in VHDL oder Verilog. IP-Core (Intellectual Property) bedeutet hier, dass die Programmierung und Erprobung schon an anderer Stelle erfolgt ist. Ein Prozessor wird als IP-Core in das eigene Design eingefügt. Um das Leistungsspektrum und Anwendungsbeispiele zu zeigen, werden hier nur die Angebote für Xilinx Chips gezeigt. Vorteile ein Softprozessor kann nicht abgekündigt werden passt auch in einen neuen FPGA die Peripherie wird nur "programmiert" kombiniert die Vorteile eines Prozessors mit den Vorteilen programmierbarer Logik nur EMV freundliche Signale verlassen den FPGA L:\Firma\Measurement_valley\Prozessoren.doc
Die Prozessor-Lösungen der Größe nach sortiert: PicoBlaze The result is a microcontroller that occupies just 76 Spartan-IIE slices, which is 9% of the smallest XC2S50E device and less than 2% of the XC2S300E device. Together with this small amount of logic, a single block RAM is used to form a ROM store for a program of up to 256 instructions. Even with such size constraints, the performance is respectable at approximately 40 MIPS, depending on device speed grade. kostenlos braucht wenig Platz im FPGA kleiner 8 Bit Prozessor nimm 2 wenn einer nicht reicht kann auch im CPLD genutzt werden In einem Mehrkanalsystem kann für jeden Kanal ein Prozessor genutzt werden. Ein weiterer übernimmt dann die Koordination. PicoBlaze ist zwar nur ein 8-Bit Prozessor, aber es lassen sich ebenso andere Datenformate verarbeiten es muss ja nicht jedes Datenwort durch den Akkumulator. Bei einem digitalen Filter müssen nur die Steuer- und Statussignale verarbeitet werden die Daten fallen alleine durch. 8051 Fans http://www.roman-jones.com/rj2/pb8051microcontroller.htm - IP Core für $495 Es gibt einen IP-Core für $495, der einen PicoBlaze Prozessor nutzt um einen 8051 Prozessor nachzubilden. Seite 2 von 10 20.04.04
TITEL MicroBlaze Figure 2: Preisangabe für's Silicon, wenn man 250000 FPGA's ordert MicroBlaze in Spartan-3 Delivers Soft Prozessor for Less than 75 Cents (250K units) $4,15 (25 units) für 75 Cents bekommt man einen PicoBlaze beim 25'er Stückpreis. http://www.xilinx.com/ipcenter/processor_central/microblaze/performance.htm DX1 Figure 3: Spartan II, IIe, 3, VirtexII und VirtexII Pro 32-bit RISC processor with Harvard busses Full 32-bit operands, 32-bit data paths and 32-bit registers provide maximum performance. The RISC style ISA architecture provides exceptional FPGA performance. The compiler technology for this ISA style is well understood. The Harvard architecture separates instruction and data Seite 3 von 10 20.04.04
buses for maximum bandwidth. The MicroBlaze processor supports code and data storage from either on-chip BlockRAM or off-chip RAM. 125 Dhrystone MIPS (D-MIPS) per MicroBlaze processor Using an industry standard benchmark, MicroBlaze now runs at 125 Dhrystone MIPS at 150 MHz in Virtex-II Pro FPGAs. ---------- Prozessor ist konfigurierbar ( wie viel DMA-Kanäle, Cache etc.) 500$ für das Software-Werkzeug (EDK) braucht wenig Platz im FPGA in C programmierbar nimm 2 wenn einer nicht reicht Seite 4 von 10 20.04.04
TITEL VirtexII Pro mit 1, 2 oder 4 integrierten IBM PowerPC 405 ein echter Prozessor von programmierbarer Logik umgeben nimm 2 oder 4 wenn einer nicht reicht Figure 4: Advanced Features: Embedded 400 MHz, 600+ D-MIPS RISC core (32-bit Harvard architecture) 5-stage data path pipeline Hardware multiply and divide 32 x 32-bit general-purpose registers 16 KB 2-way set-associative instruction cache 16 KB 2-way set-associative data cache, write back/write through Implements PowerPC User Instruction Set Architecture (UISA) Memory Management Unit (MMU) 64-entry unified Translation Look-aside Buffers (TLB) Variable page sizes (1KB - 16 KB) Dedicated On-Chip Memory (OCM) interface Supports IBM CoreConnect bus architecture Debug and trace support Timer facilities Seite 5 von 10 20.04.04
Wenn schon Prozessor dann auch zwei Schnittstellen! Zukünftige Messgeräte müssen einfach vom einem Rechner aus "erreichbar" sein. Als Beispiel wird eine USB 2.0 und eine TCP/IP 10/100Mb Schnittstelle diskutiert: Individuellle Lösung Hardwarelösung: Es wird für jede Schnittstelle ein Baustein mit integriertem Prozessor ausgesucht der alle Schnittstellenaufgaben übernimmt. Vorteile wirtschaftlich für kleine Stückzahlen wenig Designaufwand Nachteile aufwändigeres Platinenlayout EMV unfreundlich weil die Daten- und Steuerleitungen zum Prozessor geführt werden müssen Baustein veraltet und wird abgekündigt jede Firma nimmt einen anderen Baustein geringer Erfahrungsaustausch möglich gemeinsame Lösung im Chip Design Center Softwarelösung: Für jede Schnittstelle wird ein IP-Core beschafft. Ohne den Service des Arbeitskreises Einkauf beträgt der Preis inklusive Support: IP-Core $5000 USB 2.0 $25000 Der Preis gilt für eine unbegrenzte Stückzahl Nachteile hohe Einmalkosten etwas höher Designaufwand ist nur wirtschaftlich im Chip Design Center Vorteile wenn sich 10 Firmen zusammenfinden alle Partner haben die gleiche Lösung nur noch $3000 für beide IP-Cores pro Firma nur noch 10% des Entwicklungsaufwandes vollen Zugriff auf 100% der Dokumentation und der Quellcodes allgemeine Programmteile (DLL's) können gemeinsam entwickelt werden später: die IP-Cores können in einen neuen FPGA übernommen werden bei einem neuen USB- oder TCP/IP Standard werden die IP-Cores aktualisiert oder erneuert Seite 6 von 10 20.04.04
TITEL Designaufgaben Figure 5: Aufgabenblöcke für die Entwicklung der Schnittstellen Seite 7 von 10 20.04.04
das passende Hardwarekonzept dazu Anforderungen EMV Störungen einsperren allgemein und wirtschaftlich einsetzbar einfach und vollständig zu prüfen Lösung: Modulkonzept mit einheitlichem Motherboard LVDS_25 I/O Signale Figure 6: Figure 7: LVDS Signale sind sicher, EMV-freundlich und erlauben hohe Datenübertragungsraten. Die DCI Funktion (digitally controlled impedance) beim Spartan 3 erfordert keine Abschlusswiderstände am FPGA. Ein- oder Ausgänge werden nicht durch die Hardware festgelegt. Figure 8: einfache Layout, da keine Widerständer erforderlich sind Seite 8 von 10 20.04.04
TITEL Motherboard Auf das Motherboard passen alle Module es hat also Steckverbinder an allen möglichen Positionen. Die Module haben je nach Größe einen oder mehr Steckverbinder. Alle Module haben den allgemeinen Steckverbinder mit den Spannungsversorgungen und den Steuer- und Statusleitungen. JTAG Spannungsversorgungen Konfig.-Signale (Jumper) Debug Signale (Done) single ended I/O Figure 9: Ein allgemeiner und 6 I/O Stecker auf dem Motherboard Das Motherboard dient als Programmier- und Prüfadapter. Mit Boundary Scan ist es möglich die Module 100% zu testen. Da es für alle Module passt, ist es wirtschaftlich auch aufwendigeretesteinrichtungen zu erstellen. Seite 9 von 10 20.04.04
Module Alle Module sollen den allgemeinen Stecker haben. Dadurch können alle Funktionen des Motherboards genutzt werden. Je nach Größe und Anforderung sind dann ein oder mehrere I/O Steckverbinder an den Standardplätzen vorhanden. Der Logikbaustein kann ein FPGA oder ein CPLD von Xilinx, Altera oder einem anderen Hersteller sein. Beispiel für Xilinx Module: nur ein CPLD für 99 Cent keine I/O Steckverbinder kleiner Sparten 3 mit einem I/O Steckverbinder Spartan 3 400 mit zwei I/O Steckverbindern Spartan 3 mit Ram und Flash-Prom VirtexII Pro mit Power PC, Ram und Flash-Prom Stoffsammlung was der Prozessor kann, kann man auch mit programmierbarer Logik es dauert nur länger, bis es fertig ist Figure 10: Motorcontroller Seite 10 von 10 20.04.04