mikrocontroller.net

Forum: FPGA, VHDL & Co. Entscheidungshilfe MachXO2-7000HE/-XO3-6900C/-XO3LF-6900C


Autor: Markus W. (dl8mby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,
hallo MachXO2/3 Experten,

bei Mouser gibt es Breakoutboards mit den u.g.
CPLD's (alias pseudo FPGA's) für etwas über 20€.

IC-Entwicklungstools MachXO2 
(http://www.mouser.com/ds/2/225/MachXO2BreakoutBoar...)
IC-Entwicklungstools MachXO3L 
(http://www.mouser.com/ds/2/225/MachXO3StarterKitUs...)
IC-Entwicklungstools MachXO3LF (selber Link wie oben)

Kann mir jemand auf die Schnelle sagen, welches dieser Boards
für VHDL Spielereien mit der Daimond Entwicklungsumgebung am
besten geeignet ist.

Ich habe schon herausbekommen, dass alle o.g. Boards unterstützt
werden, mir sind jedoch noch nicht alle Feinheiten klar.

Z.B. der Unterschied zwischen der L und der LF Version beim XO3.
Laut Datenblatt steht LF für Flash Memory (mit User-Flash) und L für
NVCM (non volative config memory) aber ohne User Mem.

Laut Verfügbarkeit bei Mauser sieht es so aus, dass wohl mehr Kunden
die LF Variante wählen. Ist diese für die ersten Schritte
besser geeignet?

Der XO2 ist um knapp zwei Euro teurer, obwohl ein älteres Design.
und es sind weniger IO auf dem Board herausgeführt 114 zu 150 beim
XO3L/LF. So gesehen hat man mit dem XO3 wohl mehr Möglichkeiten.

Kann man dass so schlicht sagen, oder habe ich da was übersehen?

Als Einsatzgebiet neben dem Spielen mit der Dev-Umgebung in VHDL
schwebt mit das Testen von kleinen Displays 2.8/3.3/3.5 mit
Touchscreen im QVGA Format im SPI- und Parallelmode.

Was wäre also so Eure Empfehlung für den Einstig.

Ausschlaggebend, neben dem geringen Preis, war für mich auch, daß
die Dev-Umgebung unter Linux installiert werden kann und es zum
Spielen eine freie Lizenz gibt.


Bin auf Eure Kommentare gespannt.

Gruß
Markus

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke für Deine Belange ist das konkrete Board unerheblich. Mit 
einem SPI-Display brauchst Du auch keine 150 IO's. Es wäre schön, wenn 
Du über Deine Erfahrungen mit Diamond auf Linux berichten könntest 
(kannst ja schon mal die Installation starten...).
Ich würde da Board nehmen, wo ich an die IOs gut rankomme und wo die 
IO-Spannung meinen Vorstellungen entspricht.

Duke

Autor: Markus W. (dl8mby)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Duke,

Diamond SW ist bereits unter OpenSuse Leap 42.3 installiert
und der Programmer läuft bereits. Siehe Bilder.

Ich habe nach dem Beispiel

https://eewiki.net/download/attachments/5242943/bl...

mit dem Board MachXO2-7000HE gespielt, was ich gerade zur Verfügung
habe. Nun stellt sich mir die Frage, ob ich privat das selbe nehme
oder mir schon die MachXO3 BGA Version besorge, deshalb meine Frage
ans Forum.

Gruß
Markus

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus W. schrieb:
> Ausschlaggebend, neben dem geringen Preis, war für mich auch, daß
> die Dev-Umgebung unter Linux installiert werden kann und es zum
> Spielen eine freie Lizenz gibt.

wenn das dein wesentliches Kriterium ist, kannst Du dir auch für grob 
zwanzig € plus ein paar Kreuzer für einen China-USB-Blaster bei ebay 
einen Cyclone II holen - Quartus lässt sich ebenso auf Linux 
installieren und kost' nix (offensichtlich ist das das, was Du unter 
"frei" verstehst?).

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus F. schrieb:
> kost' nix (offensichtlich ist das das, was Du unter "frei" verstehst?).
Es ging um die Lizenz. Bei Lattice muss man nach einem Jahr eine neue 
kostenlose Lizenz holen, sonst läuft das Ding nicht mehr...

Wie lange hält die Quartus-Lizenz?

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:
> Wie lange hält die Quartus-Lizenz?

Ewig.

Wenn Du mit der Web-Edition für die Synthese allerdings mehrere Cores 
verwenden willst (empfehlenswert, sonst wird die Geduld stark 
strapaziert), musst Du Quartus "nach Hause telefonieren" lassen (ich 
betrachte das aber - zumindest für meine Designs - nicht als Problem).

Das Setup der alten Quartus Version (Cyclone II wird nur bis 13.0 
unterstützt) auf aktuellen Linuxen ist ein bißchen fummelig, aber 
durchaus machbar.

: Bearbeitet durch User
Autor: Strubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus W. schrieb:
> Laut Verfügbarkeit bei Mauser sieht es so aus, dass wohl mehr Kunden
> die LF Variante wählen. Ist diese für die ersten Schritte
> besser geeignet?

Zum Evaluieren, ja. Da schiesst du dir nicht versehentlich dein NVCM 
durch zuviele Versuche ab..

Der Vorteil vom MachXO3L*-Kit ist IMHO, dass ein SPI-Flash bestückt ist. 
Da kann man neben Bitstream noch weiteren User-Code elegant (ohne fiese 
EFB-Hacks) ablegen.

Zum Thema Linux: Alle drei Grossen im FPGA-Geschäft bieten ihre Tools 
unter Linux an. Inzwischen ist Diamond mit v3.9 auch gut für Einsteiger 
benutzbar. Auf den "outsourced" Support darf man allerdings nicht 
zählen, die verstehen jeweils die Probleme nicht.
Wen die Gängelei durch den Anbieter betr. Lizenzen nervt, kann sich auch 
alles in einen Docker-Container packen und hat mit gelegentlichen 
OS-Migrationen erst mal Ruhe.

Autor: Markus W. (dl8mby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus, Lothar,


ich muss gestehen, das ich immer mit Altera's Quartus
geliebäugelt habe. Ich habe auch ein Cyclon II/III/IV Board
irgendwo rumliegen, habe aber bei der Installation und Anwendung
des Dev-Software immer an irgend welchen Ecken Probleme gehabt,
weshalb mir schnell die Lust vergangen ist.
Mein Durchhaltevermögen ist umso kürzer, je weniger ich in der Lage
bin an einem verregneten Wochenende eine Programmier-Umgebung zum
Laufen zu bringen und die ersten Beispiele ins Board zu Laden.

Dies ging jetzt bei der Lattice Daimond IDE relativ "straight forward",
wobei ich aber bestimmt noch, bei der Komplexität, an der einen oder
anderen Stelle hängen bleiben werde.

Was mich auch bei Altera und Quartus gestört hat war auch der Umstand,
dass ich für jedes meiner Boards (meistens von Terasic) eine andere
Quartus Version installieren musste um das zugehörige Board 
anzusprechen.
Wenn ich Cyclon III programmieren konnte, klappte es nicht mit
Cyclon II oder IV oder umgekehrt.
Ich habe es nicht geschafft in der freien Version alle drei Cyclon-FPGSs
der Version II/III/IV zu programmieren.
War wohl zu naiv zu glauben, dass dies eine Freie Dev Version kann.
Jetzt nehme ich wieder einen neuen Anlauf und bin gespannt ob es klappt.

Gruß
Markus

Autor: Markus W. (dl8mby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Strubi,


klappt das dann auch mit dem Programmer aus dem
Container heraus?
Ist ja keine VM, allso bist Du schon auf der HW Ebene.
Ich kann mir damit wohl selber die Frage mit ja
beantworten.

Bleibt die Frage, wer Dir den Container baut, oder
gibt es die bei den Herstellern zum Download?

Markus

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus W. schrieb:
> Ich habe es nicht geschafft in der freien Version alle
> drei Cyclon-FPGSs der Version II/III/IV zu programmieren.

Mit der freien Version von Quartus 13.0 Sp1 geht das.

Autor: Strubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Markus,

>
> klappt das dann auch mit dem Programmer aus dem
> Container heraus?

Ja.

> Ist ja keine VM, allso bist Du schon auf der HW Ebene.
> Ich kann mir damit wohl selber die Frage mit ja
> beantworten.
>
> Bleibt die Frage, wer Dir den Container baut, oder
> gibt es die bei den Herstellern zum Download?
>

Selber bauen:

https://section5.ch/index.php/2017/01/20/669/

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus W. schrieb:
> bei Mouser gibt es Breakoutboards mit den u.g.
> CPLD's (alias pseudo FPGA's) für etwas über 20€.

Wohl eher FPGA's (alias pseudo CPLD's).
MachXO's sind richtige FPGAs die man oft auch als Ersatz für CPLDs 
verwenden kann.

Wie schon geschrieben sind alle 3 Boards etwa gleichgut verwendbar für 
deine Zwecke. Man wählt normalerweise das mit der Familie die man auch 
in einem konkreten Zielprojekt einsetzten will, was bei dir anscheinend 
nicht der Fall ist.

Interessanterweise hat Lattice in letzter Zeit einige neue MachXO2 ICs 
rausgebracht. In QFN48 und QFN32. Die Familie scheint also nicht durch 
die 3er abgelöst worden zu sein.
Der grösste Nachteile der MachXOs sind die fehlenden Multiplizierer.
Ein MachXO2 mit den DSP Blöcken und den 32kB-SPRAM Blöcken vom 
ICE40-UltraPlus wäre das nahezu perfekte FPGA für eigene SOCs.

Andi

Autor: Markus W. (dl8mby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andi,

habe ich mir auch gedacht. Z.B. für SDR Anwendungen.
Für den MachXO2 spricht, das es ihn im 144 Pin TQFP
Gehäuse gibt, so zumindest auf dem Breakaout Board.
Das kann man noch ganz gut selber löten.
Die MachXO3 gibt es hingegen in der 6900 od. 9400
Logic-Cell Variante nur im BGA Case.

So komme ich zu dem Schluß, dass wenn man nur das reine
Breakout Board für seine Projekte einsetzen will, die
MachXO3 mit mehr Anschlüssen, die auf dem PCB heraus-
geführt sind, besser geeignet sind, weil man mehr Optionen
hat. Die MachXO2 Variante ermöglicht mir das IC selber noch
auf dem eigenen PCB einzusetzen, falls gewünscht.

Übrigens Andi,
>Wohl eher FPGA's (alias pseudo CPLD's).
Der PLD Terminus wird ja direkt von Lattice in seinen
Datenblättern zu der MachXOx Familie benützt.
Anscheinend ist bei der Komplexität der heutigen PLDs
der Bereich zwischen FPGA und CPLD schon am verschwimmen.


@Josef,

> Mit der freien Version von Quartus 13.0 Sp1 geht das.
War das immer so? Ich bin mir jetzt nicht ganz sicher ob ich
bis Version 13 oder bis Version 12 unter Linux installiert
habe. Ist schon wieder über ein Jahr her. Ich weiß aber, dass
ich damals einige Versuche unternommen habe, um aus anderen
Quartus Versionen die nötigen, ich glaube bdf-Files, die in
ZIP-Archiven verfügbar waren, in das Aktuelle Quartus-Packet
einzubinden, um auch die älteren Cyclon FPGAs zu verwenden zu
können. Ist mir damals aber nicht gelungen. Die Bibliotheken mit
den spezifischen Definitionen wurden von der damals neusten Quartus II
Version (12 od. 13) nicht akzeptiert. Einen Hack dazu habe ich auch
nicht gefunden, wenn auch in Foren behauptet wurde, das man alte
Libs einbinden können soll.


Danke für Eure Ansichten und Hinweise.

Ich glaube, ich besorge mir von jedem Board ein Exemplar mit dem
LCMXO2-7000HE und dem  LCMXO3LF-6900CS FPGA (alias CPLD ;-)).
Bei dem Preis ist das im Spielbudget schon drin.

