Forum: FPGA, VHDL & Co. Dev Board für nur eine Arbeit


von Alter F. (alter_falter)


Lesenswert?

Grüßn zusammen,

Jetzt erwischt es mich doch noch.
Mein aktuelles Projektchen hat auf dem Entwurf bereits schon ein Pfund 
TTL Logik drin.
Ergo muss der alte Falter wohl auch etwas FPGA Wissen assimilieren.
Bisher bin ich noch Vollnoob bei PLD's.

Deshalb suche ich seit Tagen verzweifelt nach dem passenden Dev Board.
Vielleicht habt ihr ja noch einen letzten Tip.

Die Anforderungen bisher:

FPGA und kein CPLD
Nicht flüchtiger Konfigurationsspeicher
5V Toleranz wäre ein Plus, ist aber kein Muss
Beginnerfreundlich
Keine überladene Hardware
Günstig (wird nur 1x gebraucht)
Der Progger sollte keine 100€ kosten und auch nicht aus der Steinzeit 
sein (LPT)
Verilog Community wäre top (VHDL ist mir zu heavy für ein Projektchen)
Keine obsolete HW

Reinpassen sollte folgende Logik:
2x 10 Bit Schieberegister
2x 10 Bit Binärzähler (20+ MHz)
Ein Dutzend XNor Gatter
Eine Hand voll And Gatter und ein paar Or Gatter

Das wäre mein momentaner Favorit:
http://www.ebay.de/itm/330766876010?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

Vielleicht habt Ihr ja noch Vorschläge.
Wäre schön, wenn der Goldesel im Stall bleiben könnte :-)

Inputs welcome ...


AF

von user (Gast)


Lesenswert?

wie wäre es mit dem Board

http://www.terasic.com.tw/cgi-bin/page/archive.pl?No=593

da ist der Programmer(USB) schon dabei

von .... (Gast)


Lesenswert?

Alter Falter schrieb:
> Verilog Community wäre top (VHDL ist mir zu heavy für ein Projektchen)
> Keine obsolete HW

Hmm...ich kenne Verilog nicht. Allerdings muss man sagen, dass das 
wirklich harte an der FPGA-Synthese ja nicht die Sprache, sondern das 
darunterliegende Konzept ist. Digitaltechnik scheinst du zu beherrschen, 
aber kennst du dich auch mit einer HDL aus?

von Fritz J. (fritzjaeger)


Lesenswert?

Alter Falter schrieb:

> Mein aktuelles Projektchen hat auf dem Entwurf bereits schon ein Pfund
> TTL Logik drin.
> Ergo muss der alte Falter wohl auch etwas FPGA Wissen assimilieren.
> Bisher bin ich noch Vollnoob bei PLD's.

> Verilog Community wäre top (VHDL ist mir zu heavy für ein Projektchen)

> Reinpassen sollte folgende Logik:
> 2x 10 Bit Schieberegister
> 2x 10 Bit Binärzähler (20+ MHz)
> Ein Dutzend XNor Gatter
> Eine Hand voll And Gatter und ein paar Or Gatter


