Forum: FPGA, VHDL & Co. Xilinx XCR22LV10 als einstieg


von Patrick W. (seennoob)


Lesenswert?

Hallo

Ich möchte mit den arbeiten von CPLDs/FPGAs anfangen. Also was braucht 
man um zB so eine Bauteil wie XCR22LV10 zu programmieren?
Ist unbedingt ein entwicklungsboard nötig ?


Ich würde mich über antworten sehr freuen

MFG Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> 22v10
Diese CPLDs sind uralt, und können mit aktuellen Tools nicht mehr 
sinnvoll beschrieben werden. Zudem ist so ein 22V10 schon teurer oder 
gleich teuer wie ein aktuelles CPLD (Coolrunner oder 9500) von Xilinx.
Für diese "neuen" CPLDs gibt es dann auch aktuelle Software kostenlos 
(Webpack).

Klick doch einfach mal auf ---> CPLD <----
oder suche in der E-Bucht mal nach Xilinx.
Da gibt alles zum loslegen für unter 20 Euro, und der Vorteil dabei:
Du weißt schon mal, dass die Hardware tut.

von Patrick W. (seennoob)


Lesenswert?

denn 22V10 bekomm ich um 2,10€

Ich werd mal meine suche auf die Bucht werfen.

Danke.

MFG Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick Weinberger wrote:
> denn 22V10 bekomm ich um 2,10€
Aber aktueller wird er dadurch nicht  ;-)

Bei Reichelts Angelika gibts den  XC 9572XL PC44 für 3 Euronen.
Der hat immerhin schon 72 FFs und nicht nur 10.

von Patrick W. (seennoob)


Lesenswert?

naja in der Bucht liegt zur Zeit kein Entwicklungsboard mit JTAG und 
allem. Wieviel kostet sowas den neu ?

MFG Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?


von Patrick W. (seennoob)


Lesenswert?

Ich hätt jetzt noch eine Frage bezüglich der Taktfrequenz eines solchen 
CPLD Chips. Was für Taktfrequenzen sind den effektiv möglich ?

MFG Patrick

von Falk B. (falk)


Lesenswert?

@  Patrick Weinberger (seennoob)

>CPLD Chips. Was für Taktfrequenzen sind den effektiv möglich ?

Einfache Logik mit einer Logikebene.

200MHz

Komplexere Sachen mit mehreren Logikebenen. Die Hälfte oder weniger.

MFG
Falk

von Patrick W. (seennoob)


Lesenswert?

Danke Falk

von Patrick W. (seennoob)


Lesenswert?

Was ich noch nicht verstehe was ist eine Makrozelle ?
Kann man eigentlich in so CPLDs µC synthetisieren ?

MFG Patrick

von Christian R. (supachris)


Lesenswert?

Eine Makrozelle ist in wesentlichen ein FlipFlop. Und bissl Logik 
drumherum. Beim PLD zumindest. Einen µC kann man aufgrund der begrenzten 
Anzahl Makrozellen wohl kaum da rein bekommen. Bei FPGAs ist das 
allerdings üblich

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick Weinberger wrote:
> Kann man eigentlich in so CPLDs µC synthetisieren ?
Achtung:
du machst damit einen sehr großen Schritt vom GAL 22V10 zu FPGAs.

Teil das mal leichter in mehrere kleine Schritte auf:
- EVAL-Board kaufen (am besten gleich FPGA,
  fertig aufgebaut, damit die Hardware schon mal funktioniert)

- VHDL lernen und verstehen (oder von mir aus auch Verilog,
  aber mit VHDL bekommst du hier [in Europa] leichter Unterstützung)

- Dann das "Hello World" der Hardware basteln: ein Lauflicht

- Dann den Prozessorcore implementieren
  (Hier dürften dann die Blumen schon wieder blühen)

von Morin (Gast)


Lesenswert?

> Was ich noch nicht verstehe was ist eine Makrozelle ?

Im Wesentlichen eine Boolesche Funktion (PLA-ähnlich) und optional ein 
Flipflop am Ausgang. Die Funktion kann relativ viele Eingänge haben (ich 
meine mich an 50 oder so zu erinnern).

> Kann man eigentlich in so CPLDs µC synthetisieren ?

Kleine µC ja, z.B. Picoblaze. Macht aber nur in Ausnahmefällen Sinn, 
weil sonst nicht mehr viel ins CPLD reingeht und man dann auch gleich 
einen fertigen µC nehmen könnte. In FPGAs wird sowas aber oft gemacht 
("Softcore").

von Patrick W. (seennoob)


Lesenswert?

