FPGA Frage...

Das Schicksal hat mir gerade ueberraschend ein Testboard mit einem FPGA zugeworfen. Xikinx XC3S100E, also etwa 100k Gatter.

Kann mir mal einer eine ungefaehre Vorstellung geben was da so reinpasst? Also z.b ein ganzer Microcontroller oder nur ein USB Baustein, also das man einen Eindruck bekommt was sich damit realisieren laesst.

Olaf

Reply to
olaf
Loading thread data ...

Anzahl Gatter ist eher Marketing. Wichtig sind die Anzahl LUTs oder LEs. Davon hat der XC3S100E 2.160. Meine Forth CPU (

formatting link
) braucht z.B. 491 LUTs vom Spartan3E, inklusive ein paar IOs. Für mein I2C Slave (
formatting link
) werden 249 LUTs gebraucht. Unte
formatting link
findest du auch einige Angaben zu anderen Entities. Eine kleine CPU, plus USB Low-Level Funktionen, sollten damit ohne Problem möglich sein.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

snipped-for-privacy@criseis.ruhr.de schrieb:

Mal so als Vergleich: ein AVR-core hat 4000 Gatter.

- Henry

--
www.ehydra.dyndns.info
Reply to
Henry Kiefer

Das bringt eigentlich einen ja auf interessante Gedanken. Hat schonmal jemand was bekanntes, muss nicht unbedingt AVR sein, nachprogrammiert? Ich meine damit man spaeter den gcc nutzen kann?

Olaf

Reply to
olaf

Das sagt aber nichts darüber aus, wieviel in ein FPGA mit 100k Gatter reinpasst, da der FPGA mehrere Gatter braucht, um ein konventionelles Gatter rekonfigurierbar zu implementieren. Außerdem gibt es fest verdrahtete Elemente, wie Speicher, Multiplizierer usw., je nach FPGA Typ. Daher ist auch besser, die Anzahl Logikelemente (LEs, LUTs) zu verwenden, die meist eine Lookup-Tabellen haben, mit mehreren Eingängen und Ausgängen sowie ein paar anderen Funktionen fürs Routing usw. Je nachdem wie gut man es optimieren kann, können mehrere konventionelle Gatter in ein LUT synthetisiert werden, gemittelt über alle LUTs, und Mutliplikation z.B. braucht nicht einzeln aus Gattern zusammengebaut zu werden, sodaß ein AVR Core wohl noch in den XC3S100E reinpassen würde, aber viel Platz bliebe dann wohl nicht mehr.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Das ist schon klar. Halt eine grobe Hausnummer.

- Henry

--
www.ehydra.dyndns.info
Reply to
Henry Kiefer

Henry Kiefer schrieb: (...)

Hm. Was soll aber dann Deine "Antwort", dass ein AVR 4000 Gatter hat auf die Frage, was man mit einem FPGA mit 100.000 Gatterfunktionen realisieren kann aussagen? Wenn Dir das wirklich klar ist, dann haette Dir auch klein sein muessen dass die Aussagekraft Deiner Antwort dissbezueglich absolut Null ist.

Reply to
Martin Peters

Martin Peters schrieb:

Die Aussagekraft in Bezug auf FPGA und CPLD ist immer kaufmännischer Natur.

- Henry

--
www.ehydra.dyndns.info
Reply to
Henry Kiefer

Wenn schon Spartan oder Virtex, dann nimm doch den Microblaze, gcc included.

Gruß, Gerhard

Reply to
Gerhard Hoffmann

In article , Gerhard Hoffmann writes: |> Wenn schon Spartan oder Virtex, dann nimm doch den |> Microblaze, gcc included.

Der Microblaze ist zwar erstaunlich klein, für den erwähnten 3S100E aber dann schon grenzwertig. Hilft ja nichts, wenn nur die CPU reinpasst... Der Microblaze ist eher was für >500, in einem 3S1600E liegt er so bei ca 10%.

--
         Georg Acher, acher@in.tum.de
         http://www.lrr.in.tum.de/~acher
         "Oh no, not again !" The bowl of petunias
Reply to
Georg Acher

Noe, das Teil ist ja erstmal so wie es ist ein Geschenk und ich wollte mich sowieso erstmal generell mit VHDL/Verilog beschaeftigen. Da steht momentan keine bestimmte Projektidee hinter. Aber es hat mich halt so interessiert was machbar ist.

Olaf

Reply to
olaf

Einfach mal bei OpenCores nachschauen. AVR:

formatting link

Weiß aber nicht, ob das in den Spartan passt und du müsstest es wohl ein wenig anpassen, da es für Altera geschrieben ist.

Ein recht ausgereiftes System mit Videogenerator usw. ist das System09, was ich auch schon auf dem Spartan habe laufen sehen:

formatting link