Markus

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>So komme ich zu dem Schluß, dass wenn man nur das reine
>Breakout Board für seine Projekte einsetzen will, die
>MachXO3 mit mehr Anschlüssen, die auf dem PCB heraus-
>geführt sind, besser geeignet sind, weil man mehr Optionen
>hat. Die MachXO2 Variante ermöglicht mir das IC selber noch
>auf dem eigenen PCB einzusetzen, falls gewünscht.

Ich habe das MACHX02 und es ist sehr gut, dass es so viele Anschlüsse 
hat, an die man gut mit Jumperkabel ran kommt.

Autor: Markus W. (dl8mby)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Strubi,

Danke für den sehr interessanten Link zu allerlei FPGA issues.

https://section5.ch ...

@Chris,
wie schon gesagt, bei dem MachXO3 Breakout Board hast Du noch
etwas über 30 IOs mahr herausgeführt, womit es gegenüber dem
XO2 etwas mehr Möglichkeiten bietet. Ob die etwas geringere
Anzahl von Logik-Zellen beim MachXO3 für ein Projekt das
KO Kriterium ist muss man von Fall zu Fall entscheiden.
Für das Spielen im Einsteigerbereich sind beide Variante wohl
mehr wie ausreichend. Wie schnell man dabei an die Grenzen des
Boards stößt, kann ich z.Z. Mangels Erfahrung nicht einschätzen.