Naja meine vorgehensweise is mal ein billiges CPLD evalboard in der 
Bucht zu bekommen. Dann mal etwas mein wissen an VHDL ausbauen die 
üblichen sachen eben wie Lauflicht, PWM usw (zu aller anfang ein LED zum 
leuchten bringen). Wenn ich echt an den Grenzen gestossen bin kommt dann 
ne FPGA evalboard


MFG Patrick

P.S.: Wieviele Makrozellen hat so ein FPGA ?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick Weinberger wrote:
> P.S.: Wieviele Makrozellen hat so ein FPGA ?
Die Architektur von FPGAs ist deutlich unterschiedlich zu der von CPLDs.
Ich zitiere mich selbst:
Beitrag "Re: Umstieg von FPGA auf CPLD"

von Morin (Gast)


Lesenswert?

> Wenn ich echt an den Grenzen gestossen bin kommt dann ne FPGA evalboard

Würde ich so nur empfehlen, wenn du das CPLD Evalboard deutlich billiger 
bekommst. Ansonsten lieber gleich ein FPGA Evalboard, da entsteht dir ja 
kein Nachteil wenn du die Features nicht ausnutzt.

> P.S.: Wieviele Makrozellen hat so ein FPGA ?

Keine. FPGAs benutzen eine etwas andere Architektur als CPLDs. Grob 
gesagt sind die Booleschen Funktionen sehr viel "kleiner", nämlich mit 
max. 4, 5 oder 6 Eingängen je nach FPGA. Dafür kann man aber mehrere 
davon kaskadieren (passiert automatisch im Synthesetool) um größere 
Funktionen zu bauen und hat sehr viel mehr Flipflops. Die Programmierung 
funktioniert aber genauso (VHDL), die Unterschiede sieht man nur in der 
"Größe" und im Timing.

Außerdem sind im FPGA fast immer sogenannte "Hard-Cores" eingebaut, also 
Hardwaremodule die eigentlich nichts mit der FPGA-Technik zu tun haben, 
aber bestimme Funktionen effizienter und Platzsparender ausführen. 
Beispiele: Clock-Generatoren, RAMs, Multiplizierer, Netzwerk-PHYs oder 
sogar ganze PowerPC-Prozessoren. Welche Hardcores und wieviele drin sind 
hängt vom konkreten FPGA ab.

von Patrick W. (seennoob)


Lesenswert?

Naja zwischen FPGA board und CPLD Board liegen so 100€ mindestens :-(

MFG Patrick

von Patrick W. (seennoob)


Lesenswert?


von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick Weinberger wrote:
> Ich was sagt ihr den zu diesem Board ?
http://cgi.ebay.at/Altium-LiveDesign-Evaluation-Kit-Evaluation-Board-FPGA_W0QQitemZ130272983544QQcmdZViewItemQQptZSoftware?hash=item130272983544&_trksid=p3286.c0.m14&_trkparms=72%3A1229|66%3A2|65%3A12|39%3A1|240%3A1318
> MFG Patrick
Die gabs vor zwei Jahren als Gewinn auf den entsprechenden Messen oder 
für 99$ zu kaufen. Das Ding ist mit dem WebPack von Xilinx programierbar 
und soweit OK. Das Hauptproblem ist aber, dass kein Konfig-Speicher mit 
drauf ist. Also muß bei jedem Power-Up die Konfiguration über den PC neu 
geladen werden. Für die Entwicklung ok, für Musteraufbauten schon 
nervig...

von Patrick W. (seennoob)


Lesenswert?

Das bekommt man schon um 99$ wow und der schreibt was von 115€
Manchmal ist die Bucht echt faszinierend

MFG Patrick

von Patrick W. (seennoob)


Lesenswert?

Welcher FPGA ist da nun drin ?

von Patrick W. (seennoob)


Lesenswert?

Hat sich erledigt mit dem Board wurde leider überboten

Weiß wer was zu den Boards von Digilent ?

MFG Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick Weinberger wrote:
> Das bekommt man schon um 99$ wow und der schreibt was von 115€
> Manchmal ist die Bucht echt faszinierend
> MFG Patrick
Ja gut, das kann schon sein, wenn du den Dollarkurs vor 2 Jahren 
ansiehst, dazu dann noch den Versand, den Zoll und die Mehrwertsteuer 
rechnest...

Digilent ist immer vorn dabei, wenn es um Entwicklungsboards für Xilinx 
geht (ich habe auch 2 Stück von denen). Die sind ganz ok  ;-)

von Patrick W. (seennoob)


Lesenswert?

Wie ist beim versand bei Digilent ?

MFG Patrick

von Patrick W. (seennoob)


Lesenswert?

