Forum: FPGA, VHDL & Co. FPGA mit internem Flash


von Martin (Gast)


Lesenswert?

Hallo Leute!

Vor Kurzem habe ich mir ein FPGA-Board von XILINX bestellt.
Auf dem Board befindet sich der XC4VFX12.

Als ich das Board genauer betrachtete, erkannte ich, dass sich
zusätzlich externes Flash und externes RAM auf dem Board befinden.

So wie ich das verstanden habe, wird das Programm in das Flash geladen.
Nach einem Power-Up wird nun dieses Flash ins RAM geladen und
ausgeführt.

Wenn man nun selbst ein kleines Board mit einem FPGA entwerfen möchte,
benötigt man ein Menge an externen Bauteilen, wie z.B. externes Flash,
RAM, mehrere Betriebsspannungen usw. Durch die externen
Speicherbausteine nimmt auch die Störsicherheit ab.

Gibt es FPGA-Bausteine, die wie Mikrocontroller schon Flash und RAM
soweit integriert haben, dass man fast keine externen Bauteile mehr
benötigt?

Danke für eure Hilfe.

Tschüss.

Martin

von Jörn (Gast)


Lesenswert?

Die MAX II Serie von Altera ist eine Mischung aus CPLD und FPGA. FPGA
ähnlicher Aufbau, aber die Programmierung wird im Chip gespeichert.

Wie wäre es mit einer Kombination aus FPGA und seriellem Flash?

Ansonsten mal bei Lattice vorbei schauen. Ich meine die hätten nicht
flüchtige FPGAs im Programm.

Gruß Jörn

von Martin (Gast)


Lesenswert?

Sieht ganz toll aus.
Worin liegt der Unterschied zwischen einem FPGA und einem CPLD?
Worin liegen hier die Vorteile oder Nachteile?

Kann man beide Typen mittels VHDL programmieren?

Danke für eure Antworten.

Tschüss
Martin

von Henning (Gast)


Lesenswert?

Hallo,

also wenn ich das richtig sehe (ich beschäftige mich auch gerade
intensiver mit der sache) dann kannst du beide in VHDL programmieren.

CPLDs bestehen im prinzip aus mehreren PALs, die über eine
Steuereinheit miteinander verbunden sind. CPLDs ermöglichen nur relativ
wenige komplexe logikverknüpfungen, wohingegen FPGAs deutlich mehr platz
zur verfügungen haben.
bei FPGAs ist es nicht möglich eine konkrete aussage über den
zeitlichen verlauf zu machen, da intern mehre kleine logikeinheiten
miteinander verbuunden werden, so dass es durch die laufzeiten zwischen
den einheiten zu verzögerungen kommen kann. bei CPLDs sind diese zeiten
hingegen konkret vorrauszusagen.

das solls von mir und meine gerade angelesenen wissensstand gewesen
sein, vielleicht hats ja ein wenig geholfen.
gruß

von Stefan Schmidt (Gast)


Lesenswert?

Hallo Martin!

Vielleicht wäre ja ein FPSLIC-Board von Atmel das richtige für dich:
http://www.atmel.com/products/FPSLIC/
bzw. http://www.atmel.com/dyn/resources/prod_documents/1138S.pdf

In dem verwendeten Chip sind FPGA, Microcontroller, RAM, Flash - also
alles auf einmal - drin und die Komponenten sind auch recht flexibel
kombinierbar. Zu der Enticklungsplatine gehört auch eine umfangreiche
Entwicklungssoftware, wobei die VHDL-Entwicklungsumgebung nur für ein
halbes Jahr freigeschalten wird. Die hohen Kosten entfallen also zum
allergrößten Teil auf die Software - die eigentliche Hardware sollte
nicht sehr teuer sein, obwohl ich nicht weiß, ob diese einzel
erhältlich ist...

MfG, Stefan

von antti (Gast)


Lesenswert?

das einzige fpga mit internen flash sind die FUSION FPGAs from Actel,
habe mit gerade ein starterkit bestellt.