Markus

PS.: Ich habe mal für das bei mir installierte Diamond 3.10 Dev-
Packet den  "Synthesis and Ngdbuild  Report" Report, sowie das
leicht Modifiziertes Blink-Beispiel angehängt. (LED5-8 leuchten
nacheinander auf). Auch die udev rule für den Programmer.
Vielleicht kann es ja jemand brauchen um sein System aufzusetzen.

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist mein "Blinky" für's MachX02:

Beitrag "Re: VHDL Grundlagen"

Autor: Markus W. (dl8mby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,

und für diejenigen, die wie ich, auch Tomaten auf den
Augen beim Suchen haben ;-)

Habe erst jetzt durch Zufall bemerkt, dass im Beitrag

Beitrag "Unterschied zwischen MachXO3L und MachXO3LF"

schon Einiges zu meiner Frage vor über einem Jahr
geposted und beantwortet wurde.

Sorry

Markus

Autor: Markus W. (dl8mby)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

falls es jemanden interessiert.
Ich habe jetzt beide Boards den
MachXO2-7000HE und den MachXO3LF-6900C
an der Daimond 3.10 Software dran und
konnte auch beide Boards programmieren.

Die Unterschiede, bzw. Gemeinsamkeiten
der beiden CPLD's alias FPGA's, die auf
den Boards verbaut sind habe ich in den
beiden JPG's dran gehängt.