ok hab mein Board aus der Bucht leider ohne JTAG Schnittstelle
http://cgi.ebay.at/ws/eBayISAPI.dll?ViewItem&item=120341921920&_trksid=p3907.m32&_trkparms=tab%3DWatching

Welche JTAG-Schnittstelle sollte ich mir am besten kaufen für ein
ilinx Starter-Board mit XC3S400
Spartan-3 FPGA DS-BD-3SxLC-PQ208 von Memec-Design

Ich hoff ich hab nix falsches gekauft !

Schon mal danke für eure hilfe.

MFG Patrick

von Christian R. (supachris)


Lesenswert?

Im Prinzip tuts der Nachbau des alten Parallel Cable z.B. Ebay 
140287985781 wenn du etwas mehr Geld ausgeben willst, ist ein 
USB-Programmer natürlich besser. Der kostet aber etwa 150 Euro netto.

von Patrick W. (seennoob)


Lesenswert?

Naja ich wurde eh schon vom Verkäufer aufgeklärt aber danke Christian.
Schönen Abend/Morgen noch

MFG Patrick

von Patrick W. (seennoob)


Lesenswert?

Was kann man eigentlich mit einem XC3S400 so machen ? Also nen kleinen 
µC integrieren sicher aber wo liegen bei dem Modell die grenzen?

MFG Patrick

von Morin (Gast)


Lesenswert?

> Also nen kleinen µC integrieren sicher aber wo liegen bei dem Modell die 
grenzen?

Nehmen wir als Beispiel mal den Picoblaze-µC: 8-Bit Controller, RISC, 
Registersatz 16 x 8bit, interner Speicher 64 x 8bit, 8 bit I/O Port, 
Interruptfähig, Arithmetik und Logik, kein Multiplizierer oder andere 
"höhere" Funktionen. Benötigt ein Block-RAM fürs Programm (1024 Befehle) 
und ca. 100 Slices für Logik und Flipflops.

Der XC3S400 hat 896 (sagen wir 900) CLBs (das vierfache an Slices) und 
16 Block-RAMS. Man kann also darin bis zu 16 solcher Microcontroller 
plus Logik drumrum bauen (wobei es schon echt schwer wird, wenn man an 
die Grenzen geht, aber 10 sollten problemlos gehen).

von Morin (Gast)


Lesenswert?

Fortsetzung: Der XC3S400 hat 16 Multiplizierer-Hard-Cores (je zwei 
Eingänge à 18 Bits, Ausgang 36 Bits), welche man mit den Prozessoren 
verbinden kann. Man hätte dann also so eine Art 
Multiplizierer-Koprozessor.

Taktfrequenzen gehen bis zum theoretischen Maximum von (IIRC) 200 Mhz, 
praktisch machbar sind um die 50 MHz.

Du kannst also mit diesem Chip durchaus einen kompletten Rechner älterer 
Bauart "nachbauen" und dadurch verstehen - machen auch viele. Auf lange 
Zeit wird die größere Einschränkung darin liegen, was an Peripherie auf 
dem Evalboard drauf ist. Wenn dir der Lötkolben nicht fremd ist, kannst 
du aber auch da Sachen dranbauen.

von Patrick W. (seennoob)


Lesenswert?

Naja so ein optimierter 10 Kern µC wär schon ganz ok. Wieviel braucht so 
ein 32bit µC Kern ?

MFG Patrick

von Falk B. (falk)


Lesenswert?

@ Morin (Gast)

>Taktfrequenzen gehen bis zum theoretischen Maximum von (IIRC) 200 Mhz,
>praktisch machbar sind um die 50 MHz.

Solche Aussagen sind schlicht für die Tonne. Ohne Randbedingungen kann 
man da nämlich SEHR wenig sagen. UND Saprtan 3 schafft mehr als 200 MHz 
wenn man will und weiß wie es geht.

@  Patrick Weinberger (seennoob)

>Naja so ein optimierter 10 Kern µC wär schon ganz ok. Wieviel braucht so
>ein 32bit µC Kern ?

Der Microblaze braucht IIRC ~1100 Slices. Der 400er hat ca. 1800 Slices 
(CLBs * 2)

MFG
Falk

von Patrick W. (seennoob)


Lesenswert?

http://www.xilinx.com/publications/matrix/spartan_color.pdf

Naja da steht das die FPGA CLBs = Slices * 2

MFG Patrick

von Morin (Gast)


Lesenswert?

Falk:
> Solche Aussagen sind schlicht für die Tonne. Ohne Randbedingungen kann
> man da nämlich SEHR wenig sagen.

