Synplify Pro vs. Lattice LSE – gibt's einen Vergleich?

OP Moderator Persönliche Seite #6262249
Lesenswert?
• ▲
▼
Wenn ich in Lattice Radiant ein neues Projekt anlege, werde ich gefragt, 
ob ich für die Synthese Synplify Pro oder Lattice LSE benutzen möchte.

Wenn ich könnte, würde ich hier wohl mit "42" antworten … gibt's 
irgendwo einen Vergleich, warum bzw. wofür man das eine oder das andere 
Tool benutzen sollte?
(Firma: www.elpra.de) Persönliche Seite #6262380
Lesenswert?
• ▲
▼
Das kann man leider nicht pauschal beantworten.

Der normale Design Flow ist, dass man Constraints hat (z.B. Timings oder 
verfuegbare Ressourcen wie Logic Slices) und dann verschiedene 
Strategien durchprobiert. Ein davon ist z.B. ds man das eine oder das 
andere Tool einsetzt und hinterher vergleicht.

Hier ein bisschen Lesestoff zu Lattices LSE:

https://www.latticesemi.com/en/Products/DesignSoftwareAndIP/FPGAandLDS/LatticeDiamond/LatticeSynthesisEngine

Pauschal wuerde ich bei Lattice immer versuchen LSE zu verwenden und nur 
auf Synplify umsteigen, wenn ich meine Ziele mit LSE nicht geschafft 
habe.

Aehnliches Problem hat man ja auch z.B. wenn ich waehlen muss zwischen 
GCC und LLVM. Sind auch zwei verschiedene Tools, mit zwei verschiedenen 
Technologien, die die gleiche Blackbox erzeugen. Das Ergebnis wird aber 
keinesfalls identisch sein.

Kleiner Nachtrag:
Ein Anwendungsfall kann auch sein wenn ich Tool spezifische Features 
benoetige. Dann bin ich mit Synplify vll. besser bedient, wenn ich z.B. 
mein Design auf andere FPGA Hersteller portieren moechte. Was Synplify 
da jetzt alles in der Werkzeugkiste bereit haelt, kann ich allerdings 
nicht sagen. War nie ein Synplify Nutzer.
OP Moderator Persönliche Seite #6262495
Lesenswert?
• ▲
▼
Danke, klingt plausibel.

Dass man bei Lattice vielleicht erstmal bei LSE bleibt, hätte ich auch 
so gemacht, ist bei einem neuen Projekt auch voreingestellt.

Die Portierbarkeits-Idee hat natürlich was, wenngleich weit jenseits 
dessen, wo ich mich da derzeit bewege. Außerdem benutze ich schon sowas 
wie deren embedded RAM, weil es mir sinnvoll erscheint, nicht dafür 
sackweise normale Flipflops zu verplempern. Wäre natürlich die Frage, ob 
ein Tool wie Synplify ggf. erkennen könnte, dass man einen RAM zusammen 
definiert hat und dafür dann auch die vorgefertigten RAM-Blöcke 
synthetisieren würde.
#6262579
Lesenswert?
• ▲
▼
Jörg W. schrieb:
> Wäre natürlich die Frage, ob
> ein Tool wie Synplify ggf. erkennen könnte, dass man einen RAM zusammen
> definiert hat und dafür dann auch die vorgefertigten RAM-Blöcke
> synthetisieren würde.

Das sollten alle Tools können. Nicht alle BlockRAMs können alle Features 
die RAMs so haben könnten, also klappt das nicht immer. Gute Tools geben 
dann Bescheid wieso sie jetzt genau doch kein BlockRAM gemapped haben.

Tobias B. schrieb:
> Pauschal wuerde ich bei Lattice immer versuchen LSE zu verwenden und nur
> auf Synplify umsteigen, wenn ich meine Ziele mit LSE nicht geschafft
> habe.

Warnung, LSE hatte ich 2013 zuletzt ausprobiert!

