Die EC/ECP-FPGA-Familie von Lattice Semiconductor ist für den kostensensitiven Massenmarkt konzipiert Die Schotten-FPGAs

Neben den FPGA-Familien am oberen Ende der Leistungsskala, die natürlich auch zu einem höheren Preis verkauft werden, haben die führenden Hersteller von FPGAs auch abgespeckte Familien auf den Markt gebracht, die günstig genug für den Massenmarkt sein sollen. Nun bietet auch Lattice Bausteine für diesen kostensensitiven Markt an. Was die Bausteine der Familien EC und ECP können, verdeutlicht dieser Artikel.

Die EC/ECP-FPGA-Familie von Lattice Semiconductor ist für den kostensensitiven Massenmarkt konzipiert

Neben den FPGA-Familien am oberen Ende der Leistungsskala, die natürlich auch zu einem höheren Preis verkauft werden, haben die führenden Hersteller von FPGAs auch abgespeckte Familien auf den Markt gebracht, die günstig genug für den Massenmarkt sein sollen. Nun bietet auch Lattice Bausteine für diesen kostensensitiven Markt an. Was die Bausteine der Familien EC und ECP können, verdeutlicht dieser Artikel.

Die beiden neuen „Low-Cost“-FPGA-Familien EC (Economy) und ECP (Economy Plus) von Lattice Semiconductor werden in einem 0,13-µm-Prozess bei Fujitsu gefertigt. Bei Lattice hat man sich im Gegensatz zu Wettbewerbern entschieden, auf einen reiferen Fertigungsprozess zu setzen, da bekanntermaßen bei 90-nm-Prozesstechnik anfänglich die Ausbeute nicht so hoch war und aufgrund von Leckströmen der Ruhestrom erheblich höher liegt – von den Maskenkosten ganz zu schweigen. Den Vorteil einer geringeren Chipfläche bei 90 nm hat Lattice dadurch kompensiert, dass man bei gleicher LUT-Anzahl (Look-up Table) eine vergleichbare Siliziumfläche in 130 nm erzielt wie Mitwettbewerber in 90 nm. Damit lassen sich die EC/ECP-Bausteine ebenfalls kostengünstig anbieten. Durch den Einsatz der ausgereiften 130-nm-Prozesstechnik konnte man in kurzer Zeit Muster ausliefern und die Massenproduktion aufnehmen. So waren bereits bei der ersten Vorstellung dieser neuen FPGA-Familie Muster des 20K-LUT-Bausteins verfügbar. Drei Monate später wurde dieser Baustein in die Massenproduktion überführt. Für alle anderen Bausteine sind derzeit Muster verfügbar, die Massenproduktion läuft im ersten Quartal 2005 an.

Oft haben Low-Cost-FPGAs den schlechten Ruf, dass sie zu Tode optimiert wurden und nur eingeschränkt für hochwertige Schaltungen taugen. So sind schnelle DDR-Speicher-Ansteuerungen (Double Data Rate) mit herkömmlichen Low-Cost-FPGAs nur sehr schwer zu realisieren und erreichen meist nicht die gewünschte Geschwindigkeit.

Auch an den Standard-I/Os wird gespart, so dass heute noch verbreitete 3,3-V-Interfaces nur mit Tricks implementierbar sind, und an 5-V-Schnittstellen ist nicht einmal zu denken. Weiterhin wird teilweise auch bei der internen Logik kein Speicher angeboten, der über LUTs realisiert werden kann. Dieser würde aber bei vielen Designs die effiziente Ausnutzung des Bausteins steigern. Ein weiteres Thema sind auch die Boot-Speicher, die erhöhte Systemkosten verursachen können, soweit die FPGAs nicht über Prozessoren gebootet werden.

Interne Logikstruktur

Die interne Logik basiert auf „Look-up Tables“ (LUT). Jeder LUT ist ein Register zugewiesen. Zwei dieser LUTs mit Registern wurden zu einem Slice zusammengefasst. Vier Slices ergeben eine PFU (Programmable Function Unit). Die LUTs sind über eine „Carry-Chain“-Logik untereinander verbunden, um effiziente und schnelle arithmetische Logik wie Addierer, Subtrahierer, Multiplizierer, Zähler usw. zu implementieren (Bild 1). Wie sich diese PFUs konfigurieren lassen, ist in Tabelle 1 zusammengefasst.

Aus Tabelle 1 lässt sich entnehmen, dass die Logik auch in der Lage ist, Speicherfunktionen zu realisieren. Dazu gehören ROM- und RAM-Funktionen. Dies erleichtert bei vielen Designs eine effiziente Nutzung der FPGA-Logik. Will man z.B. kleine Datenmengen zwischenspeichern, muss man nicht auf die dedizierten Speicherblöcke zugreifen. Es genügt, diese Speicherzellen in den LUTs zu realisieren.

Diese Zusatzfunktion benötigt etwas mehr Siliziumfläche, was die Chipfläche insgesamt vergrößert. Deshalb wurde nicht jede PFU in die Lage versetzt, diese Speicherfunktionen zu erfüllen. Interne Untersuchungen und Gespräche mit Kunden haben ergeben, dass es sinnvoll ist, 25 % der PFU-Blöcke mit dieser Funktion auszustatten. Dies ist für die meisten Designs völlig ausreichend. Bei höherer Auslastung der internen Logik als Speicher ist die Effizienz in Frage gestellt. Werden 50 % der Logik als Speicher in einem Design benötigt, sollte man sich überlegen, ob es nicht sinnvoll ist, diese Daten in externen Speichern zu verwalten. Dies wäre wesentlich kostengünstiger. Im Umkehrschluss macht es aber keinen Sinn, diese Funktion ganz aus dem FPGA zu eliminieren, da für kleine Zwischenspeicher nicht immer ein großer dedizierter Speicherblock benutzt werden kann.