Das ist mir völlig klar. Patrick wollte aber eine Aussage haben, ohne 
dass er Randbedingungen nennen kann. Und meine Erfahrung bis jetzt ist 
halt, dass man beim Spartan-3 ohne großen Aufwand 50 MHz bekommen kann. 
100 MHz ist schon weitaus schwerer, darüber ist es eine Aufgabe für 
Profis. Bedenke, dass Patrick ein Anfänger ist, der (wahrscheinlich) 
noch wenig bis nichts über die Tricks zum Hochtakten weiß.

> UND Saprtan 3 schafft mehr als 200 MHz wenn man will und weiß wie es geht.

Mein Fehler. Ich meinte mich an eine max. Frequenz von 180 MHz laut 
Datenblatt zu erinnern, lag aber falsch damit.

Patrick:
> Naja da steht das die FPGA CLBs = Slices * 2

Hm seh ich jetzt nichts drüber. Die Zahlen in den Tabellen sagen 4 für 
den S-3 und S-3L und ca. 2.7 für den S-3E. Da schaust du am besten im 
Datenblatt zu deinem konkreten Chip nach.

Was nach wie vor gilt: Der Picoblaze braucht 1 Block-RAM und ca. 100 
Slices.

von Christian R. (supachris)


Lesenswert?

Falk Brunner wrote:

>>Naja so ein optimierter 10 Kern µC wär schon ganz ok. Wieviel braucht so
>>ein 32bit µC Kern ?
>
> Der Microblaze braucht IIRC ~1100 Slices. Der 400er hat ca. 1800 Slices
> (CLBs * 2)

Dummerweise ist das ja noch nicht alles. Die Peripherie-Baugruppen 
fressen auch jede Menge Slices. Wenn ich allein daran denke, was der 
DMA-Controller MPMC auf dem Virtex 4 braucht....

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

@  Patrick Weinberger (seennoob)
> ... wo liegen bei dem Modell die grenzen?
Du siehst, sogar die Profis kommen ins Schwärmen, wenns um uC im FPGA 
geht ;-)

Du wirst vorerst (noch) keinen Core auf dem FPGA implementieren. Was du 
brauchst, ist ein halbwegs verständliches Buch, in dem FPGA-Design 
praxisnah beschrieben ist. Das einzige, das sich hier für mich bewährt 
hat ist "VHDL-Synthese" von Reichardt/Schwarz ISBN 3486581929

von Patrick W. (seennoob)


Lesenswert?

Naja das mitdem Lernstoff hab ich schon abgelärt. Jetzt fehlt nur noch 
das Board.
Naja ich werd mir zu Anfang mal mit einfachen Boolischen Sachen 
beschäftigen und dann erst kommt so ein µC Kern

MFG Patrick

von Falk B. (falk)


Lesenswert?

@  Morin (Gast)

>halt, dass man beim Spartan-3 ohne großen Aufwand 50 MHz bekommen kann.

Das ist ein vollkommen andere Aussage als

"Taktfrequenzen gehen bis zum theoretischen Maximum von (IIRC) 200 Mhz,
praktisch machbar sind um die 50 MHz."

>Was nach wie vor gilt: Der Picoblaze braucht 1 Block-RAM und ca. 100
>Slices.

Und ist ein geniales Teil!

MFG
Falk

von Morin (Gast)


Lesenswert?

> Das ist ein vollkommen andere Aussage als
>
> "Taktfrequenzen gehen bis zum theoretischen Maximum von (IIRC) 200 Mhz,
> praktisch machbar sind um die 50 MHz."

Die 200 MHz waren wie gesagt ein Irrtum. Was die 50 MHz angeht, so 
sollte jeder der den Thread liest inzwischen verstehen, wie sie gemeint 
waren.

von Patrick W. (seennoob)


Lesenswert?

Ich hätte jetzt noch eine Frage wie lange dauert es bis so ein FPGA nach 
einem Kaltstart betriebsbereit ist ?

MFG Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Kommt auf die Konfigurationsart an.
Ein Spartan X3S400 mit seriellem Konfig-PROM etwa (gefühlte) 300-500ms.
Du kannst das auch ausrechnen: mit Konfig-Takt und Bitstrom-Länge.
Parallel geht es schneller, allerdings ist dafür einiges an Aufwand 
nötig.

von Falk B. (falk)


Lesenswert?

@ Lothar Miller (lkmiller)

>Kommt auf die Konfigurationsart an.

In der Tat.

Der XC3S400 hat 1,699,136 Bits Konfigurationsspeicher. 
Standardeinstellung ist 4 MHz beim Master Serial Mode, macht also ~0,4s 
Konfigurationsszeit. Man kann den Takt aber bis auf 20 (?) MHz 
hochdrehen, macht dann ~0,1s. Theoretisch schafft das FPGA bis zu 66 MHz 
bei einer externen Taktquelle (Slave Serial Mode).

