Ich habe das Problem, dass ich von einem Xilinx XC9532 zu einem ispMACH4032 migrieren muss - der Kunde will es so. Für den XC9536 habe ich alles in VHDL vorliegen (top.vhd und ca. 5 Instanzen, auch als .vhd). Mit der ISE lässt sich alles wie gewohnt zu einem funktionsfähigen Schaltkreis verarbeiten. Wenn ich dieselben VHDL-Dateien nehme und versuche, diese mit ispLeverClassic 1.4 bzw. mit Synopsis zu synthetisieren, kommt regelmäßig für jede Entity die Meldung: "CD590 - instantiated entity brlshft8 (oderwasauchimmer) has not been analyzed". Die Fehlersuche gestaltet sich sehr zähe, weil das Tutorial selbstverständlich nicht zur Software passt. Das die top.vhd am ende der VHDL-File-Liste stehen muss, habe ich bereits gemerkt :-((. Hat vllt jemand einen hilfreichen Hinweis?
Hmmm, so ganz kann ich Deine Probleme nicht nachvollziehen. Man macht ein neues Projekt audf und "wirft" per "add existing File" alle VHDL Files rein, die dazu gehören. Falls es die Analyse nicht selber raus bekommt, deklariert man manuell was Top ist. Ggf. kümmert man sich noch um die Constraints, aber für's erste Übersetzten (Syntay-Check) braucht's das noch nicht. Wenn Du angemeldet wärst, hätte ich Dir mal eine PN schicken können...
Sollte ein Problem der Reihenfolge sein. Ggf die Sequenz der Bekanntmachung ändern oder das file (barrelshifter) mal raus und wieder rein. Wenn nichts hilft, einen dummie generieren und einmal einbauen. Dann txtuell drüberkopieren. Ein Glück bin ich den ISP -Mist los....
Könnte auch sein, dass "brlshft8 (oderwasauchimmer)" Zellen aus einer Xilinx Macrobibliothek (coregen etc.) sind. Die gibt es natürlich nicht von Lattice (auch nicht von Altera, Atmel ...). Da musst Du entweder etwas entsprechendes in den Lattice Bibliotheken finden oder selber nach Datenblatt nachbauen. Bedenke, die Hersteller Bibliotheken haben auch den Zweck, den Kunden an den Hersteller zu binden. Ein Umstieg soll Aufwand generieren. Deine Aversion gegen Lattice verstehe ich übrigens nicht. Ich wuesste nicht wo sie schlechter sind als die Konkurrenz, dafür oft spürbar günstiger. Aber jedem das seine ... Grüße, Charles
brlshft8 kommt wohl wirklich aus einer Xilinx-Lib, die noch aus der Schematic-Zeit hinübergerettet wurde. Da gabs ja alles mögliche von 74xxx-Replacements. In http://www.xilinx.com/itp/xilinx10/books/docs/cpld_all_scm/cpld_all_scm.pdf steht zum BRLSHFT8 "This design element is only for use in schematics.". In Unisim gibts so Zeug nicht mehr...
>"This design element is only for use in schematics.".
Da beißt aber jemand in einen ALTEN Teppich ;-)
Vielen Dank für alle Hinweise von euch. Der Barrelshifter ist nichts aus einer Xilinx- oder Lattice-Bibliothek, sondern etwas selbstgeschriebenes (ca. 20 Zeilen). Alle Instanzen durchlaufen den eigenen Syntaxcheck auch fehlerfrei und können einzeln synthesisiert werden. > Falls es die Analyse nicht > selber raus bekommt, deklariert man manuell was Top ist. Genau das funktioniert bei meiner Synopsis-Variante nicht (im Gegensatz zur ISE). Laut Lattice muss Top in der Liste unten stehen, was wiederum nur klappt, wenn ich einen Namen wie ZZZ vergebe, woduch es dann nach unten sackt. Geht aber trotzdem nicht. > >"This design element is only for use in schematics.". Nein, siehe oben. > Sollte ein Problem der Reihenfolge sein. Den Eindruck habe ich auch. Offenbar muss ich alles in einen einzigen File hineinbasteln mit der Top-Entity ganz unten.
Lösung: alles in einen File reinmanschen und beim Kopieren der Entities alle Zeilen mitnehmen.:-(( Top-Entity dann ans Ende setzen und es läuft. > Deine Aversion gegen Lattice verstehe ich übrigens nicht. Ich wuesste > nicht wo sie schlechter sind als die Konkurrenz, dafür oft spürbar > günstiger. Die Schaltkreise sind gut und preiswert, da gibt es keine Frage. Es ist nur schade, dass ispLever offenbar nur immer lustlos überarbeitet wurde und heute das Tutorial nicht mehr zur Software passt. Ich hoffe, das Diamond besser handhabbar ist, da ich bald die MachXO2 einsetzen möchte.
Bzgl. der Reihenfolge, es hängt natürlich von Deiner Gesamtstruktur ab, aber wenn Entities und Architekturen in getrennten Dateien sind, kannst Du einfach alle Entities und dann alle Architekturen einlesen. Das muesste immer klappen. VHDL schreibt nur vor, dass die "Primary Design Units" (Entities, Packages) vor den "Secondary Design Units" (Architekturen, Package Bodies) kompiliert werden muessen. Da gibt es übrigens in ispLever einen Schalter "Arrange VHDL Files", der vielleicht hilfreich sein kann. Leider nur etwas versteckt bzw. ich glaube eigentlich eine Synplify Einstellung - Selektiere den Top Level (auch wenn das einlesen bisher mit Fehlermeldungen versehen war), und zwar den HDL Top Level mit dem 'v' Ikon, nicht dem ganz oben mit dem Baustein Symbol (im Project/Modules Fenster) - Im Process Fenster erscheinen dann Hierarchy Browser, HDL Explorer, Synplify Synthesise VHDL File etc. - Selektiere eben "Synplify Synthesise VHDL File" mit der rechten Maus Taste - Ganz unten im Properties steht dann "Arrange VHDL Files". - Diese Einstellung würde ich auf 'True' stellen und anschliessend View -> Refresh Process oder View -> Analyse Hierarchy aufrufen. Kann gut sein, dass Deine Probleme danach weg sind. Wenn Du Probleme hast, verrate mir Deine Email Adresse und ich mach Dir einen Screen Shot Nur noch ein Punkt, ISE/ISIM würde ich nicht als Massstab nehmen. Das Produkt ist m.E. noch in der Entstehung. Meine bisherige Berührung deutet darauf hin, dass das Tool einen Misch-Masch aus VHDL 1993/2002/2008 akzeptiert und sogar ein Paar Konstrukte, die eigentlich gar nicht richtig sind. Ob es Projektstress oder Methode hat, damit die Kunden noch ein Grund haben an der Kette zu bleiben, möchte ich nicht beurteilen. Wo nur möglich würde ich immer einen 'Standard' Tool nehmen, Mentor, Aldec, Cadence (seltener natürlich, wegen mangelnder Verfügbarkeit) und diesen Code in dem jeweiligen FPGA Flow importieren. Die günstigste Lösung hat hier im Augenblick tatsächlich Lattice, HDL Mixed Language für circa EUR700/Jahr. Den VHDL/Verilog Code kann man generisch schreiben und beim Tool des FPGA Herstellers seiner Wahl anschliessend importieren. Charles
@ cfgardiner Vielen Dank für deine ausführlichen Hinweise! Ich habe das ausgedruckt und werde es im Januar ausprobieren. Im Moment drängelt der Kunde und es läuft erstmal. Die Lösung HDL mixed Language klingt nicht schlecht, leider drückt mir Mentor Graphics schon mit 2 k€ jährlich den Geldbeutel flach. Mit der ISE hast du recht, da ist immer noch alles sehr in Fluss. Ich habe das Ding seit Version 3 unter Beobachtung. Ich bemühe mich seit neuestem, generischen Code zu schreiben, das ist die einzige Lösung, um schnell migrieren zu können.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.