Für deine Zwecke (Modernisierung eines TTL-Grabes) ist verilog schon 
eine Nummer zu groß. Viele FPGA-Hersteller unterstützen auch 
schematic-Entry (Gatter/Logiksymbole(Counter verdrahten) oder die 
Logic-Sprachen ABEL und AHDL.
Damit solltest du dir eine menge Ärger vom Hals halten.

Wenn das Funktioniert könntest du Dir beibringen das Verhalten der 
Hardwarecomponenten in VHDL zu beschreiben (z.B. Counter). Das sollte 
dir da du ja bereits in Hardware denkst recht leicht fallen.

MfG,

von PittyJ (Gast)


Lesenswert?

Also für das, was da rein soll, ist ein FPGA fast eine Nummer zu gross.
Ausserdem braucht man bei vielen FPGAs noch einen Flash-Speicher zum 
Konfigurieren.

Warum nicht ein CPLD?

von Mario (Gast)


Lesenswert?


von Patrick (Gast)


Lesenswert?

Hallo,

nix für Ungut (und auch nicht persönlich gemeint), aber: Was soll das, 
dass manche TO's hier der Meinung sind, ihre Postings mit 
locker-flockigen Ausdrücken "aufbereiten" zu müssen? Das hinterlässt 
zumindest bei mir einen faden Beigeschmack betreffend meinen Eindruck 
über die Ernsthaftigkeit des Anliegens. Aber das nur nebenbei.

Zum Thema:

Alter Falter schrieb:
> FPGA und kein CPLD
Warum? Bzw. warum sollte ein CPLD nicht mehr ausreichen (siehe unten)?

> Nicht flüchtiger Konfigurationsspeicher
Hat so gut wie jedes Board. Bei FPGAs ist i. A. ein externes FLASH 
notwendig; CPLDs haben ein nichtvolatilen Speicher integriert.

> 5V Toleranz wäre ein Plus, ist aber kein Muss
Auch hier wären CPLDs im Vorteil; die Dinger kriegt man immer noch in 
5V-Technologie nachgeschmissen. Bei FPGAs ist mir zumindest kein 
5V-tolerantes Exemplar bekannt.

> Beginnerfreundlich
Naja... Das ist eher relativ. Wenn Du keine HDL kennst, empfehle ich 
dringendst, in Richtung CPLD und ABEL zu gehen - Die Beschreibung von 
Hardware mittels einer HDL ist ein eigenes Kapitel.

> Keine überladene Hardware
+1 für CPLD

> Günstig (wird nur 1x gebraucht)
+1 für CPLD

> Der Progger sollte keine 100€ kosten und auch nicht aus der Steinzeit
> sein (LPT)
> Verilog Community wäre top (VHDL ist mir zu heavy für ein Projektchen)
Warum? Kannst Du bereits Verilog? - Nur weil es eine entfernt an C 
angelehnte Syntax aufweist, ist es nicht unbedingt einfacher als VHDL.

> Reinpassen sollte folgende Logik:
> 2x 10 Bit Schieberegister
> 2x 10 Bit Binärzähler (20+ MHz)
> Ein Dutzend XNor Gatter
> Eine Hand voll And Gatter und ein paar Or Gatter

Warum soll sich das nicht mit einem CPLD abdecken lassen? z. B. ein 
Lattice ispLSI 1032 enthält 192 Register und 64 I/Os - das ist bereits 
viel zu viel für die vorgenannten Dinge.

von Alter F. (alter_falter)


Lesenswert?

Hallo Boys!

erstmal heissen Dank für Eure Inputs.

@Gast:
Das Terasic Board ist heiß. Leider nicht verfügbar und ich kann auf 
deren Seite kein Wort zum International Shipment finden. Hast Du da 
schon mal etwas geordert?
Mit HDL hatte ich noch nichts zu tun, komme aber von der C Seite - daher 
Verilog.

@Fritz:
Du machst mich neugierig.
Das wäre die optimale Lösung für mich. Kannst Du dazu bitte etwas 
spezifischer werden? Ich vermute dazu braucht es gute Bibliotheken.

@PittyJ:
Sicher richtig dass der FPGA overkill ist, aber CPLD sind so gut wie tot 
und was sich heute CPLD nennt ist zumeist bereits schon ein FPGA im 
Schafsgewand.

Ein Mini-FPGA wäre eigentlich ideal.
Der Knackpunkt bei der ganzen Geschichte ist schlichtweg die hohe 
Frequenz des Binärzählers (25 MHz).


Cheers

AF

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


Lesenswert?

Fritz Jaeger schrieb:
> Viele FPGA-Hersteller unterstützen auch schematic-Entry
> (Gatter/Logiksymbole, Counter verdrahten)
Und das nur sehr, sehr halbherzig. Und sobald es ein wenig komplexer 
wird, klemmt es hinten+vorne wie im 
Beitrag "kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)"
Fabian dort hat nach gerade mal 2 Wochen
1. verstanden worum es geht,  und
2. das Zeug mit VHDL gemacht

Und vor allem: wie sieht es mit der Simulation eines solchen 
Schaltplans aus?

> oder die Logic-Sprachen ABEL und AHDL.
Das ist ein absolut toter Gaul, der riecht ja schon...

Alter Falter schrieb:
> Mit HDL hatte ich noch nichts zu tun, komme aber von der C Seite - daher
> Verilog.
Genau deshalb würde ich eine komplett andere Breschreibungssprache 
wählen. Denn sonst kommst du noch auf die Idee, eine Schleife 
einzubauen, und zu meinen, die täte in Verilog das selbe wie in C.

Und vor allem: so viel anders als die Syntax von C ist auch die Syntax 
von VHDL nicht. Auf jeden Fall traue ich dir eher zu, eine VHDL 
Beschreibung vom Blatt weg zu verstehen, als eine Verilog Beschreibung. 
Denn gerade Verilog hat unglaublich viele implizite Annahmen, die 
einiges an Hintergrundwissen und Einarbeit brauchen...

von Peter (Gast)


Lesenswert?

Auch ich muss mich der schon genannten Meinung anschliessen:
=> CPLD ist genau das, was auf Deinen Anforderungen entspricht!

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


Lesenswert?

Peter schrieb:
> CPLD ist genau das, was auf Deinen Anforderungen entspricht!
Welchen Anforderungen?
Wenn in dem Design nur ein paar Zähler und ein paar Speicherregister 
vorkommen, dann ist das CPLD mit seinen wenigen Flipflops sehr schnell 
an der Grenze....

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


Lesenswert?

Alter Falter schrieb:
> Mit HDL hatte ich noch nichts zu tun, komme aber von der C Seite - daher
> Verilog.
Welche Sprache ist das da:
1
:
2
case(state_square)
3
 IDLE: begin
4
          if(control_go_square_psd==1'b1)begin
5
               control_done_square_psd_reg<=0;
6
             state_square <= COPY;
7
             
8
            end
9
          else begin state_square <= IDLE; end
10
      end
11
 COPY: begin  
12
            for(int j=0;j<process_steps;j=j+1) begin      --// copy new psd values to task
13
              new_psd_reg_task[j]<=psd[steps_offset_square+j];
14
              new_psd_reg_task_temp[j]<=psd[steps_offset_square+j];
15
          end
16
          
17
          state_square <= COPY_END;
18
      end
19
:
So richtig "C-ähnlich" würde ich das nun nicht nennen...

Und so extrem eigenartig ist VHDL nun auch nicht. Sieh dir einfach mal 
das Blinklicht an:
http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html

von Vanilla (Gast)


Lesenswert?

Alter Falter schrieb:

> Das Terasic Board ist heiß. Leider nicht verfügbar und ich kann auf
> deren Seite kein Wort zum International Shipment finden.

Mal bei Trenz reinschauen, die verkaufen auch Terasic

> Mit HDL hatte ich noch nichts zu tun, komme aber von der C Seite - daher
> Verilog.

Ganz schlechte Idee von der Sprachsyntax darauf zu schliessen dass 
Verilog einem eher liegen würde. Meist ist es zu verlockend in die 
C-Denkweise zu verfallen: Siehe die unzähligen Threads zu vermeindlichen 
Schleifen...


> @PittyJ:
> Sicher richtig dass der FPGA overkill ist, aber CPLD sind so gut wie tot
> und was sich heute CPLD nennt ist zumeist bereits schon ein FPGA im
> Schafsgewand.

Und eben drum, weil sich manch FPGAs mit internem Konfigurationsspeicher 
CPLD nennen, gilt es die Dinger auch als solche wahrzunehmen.

> Ein Mini-FPGA wäre eigentlich ideal.
> Der Knackpunkt bei der ganzen Geschichte ist schlichtweg die hohe
> Frequenz des Binärzählers (25 MHz).

Schau Dir mal die XO2 Serie von Lattice an. Modern, kleine Teile 
wirklich preisgünstig, haben Konfigurationsspeicher intern, zusätzlich 
RAM, können über JTAG und I2C programmiert werden ;) haben I2C und SPI 
bei Bedarf in Hardware an Board und die Evalboards und Software gibts 
praktisch nachgeschmissen...

Lattice bewirbt die Dinger als eine Art schweizer Taschenmesser, kein 
schlechter Vergleich...

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


Lesenswert?

Vanilla schrieb:
> Und eben drum, weil sich manch FPGAs mit internem Konfigurationsspeicher
> CPLD nennen, gilt es die Dinger auch als solche wahrzunehmen.
Immer wieder thematisiert, so auch im 
Beitrag "Re: FPGA/CPLD als DIP Bausteine"

von Alter F. (alter_falter)


Lesenswert?

Ich wollte hier keinen VHDL/Verilog oder FPGA/CPLD Glaubenskrieg vom 
Zaun brechen.
Dennoch danke ich Euch allen für die hilfreichen Tips.

@Vanilla:

Der MachXO2 sieht seeeeehr vielversprechend aus.
Bei I2C und SPI freut sich mein AVR Herz gleich doppelt.
USB Programmer an Bo(a)rd - top!
Lächerliche 23€ - juhuuuu!
http://www.msc-toolguide.com/lattice/device-family/machxo/pico-development-kit.html

Wenn ich es dann noch raffe die Soft-CPU zu nutzen, brauch ich den AVR 
gar nicht mehr dazu...

Genial - da lese ich mich jetzt mal ein.

Hat sich doch gelohnt hier mal nachzufragen ...


T H X  !  !  !

von Fritz J. (fritzjaeger)


Lesenswert?

Lothar Miller schrieb:
> Fritz Jaeger schrieb:
>> Viele FPGA-Hersteller unterstützen auch schematic-Entry
>> (Gatter/Logiksymbole, Counter verdrahten)
> Und das nur sehr, sehr halbherzig. Und sobald es ein wenig komplexer
> wird, klemmt es hinten+vorne wie im
> Beitrag "kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)"
> Fabian dort hat nach gerade mal 2 Wochen
> 1. verstanden worum es geht,  und
> 2. das Zeug mit VHDL gemacht

Der thread beschreibt die üblichen fehler die bei der Arbeit mit einen 
Computerprogramm enstehen, da ist nix schematicsentry spezifisch.

> Und vor allem: wie sieht es mit der Simulation eines solchen
> Schaltplans aus?

Wenn der Schaltplan in eine Netzliste umgewandelt wurd oder 
strukturelles VHDL ist er problemfrei simulierbar. SIMprim unisim etc 
sind dir doch geläufig, oder?

>> oder die Logic-Sprachen ABEL und AHDL.
> Das ist ein absolut toter Gaul, der riecht ja schon...

Ich schlag dem Herrn hier eine konkrete Migrationsstrategie mit 
möglichst wenig Hindernissen vor damit er schnell von TTL auf FPGA kommt 
und du argumentierst hier mit "toten gäulen" ????
Dre fängt nicht bei Null an, der hat bereits eine fertige 
Funktionierende Schaltung die er nach FPGA "konvertieren" will.

Hat er erstmal die Hürden bei der Installation der Entwicklungssoftware 
gemeistert und blinkende Hardware vor sich kann er sich der 
verfeinerung, sprich Aneignung zeitgenössischer Entwurfsmethoden widmen.

MfG,

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


Lesenswert?

Fritz Jaeger schrieb:
> Wenn der Schaltplan in eine Netzliste umgewandelt wurd oder
> strukturelles VHDL ist er problemfrei simulierbar.
Ja, und man kann auch alle Netze ganz leicht wiederfinden, die haben 
dann auch alle sinnvolle und sprechende Namen usw. usf.

> SIMprim unisim etc sind dir doch geläufig, oder?
Nein, die sind zwar bekannt, aber weit weg von "geläufig". Auf dieser 
Ebene bin ich recht selten unterwegs.

Fritz Jaeger schrieb:
> Ich schlag dem Herrn hier eine konkrete Migrationsstrategie mit
> möglichst wenig Hindernissen vor damit er schnell von TTL auf FPGA kommt
Es geht doch gar nicht um "schnell"
> und du argumentierst hier mit "toten gäulen" ????
Ja, das tu ich. Und zwar ganz bewusst. Ich konnte schon ein paar davon 
überzeugen, nicht mit der Schaltplaneingabe anzufangen, und die sind 
recht glücklich...

> Dre fängt nicht bei Null an, der hat bereits eine fertige
> Funktionierende Schaltung die er nach FPGA "konvertieren" will.
Dann fehlt nicht viel, um eine Schaltung gleich so mit VHDL oder Verilog 
zu beschreiben, dass sie funktioniert, denn das Hardware-Verständnis 
(die Hardware-Denkweise) ist da.
Und oft ist das dann nicht das einzige/letzte Projekt mit einem 
programmierbaren Baustein.

> Ich schlag dem Herrn hier eine konkrete Migrationsstrategie mit
> möglichst wenig Hindernissen vor
Darf ich auf den allerersten Post verweisen, wo alter_falter selber 
schon auf den Verilog-zug aufspringt...

von alter_falter (Gast)


Lesenswert?

@Fritz
So sieht auch mein Plan aus.
Das Funktionsprinzip und der Schaltplan existieren bereits.
Die Dev Hardware habe ich gerade bestellt (MachXO2).
Als Nächstes wird die Diamond Software installiert und die 
mitgelieferten Beispiele zerpflückt.
Dann geht es Schritt für Schritt an die Umsetzung des Schaltplans nach 
Diamond.
Wenn es mir möglich sein sollte, wird das Ganze dann simuliert.
Dann kommt das Proto Board mit dem XO drauf und damit hoffentlich die 
Freude :-)

