Hat das schon jemand gemacht? Wie ist die toolchain und gibt es
rudimentäre IP Cores frei? Wie performen die bei DSP Anwendungen wo
viele multiplizieren gebraucht werden?
Milo R. schrieb:> Hat das schon jemand gemacht?
Ich nicht, wir hatten damals direkt mit Lattice begonnen.
> Wie ist die toolchain
Diamond ist ganz OK, tut sein Ding und Synplify sowieso.
Mit Reveal (ChipScope äquivalent) hatte ich damals (2014) die
Einschränkung, dass er kein VHDL2008 konnte. Weiss nicht ob das jetzt
besser ist.
>und gibt es rudimentäre IP Cores frei?
Ja. Wie immer muss etwas Glück dabei sein, dass die IP cores die es vom
FPGA Hersteller gibt, zu deiner Anwendung passen.
> Wie performen die bei DSP Anwendungen wo viele multiplizieren gebraucht werden?
Das musst du austesten.
Es gibt so viele Details die hier hineinspielen.
Z. B. was die DSP Blöcke können und was dein Algorithmus davon nutzt
(Vektorbreite, Pre-Adder, Carry Logik damit breitere Vektoren schnell
sind etc.), Eingesetzte Technologie (90 nm, 14 nm), ...
Was auch einen ziemlichen Unterschied macht ist, das Xilinx 6-input LUTs
nutzt und fasst alle anderen klassische 4-input LUTs. Ich sehe da vor
allem bei breiteren Vektoren starke Performance unterschiede (Macht ja
auch Sinn, da weniger 6-input LUTs auch weniger Routing brauchen).
Milo R. schrieb:> Hat das schon jemand gemacht?
Ja.
> Wie ist die toolchain
Ähnlich wie die alte ISE. Haben ja auch die gleichen Wurzeln (NeoCad,
1990-1995).
> und gibt es rudimentäre IP Cores frei?
Ich meide IP Cores, wo es nur geht...
Duke
Christoph Z. schrieb:> Mit Reveal (ChipScope äquivalent) hatte ich damals (2014) die> Einschränkung, dass er kein VHDL2008 konnte. Weiss nicht ob das jetzt> besser ist.
So super sauber läuft die Toolchain mit VHDL2008 bei Diamond nicht.
Synthese soweit ok, aber Modelsim macht Probleme beim Start. Zu Reveal
habe ich keine aktuelle Aussage.
Ansonsten nutze ich Xilinx, Intel und Lattice. Diamond macht sein Ding,
aber die Fehlermeldungen finde ich manchmal mehr als dürftig. Alles
fühlt sich dort etwas "roher" an. Auch finde ich, einen Timing-Report
hat man in Xilinx inklusiver Schematic Darstellungen viel schneller
erfasst.
Radiant ist ja der Nachfolger von Diamond. Es ist moderner, aber
Begeisterung habe ich zumindest noch nicht gehört.
Von der Benutzerfreundlichkeit sehe ich es so:
Xilinx > Intel >> Lattice
Trotzdem ist Lattice eine empfehlenswert für kostengünstige, verfügbare
FPGAs. Für Einsteiger nicht unbedingt geeignet. Kleine Designs oder
ausgereifte Designs sind empfehlenswert. Entwicklung, insbesondere
SoC-Systeme, würde ich lieber auf einer Xilinx-Plattform vorziehen.
Milo R. schrieb:> Wie ist die toolchain und gibt es> rudimentäre IP Cores frei?
Wenn du CoreGen gewohnt bist: wird bei Lattice etwas anders verwaltet,
aber es gibt fuer Zielanwendungen in der Vision-Nische eine Menge guter
Refdesigns, allerdings: In Verilog.
> Wie performen die bei DSP Anwendungen wo> viele multiplizieren gebraucht werden?
Ziemlich aehnlich zu Xilinx, aber auch hier gilt wieder: alles recht
verilog-zentrisch. Wenn du noch von der ISE her den zwar die
verscrambelten aber simulierbaren VHDL-Modelle gewoehnt bist, die sich
gerade noch mit OpenSource-VHDL-Only Setups verifizieren lassen:
Fehlanzeige bei Lattice, eine Menge von wichtigen Primitiven liegen bei
neueren Kaefern nur in Verilog vor und konvertieren relativ
eingeschraenkt nur nach VHDL (`iverilog -tvhdl`).
Wo ich in die Sackgasse gerannt bin: VHDL-Designs die unter ISE
wunderbar synthetisieren schmissen obskure Fehlermeldungen in der
Lattice Synthesis Engine. Kein Problem wiederum mit Synplify.
Dann gibt's noch einen groesseren Unterschied beim TDP-Design, da sollte
man tunlichst bei Lattice mit einem Zyklus mehr Latenz (Registered
output) rechnen, das kann u.U. bei exotischen CPU-Designs ein
Showstopper (deutlich eingeschraenkte f_max) werden.
Mit yosys wieder macht alles wieder eine Menge Spass auf ECP5. Wenn man
auf timing-getriebene Optimierung verzichten kann, faellt so einiges an
Aerger weg und synthetisiert fuer nicht allzu komplexe Projekte deutlich
flotter, aber ist auch eher was fuer Leute, die den Tools in die
Innereien gucken wollen (muessen).
Wo man wohl in Zukunft vermehrt mit rechnen muss: VHDL2008-Support
bleibt murksig und der Fokus auf Verilog. Dasselbe gilt aber auch fuer
andere Hersteller.
Dass es mehrere Tools für verschiedene FPGAs bei Lattice gibt, ist etwas
komisch.
Für einen Großteil der FPGAs der ice40-Serie gibt es das Tool icecube2,
welches recht simpel aufgebaut ist und dadurch recht schnell zu erlernen
ist.
Bevor man umsteigt, sollte man sich die Verfügbarkeit angucken.
Ein Kurzrecherche bei Mouser ergibt:
(jeweils 'In Stock' vs. 'gelistet')
Gowin: 36 von 375
Intel: 31 von 1543
Lattice: 45 von 2556
Microchip: 75 von 4812
Xilinx: 164 von 2576
Duke
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