ADC, 256KByte user flash, CMOS drivers, +-12V analog input, nur eine
spannung 3.3V was kann man noch wunschen

Antti

von Salvatore (Gast)


Lesenswert?

"bei FPGAs ist es nicht möglich eine konkrete aussage über den
zeitlichen verlauf zu machen,"

Klar kann man das! Man muss nur die Schaltung hardwareorientiert
aufbauen. Wenn man natürlich nur HDL formuliert und dem Compiler nichts
"contrained", dann optimiert der wie er will. Die Substrukturen und
Realisationsformen hat mnan dann eben nicht in der Hand.

Letztlich ist der Freiheitsgrad der FPGAs aber genau der Vorteil, der
hier genutz wird!

von Zhomas (Gast)


Lesenswert?

Lattice hat ebenfalls fpgas mit Flash onchip.....

Gruß Thomas

von Antti (Gast)


Lesenswert?

lattice, altera und actel haben FPGAs mit configuration in Flash

aber der Actel FUSION ist das einzige der user programable flash fur sw
zwecke integirert hat

antti

von Martin (Gast)


Lesenswert?

Hallo!

Danke für eure großartigen Antworten und Hilfen.
Ich stehe bei VHDL gerade noch am Anfang.
Mir erscheint diese Sprache sehr viel umfangreicher, als
z.B. C. Auch ist das mit den sequenziellen und parallelen
Abläufen nicht ganz so einfach.

Ich weiß, dass man mit VHDL ganze Prozessorkerne integrieren kann.
Dies spielt aber mit großer Sicherheit in einer ganz anderen
Liega.

Kann man aber mit gewöhnlichem VHDL z.B. eine Gerätesteuerung
aufbauen,
für die normalerweise die Mikrocontroller so gut geeignet sind?

Wenn man jetzt ein und dasselbe Projekt einmal mit einem FPGA und
einmal mit einem Mikrocontroller realisieren würde, würde man hier wenn
man einen FPGA hernimmt länger für die Programmierung brauchen?

Das Projekt würde z.B. bestehen aus:
Schrittmotoren sollten angesteuert, also getaktet werden.
Dann soll mal mit float-Werten herumgerechnet werden.
Eine serielle Kommunikation soll bestehen.
Ein LCD soll angesteuert werden.
Auf ensprechende Taster soll das Gerät mit LCD-Ausgaben oder drehen der
Schrittmotoren reagieren.

Ist so ein Projekt mit einem FPGA ebensoeinfach zu realisieren oder
nicht?
Wo liegen die Grenzen von VHDL?
FPGAs müssen ja auch Nachteile haben - Ist für so eine Steuerung
ein µC besser geeignet oder ist das Ganze mit µCern viel schneller
realisiert?

Danke Tschüss.
Martin

von Xenu (Gast)


Lesenswert?

>Mir erscheint diese Sprache sehr viel umfangreicher, als
>z.B. C. Auch ist das mit den sequenziellen und parallelen
>Abläufen nicht ganz so einfach.

VHDL ist keine "Programmiersprache", sondern eine
Hardwarebeschreibungssprache. D.h. Du beschreibst digitale Schaltungen
mit Hilfe von Text. In einem FPGA oder CPLD laufen keine Programme ab,
sondern der VHDL-Code wird in eine Konfigurationsdatei umgewandelt, die
den FPGA dann so konfiguriert, daß er sich (hoffentlich) so verhält, wie

Du die digitale Schaltung in VHDL beschrieben hast.
Wenn Du vernünftigen VHDL-Code schreiben willst, musst Du Ahnung von
Digitaldesign haben. Wenn Du das hast, ist VHDL (und z.B. auch Verilog)
ziemlich einfach.

>Kann man aber mit gewöhnlichem VHDL z.B. eine Gerätesteuerung
>aufbauen, für die normalerweise die Mikrocontroller so gut geeignet
>sind?

Können schon, aber machen würde ich es nicht.
Alles was man mit Mikrocontroller hinbekommt, würde ich auch mit ihnen
realisieren. FPGAs nehme ich, wenn ich Geschwindigkeit brauche.

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.