Markus

PS.: Was mich noch etwas wundert, ist dass
die MachXO2 als ältere Familie mit 1.2V Core
Voltage laufen, die MachXO3 als jüngere Evolution
mit einer höheren Core Voltage von 2.5V be-
trieben werden. Kann das jemend erklären.
Warum ist man wieder zu einer höheren Spannung
zurückgekehrt? (Vielleicht, weil embedded/automotiv
Anwendungen höhere Störpegel vertragen müssen
und man auch diesen Markt im Focus hat?)

: Bearbeitet durch User
Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von der Core-Spannung bekommt man ja i.d.R. nicht viel mit (außer man 
muß sie auf dem Board noch erzeugen).
Der MachXO3 dürfte billiger sein (zumindest in der Herstellung): es 
fällt ja ein Spannungsregler weg.

Duke

Autor: Markus W. (dl8mby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Duke
> es fällt ja ein Spannungsregler weg

Der Aufwand ist doch wohl der selbe, ob ich von 3.3V auf 1.2V oder
auf 2.5V herab regle, oder habe ich da was übersehen.

Gruß
Markus

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte das so verstanden, das der auch mit einer Core-Spannung von 
2,5V bzw. 3,3V klarkommt.
Scheint aber doch eher wie beim XO2 zu sein.

Zitat aus DS1047:
C devices have an internal linear voltage regulator which supports external VCC supply voltages of 3.3 V or 2.5 V.
E devices only accept 1.2 V as the external VCC supply voltage.

Dann ist der XO3 vermutlich nur in einer kleineren Technologie als der 
XO2 gefertigt.

Duke

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Duke Scarring schrieb:
> Dann ist der XO3 vermutlich nur in einer kleineren Technologie als der
> XO2 gefertigt.

Auch das nicht, beide sind in 65nm gefertigt.

Die Unterschiede zwischen XO2 und XO3 ist sehr klein. XO3 hat schnellere 
IOs bis 900 Mbps, und Varianten mit OTP (eigentlich TTP = Two time 
programmable). Sowie konsequent nur BGA Gehäuse, was sie etwas günstiger 
macht.

Autor: Markus W. (dl8mby)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für Eure Antworten.

Soweit kann man den Thread von meiner Seite aus
schließen.

Meine weiteren Aktivitäten zu den MachXO2/3 Devices
würde ich gerne in einem neuen Thread fortführen.

Siehe Beitrag: "Universal LCD+Input Modul mit MachXO2"
Beitrag "Universal LCD+Input Modul mit MachXO2"

Markus

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andi:
Danke!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.