>Parallel geht es schneller, allerdings ist dafür einiges an Aufwand
>nötig.

???
Einfach die 8 Leitungen  anklemmen und gut. Ist nicht komplizierter als 
seriell.

MFG
Falk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Einfach die 8 Leitungen  anklemmen und gut.
> Ist nicht komplizierter als seriell.
Autsch, das parallele Platform-Flash habe ich übersehen   :-o
Hier der Link:
http://www.xilinx.com/products/design_resources/config_sol/s3/config_s3e.htm#field

von Patrick W. (seennoob)


Lesenswert?

Also man schließt ein einfaches ROM an und von dem werden dann die Daten 
in den RAM des FPGA's übertragen?

MFG Patrick

von Falk B. (falk)


Lesenswert?

@  Patrick Weinberger (seennoob)

>Also man schließt ein einfaches ROM an und von dem werden dann die Daten
>in den RAM des FPGA's übertragen?

JAIN. Es sind spezielle PROMs. 0815 Dinger gehen nicht, weil die anders 
angesteuert werden. Es gibt bei Spartan 3 aber mittlerweile auch die 
Möglichkeit, normale SPI-Flash Bausteine zu verwenden.

MFg
Falk

von Patrick W. (seennoob)


Lesenswert?

Der spezielle ROM ist sicher wieder verdammt teuer. Ich hab mal gelesen 
das einige einfach einen µC verwenden zum konfigurieren der FPGA. Ist 
dann also die LOW COST Variante oder hat dies andere Gründe ?

MFG Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Es gibt bei Spartan 3 aber mittlerweile auch die
> Möglichkeit, normale SPI-Flash Bausteine zu verwenden.
Oder du nimmst dann gleich die Spartan 3 AN (Nonvolatile), die haben das 
Prom schon eingebaut.

> Ich hab mal gelesen das einige einfach einen µC verwenden
> zum konfigurieren der FPGA.
Das mit dem uC ist auch so eine Sache. Wenn du schon einen hast, und 
viel speicher dazu, dann geht das schon. Du brauchst auf jeden Fall den 
Speicher (200kByte) für den Bitstrom, dann eine Software, die das ins 
FPGA reinprügelt.

> Ist dann also die LOW COST Variante oder hat dies andere Gründe ?
Nein, das ist nur praktisch wenn du sowieso z.B. eine SD-Karte im 
System hast, und darauf die FPGA-Konfiguration mit abgespeichert wird. 
Bei einem software-Update gibts dann die Möglichkeit, gleich auch die 
Hardware zu aktualisieren.

von Patrick W. (seennoob)


Lesenswert?

Ok mein Board is das und hat jemand mal vorschläge für den Anfang
Also leichte Beispiele mit dem man die FPGA kennenlernt ?

MFG Patrick

von Gast (Gast)


Lesenswert?

Kommt drauf an, was das Board drauf hat.
Lern für den Anfang einen Großteil von dem was drauf ist anzusteuern. 
Also LEDs blinken lassen, Tasterreaktion, dann Speicher usw.

von Patrick W. (seennoob)


Lesenswert?

Hallo alle

Ich wollt fragen muss man sich für das ISE WebPack wirklich auf 
Xilinx.com Registrieren?
Oder ist auch anders zu bekommen ?

MFG Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Ich wollt fragen muss man sich für das ISE WebPack wirklich auf
> Xilinx.com Registrieren?
Soweit ich das die letzten Jahre beobachtet habe, hat Xilinx das Wort 
"SPAM" nicht erfunden. Mit der Registrierung hast du zudem Zugang zu 
weiteren Bereichen der HP von Xilinx.

> Oder ist auch anders zu bekommen ?
Du könntest es als DVD bestellen, nur musst du dann auch deine Daten 
angeben. Und dann sogar Bank- oder Kreditkarten-Daten  :-(

von Patrick W. (seennoob)


Lesenswert?

Das Problem liegt darin dass ich nicht wieder eine Scheinfirma oder so 
gründen will :-(

MFG Patrick

von Patrick W. (seennoob)


Lesenswert?

Hallo

Kennt wer ein gutes Tutorial für VHDL und Xilinx ISE ? Ich hab mir das 
heute etwas angeschaut und hab echt null Ahnung. Weiß nicht einmal wo 
ich Anfangen soll. Könntet ihr mir vielleicht ein paar Tipps geben ?

MFG Patrick

von Falk B. (falk)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.