Klingt im Prinzip nachvollziehbar. Klappt nach meiner Erfahrung auch 
sehr gut, da LSE wesentlich langsamere Designs erzeugt als Synplify.

Ich arbeite sehr gerne mit Synplify, gerade auch weil er sehr viele 
Logmessages generiert und diverse Möglichkeiten bietet sein Design 
anzuguken und zu analysieren. Braucht natürlich auch Einarbeitung aber 
die lohnt sich, habe viel über VHDL/FPGAs gelernt zusammen mit diesem 
Tool.

Synplify spezifische Sachen verwende ich wegen der Portierbarkeit aus 
Prinzip nicht. Lattice und Microship liefern Synplify Lizenzen mit, 
sobald ich auf Xilinx/Intel portieren müsste, würde es verdammt teuer 
werden.
Moderator (Firma: Titel) Persönliche Seite #6262689
Lesenswert?
• ▲
▼
Jörg W. schrieb:
> Wäre natürlich die Frage, ob ein Tool wie Synplify ggf. erkennen könnte,
> dass man einen RAM zusammen definiert hat und dafür dann auch die
> vorgefertigten RAM-Blöcke synthetisieren würde.
Das kommt drauf an, wie generisch das RAM beschrieben wurde. Aber ich 
verwende gern möglichst hardwarenahe Templates für solche Hardware, die 
der Synthesizer sicher als die entsprechende Hardware erkennt. Da drauf 
kommt dann ein Wrapper, der nur "übliche" Signale ins Design weitergibt.

Tobias B. schrieb:
> Pauschal wuerde ich bei Lattice immer versuchen LSE zu verwenden und nur
> auf Synplify umsteigen, wenn ich meine Ziele mit LSE nicht geschafft habe.
So ein Umstieg war bis vor kurzer Zeit schon bei sowas Einfachem wie 
z.B. Initialwerte nötig. Synplify konnte das, die LSE nicht. Deshalb 
verwende ich der Einfachheit halber gleich den Synopsys Synthesizer.
OP Moderator Persönliche Seite #6262856
Lesenswert?
• ▲
▼
Lothar M. schrieb:
> Da drauf kommt dann ein Wrapper, der nur "übliche" Signale ins Design
> weitergibt.

Diese allgegenwärtigen Wrappers haben mich schon gewundert, als ich 
früher bei Atmel mal in ein Design eins unserer ICs geguckt habe. Beim 
Programmieren würde man nicht einfach nur so Hierarchieebenen hinzufügen 
wollen, aber bei einer HDL sind das natürlich letztlich nur Drähte, die 
praktisch nichts kosten.
Gast #6263063
Lesenswert?
• ▲
▼
Jörg W. schrieb:
> Wenn ich könnte, würde ich hier wohl mit "42" antworten
Das ist nach meiner Erfahrung die richtige Antwort.

pro LSE:
- lässt sich leichter verskripten
- startet gefühlt etwas schneller
- braucht die Timing-Constraints nicht in tcl-Syntax

pro Synplify:
- optimiert tendenziell etwas besser
- synthetisiert gefühlt etwas schneller
- schöne grafische Darstellung des synthetisierten Codes (dafür Synplify 
manuell starten)

Die Initialwerte wurden schon genannt, aber ich glaube das funktioniert 
inzwischen.

Nachteil von Beiden: es gibt Konstrukte die mit Xilinx-ISE (und 
ModelSim) problemlos gehen, hier aber Probleme machen...

Sei es ein Tristate-Buffer, der write-only ist (MISO hochohmig, wenn CS 
nicht aktiv ist) oder ein Schieberegister, was in dem einen Tool von MSB 
nach LSB ausgibt und im anderen von LSB nach MSB...

Der Support ist lausig und hat mein Problem gar nicht als solches 
erkannt, aber das bin ich schon von Xilinx gewohnt :-/
(Der Support von Mentor ist da die rühmliche Ausnahme!)

Duke

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.