Ich denke VHDL wird unweigerlich zu einem bestimmten Punkt dazu kommen.
Meine Grundabneigung ist eigentlich zuerst komplett VHDL o.ä. zu lernen 
um dann erst in Monaten die ersten Schritte in Hardware machen zu 
können.

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


Lesenswert?

alter_falter schrieb:
> Meine Grundabneigung ist eigentlich zuerst komplett VHDL o.ä. zu lernen
> um dann erst in Monaten die ersten Schritte in Hardware machen zu
> können.
Du kannst doch gleich auf der Hardware anfangen. Dabei lernst du am 
meisten und du musst sowieso erst mal eine LED blinken lassen, usw.
(Den Link daz hatte ich schon gepostet)
Das ist heute genau gleich wie in ein paar Monaten. Und du wirst zum 
Lernen der Schaltplaneingabe sicher nicht weniger Zeit brauchen.

> Meine Grundabneigung ist eigentlich zuerst komplett VHDL o.ä. zu lernen
Das "komplette" VHDL brauchst du sowieso niemals (auch ich werde immer 
wieder überrascht, was es da noch alles gibt). Du kommt mit den 
gängigsten Konstrukten (Logik, Zähler, Zustandsmaschinen, Arithmetik) 
garantiert durchs Leben. Also nichts, was du nicht schon kennst und 
verwendest!

Hilfreich ist das Buch VHDL-Synthese von Reichardt&Schwarz. Dort wird 
vor allem aufgezeigt, was von VHDL für die Synthese verwendet werden 
kann. Das ist zwar nach wie vor eines der besten Bücher, aber trotzdem 
sollte man nicht alles einfach ungefragt üernehmen, wie im 
Beitrag "Re: Verständnisproblem Xilinx XC9572 CPLD" angeführt.

von Dipl.-Ing. (FH) (Gast)


Lesenswert?

Cyclone II kann nur 5V und ist billig.

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


Lesenswert?

Dipl.-Ing. (FH) schrieb:
> Cyclone II kann nur 5V
Woher kommt diese Information?
Auszug aus dem Datenblatt:
VCCIO Output supply voltage min –0.5   max 4.6  V
VIN DC input voltage (3)    min –0.5   max 4.6  V
Aus http://www.altera.com/literature/hb/cyc2/cyc2_cii51005.pdf
5. DC Characteristics and Timing Specifications /  Seite 5-1


> und ist billig.
Braucht aber mehrere Spannungen (Core/IO) und schon wieder einen 
externen Konfigspeicher.

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.