Da gibt es auch einige C Compiler für.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Ein kleiner Microcontroller mit etwas Peripherie. Kommt aber auch sehr auf den Codingstyle an, manche Sachen passen halt besonders gut auf die interne Struktur des FPGAs, andere besonders schlecht. Die 100k Gatter sind Marketing, damit kannst du hauptsächlich die Größenverhältnisse innerhalb der Spartan3 Serie abschätzen. Für viele Anwendungen nicht unwichtig sind die internen Blockrams. Der XC3S100E hat 4 x 18kbit Dualport Ramblöcke. Falls du keinen externen Speicher verwenden willst, müssen also Daten und Programm dort reinpassen.

Jan

Reply to
Jan Lucas

Was ?, also ein XC5VFX200T oder ein XC5VSX240T ist nicht auf dem Board, also taugts nix, es ist kompletter Schrott.

Ja, müder Witz. Dein XC3S100E ist auch schick. Schaun wir doch mal im Datenbuch, was er zu bieten hat:

- 1920 LE's, also 4-input Luts+Flipflop.

Mit einer 4Lut kann man beliebige Gatterfunktionen mit 4 Inputs realisieren, (also auch solche, die es in 74xx nicht gibt z.B. 4input inverter oder

4input buffer...harhar,) aber ernsthat z.B. 4fach Nand oder 4fach Xor, oder komplexere Gleichungen. Im grossen und ganzen entspricht es einem PAL4V1, also einer PLD Macrozelle mit 4 Eingängen und einem Ausgang, wahlweise mit oder ohne Register.

Die Hälfte der Luts kann auch als 16x1 oder 32x1 ram oder als 16x1 dualported ram genutzt werden. Zu allem Überfluss kann diese Hälfte als SRL16 auch als 1-16bit Schieberegister verwendet werden.

Carry chains und zusätzliche Multiplexer sind überdies auch da, und man wird auf sie nicht verzichten wollen, deshalb multipliziert Xilinx seine LE's mit zusätzlichen 12,5%, gibt also 2160 statt 1920 Luts an. Marketing rulez.

Es ist fast überflüssig zu erwähnen, dass die Verdrahtung auf dem Chip (mit ordentlichen Routing Ressourcen) es erlaubt, fast alle Luts, Flipflops und Sonstiges beliebig zu verschalten, und dabei Taktraten bis zu 70Mhz (ohne Stress) und über 100MHz (mit Hirnschmalz) zu erzielen sind.

- 4 Blockrams. Ähem. Wattehattedudeda ? Die internen Blockrams sind ganz normale RAM speicher (naja synchron halt), die als ROM genutzt werden können (extrem kompliziert, man muss WE auf 0 setzen !) und haben je 18kBit, und können mit der Konfiguration initialisiert werden. D.h. nach dem Einschalten und der erfolgreichen Konfiguration des FPGA's steht das Gewünschte im Blockram. Das Verhältnis von Adressen zu Daten kann dabei frei gewählt werden:

0,5kx36,1kx18,0,5kx9 etc. Sowas gabs als Einzelchip noch nie. Kein darandenken. Und die Zugriffszeit ab steigender Clock: 2,35ns !!! Achja, Dualported geht auch. Mann ist das gut.

- 4 18x18 Multiplizierer Dazu kann man eigentlich nur sagen, dass es Xilinx leider noch nicht geschafft hat, mit Überlichtgeschwindigkeit zu multiplizieren. Echt schwach. Buh! Nur 4,88ns.

2 DCM's Clock Manager mit einer Vielzahl von Möglichkeiten, Wobei beim Stepping0 des Chips noch jede Menge Fehler drin waren.

- Bis zu 108 I/O's Die I/O's sind ein Kapitel für sich, es gibt Input, Output und Tristate Flipflops. Die Slewrate, die Ausgangstreiberleistung und Pullups/Pulldowns lassen sich programmieren. Etc,etc.

- Die FPGA's haben ein JTAG Interface mit UserChain, d.h. man kann das Interface für eigene Anwendungen benutzen, und z.B. Daten mit dem PC über das Downloadkabel austauschen.

Ach, und die Entwicklungssoftware ist kostenlos. Webpack macht Verilog und VHDL. Der Xilinx ModelSim (ja, der kostenlose) kann 10000 Zeilen ohne merkliche Geschwindigkeitseinbussen, da kann man ne Menge damit machen, ein geiles Tool !

Und die Dokumentation ist excellent! Hier das NEUE Datenblatt: (JA!, den XC3S500E gibts jetzt auch im Hundertpoligen! ,JAU !!!)

formatting link

das UserManual, einfach klasse:

formatting link

Und das Konfigurationshandbuch:

formatting link

Und die ganzen excellenten Applikation notes, etc.,etc., die Welt ist schöner geworden seit dem 7400.

MIKE PS: Guter TIPPP: (1 P ist Reserve)

formatting link
Incl. Board, USB JTAG Kabel in ROT!, und EDK, also Microblaze, z.B. hier: (VORSICHT SCLAICHWERBUNG)
formatting link

--
www.oho-elektronik.de
OHO-Elektronik
Michael Randelzhofer
FPGA und CPLD Mini Module
Klein aber oho !
Kontakt:
Tel: 08131 339230
Usst.ID: DE130097310
Reply to
M.Randelzhofer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.