Forum: FPGA, VHDL & Co. Mit CoreGen generierte Cores in ModelSim simulieren


von Ratsucher (Gast)


Lesenswert?

Ich habe ein synthesefähiges Design, das einige CoreGen-Produkte 
benutzt. Ich will nur Teile des Designs in ModelSim durchgehen. Leider 
meckert ModelSim bei bestimmten VHDLs immer wieder über die fehlende 
Xilinx CoreLib. Wo leigt die genau und wie binde ich die ein?  (ModelSim 
SE)

von Klaus Falser (Gast)


Lesenswert?

Da hat der Junge ModelSim SE um 10000 € und weiss nicht, wie man damit 
umgeht?

Im Xilinx Installationsverzeichnis gibt es einen Ordner 
vhdl/src/CoreLib, da liegen die Quellen.
Außerdem gibt es das Programm (oder script) compxlib, das die Libraries 
compiliert.

von Lori (Gast)


Lesenswert?

Ist das beim SE denn anders, als beim XE und warum? Sinn?

von Klaus Falser (Gast)


Lesenswert?

Für dem XE gibt es vorcompilierte Libraries die man herunterladen kann.

Das hängt damit zusammen, daß der XE (Starter) eine Bremse eingebaut 
hat.
Ab einer gewissen Anzahl Programmzeilen (ohne Kommentare usw.) wird die 
Geschwindigkeit verringert.
Bei den von Xilinx vorkompilierten Libraries zählt jeder Core nur wie 
eine Zeile, wenn man die Libraries aber selber kompiliert dann zählt 
jeder Core so viele Zeilen wie enthalten.
Die Grenze, ab der die Simulation gebremst wird, wird im letzten Fall 
viel schneller erreicht.

Beim Original SE von Mentor gibt es diese Bremse nicht.

von Klaus Falser (Gast)


Lesenswert?

Der Sinn dahinter ist der unterschiedliche Preis der Produkte.

von Ratsucher (Gast)


Lesenswert?

@Klaus Falser

>Im Xilinx Installationsverzeichnis gibt es einen Ordner
>vhdl/src/CoreLib, da liegen die Quellen.

Tja, den Ordner gibt es bei mir offenbar nicht. Ich habe nur 
"C:\Modeltech_6.2f\vhdl_src" gefunden und dort ist weit und breit nichts 
von "Corelib" o.ä. zu erspähen. Wo bekommt man das her?

Muss das extra installiert werden?

von kfalser@durst.it (Gast)


Lesenswert?

Nicht im Modeltech Ordner, im Xilinx Ordner.

von Ratsucher (Gast)


Lesenswert?

"C:\Xilinx\vhdl\src\XilinxCoreLib" ok, da sind die Quellen. Undm wie 
baue ich die nun ein? Alle pauschal ins work compilieren und die 
benötigte ins Projekt ziehen ?

von na (Gast)


Lesenswert?

Normalerweise sollten diese Quellen automatisch von ModelSim benutzt 
werden.
Eine mögliche Fehlerquelle wäre ein fehlendes Update von ModelSim, 
welches die fehlenden Corelibs enthält. Gibt es auf der Xilinx-Seite, 
simulationlibraries update und corelib update für modelsim.

von na (Gast)


Lesenswert?

Allerdings für ModelSim XE.

von Ratsucher (Gast)


Lesenswert?

Für XE gibt es die precompiled Libs, die ich auch schon genutzt habe 
(mit XE selbstredend). Die Vorgehensweise ist mir auch klar. XE kann ich 
aber nicht verwenden, da er viel zu langsam wird für die RAM-Simulatonen 
(und den Rest, der immer größer wird).

Mein Problem: Wie mache ich jetzt dem SE klar, wo und wie er die libs 
findet und nutzt? Ich habe das früher schonmal unter Linux gemacht: Man 
muss die Libraries in eine lib compilieren, diese referenzieren (mit 
map) oder so. Das ganze ging damals (vor 3J) von der commandline unter 
Unix per script aus, mit dynamischem start des vsim.

Ich arbeite aber inzwischen mit der Windowsversion über GUI und 
Projekten und da ist nichts zu finden, wie das geht. Die Hilfe-PDf von 
Mentro haben den Namen nicht verdient: unter "compile library" kommen 
Null Einträge.

Was ich gemacht habe: Ein eigene lib angelegt und versucht, dort per 
Hand die Sourcen reinzucompiliere. Das hat für einige geklappt, bei 
anderen jammert er wieder nach der core lib.

>Außerdem gibt es das Programm (oder script) compxlib, das die
>Libraries compiliert.

Ja, das habe ich angeworfen, es verlangt aber Paramter, die ich nicht zu 
setzen weiss. (??????)

von Klaus F. (kfalser)


Lesenswert?

Schon mal bei Xilinx gesucht?
http://www.xilinx.com/xlnx/xil_ans_display.jsp?BV_UseBVCookie=yes&getPagePath=15338

Wenn Du schreibst bei welchen Parametern Du dich nicht auskennst, kann 
hier jemand vielleicht helfen.

von Ratsucher (Gast)


Lesenswert?

Ja, die Note kenne ich natürlich, daber dort steht bei der 
Vorgehensweise GUI, man solle das richtige Device unter " Sources in 
Project Window" auswählen. Dort stehen aber VHDLs und keine 
Xilinx-FGPA-Nummern. (???)

Genau genommen, hat man ja zunächst gar kein Projekt offen, daher fehlt 
ja auch das tab "Sources".




von Ratsucher (Gast)


Angehängte Dateien:

Lesenswert?

Nach langem Wühlen (xlinx verweist auf synthesis.pdf, dieses im Teil der 
angeblichen Behandlung des Themas direkt weiter auf ISE-Help) habe ich 
nun den Punkt gefunden, allerdings ist wieder unklar, was bei den 
settings einzutragen ist!

Egal was ich einstelle, es kommt immer der Hinweis von Xilnix-ISe, daß 
er nicht für den Xilinx-Sim compilieren kann, sondern nur für modelsim.

Was muss man dort einstellen?

von Klaus Falser (Gast)


Lesenswert?

CompXLib.exe kann man von der Kommandozeile aufrufen.
Öffne ein DOS-Fenster, erzeuge ein Verzeichnis, wo Du die Libraries 
hingeben willst.
Gehe ins Verzeichnis und rufe compxlib auf. Du erhälts eine Help-Seite 
mit Commandos.
compxlib -help list gibt Hilfe zu den Optionen.

Beispiel:
compxlib -l vhdl -s mti_se -arch fpga -lib xilinxcorelib

Du wirst die xilinxcorelib, unisim, simprim Libraries compilieren 
müssen.

Diese Libraries kannst Du dann in ModelSim einbinden (oder über die 
XilinxGUI, das kenne ich nicht so genau).
Bei ModelSim bindet man die Library unter Project setting sein, "Add 
Library" . Dabei gibt man den symbolischen Namen an, und den Pfad auf 
das Verzeichnis, wo die kompilierten units liegen.

Klaus

von alex (Gast)


Lesenswert?

Hallo,

aus reiner Neugier, im Xilinx ISE gibt es, wenn ich das richtig sehe, 
einen eigenen Simulator. Warum sollte man auf ModelSim umsteigen? Ist 
das nicht irgendwie zu kompliziert, bei dem einen vorkompilieren, bei 
dem anderen nicht, da Vezeichnispfade einstellen, hier ein Skript 
aufrufen plus zig Parameter nicht vergessen...

von Klaus F. (kfalser)


Lesenswert?

@Alex
Erstens ist der Xilinx-Simulator schlecht und bei der Bedienung über die 
GUI weiss man nie was gerade passiert und was gerade simuliert wird.
Das geht vielleicht bei kleineren Projekten.

Bei richtigen Projekten arbeitet man am Anfang sowieso nicht mit der 
Xilinx-Oberfläche, sondern nur mit Editor und Simulator, und zwar mit 
einem richtigen Simulator.
Dabei braucht es oft auch gar keine graphische Darstelleung der Signale, 
sondern man arbeitet mit (vielen) Testbenches, welche am Ende an der 
Console "Test passed/not  passed" ausgeben.

Wenn man einmal verstanden hat, wie das mit den Libraries funktioniert, 
dann ist das auch gar nicht kompliziert.
Dafür ist man dann auch sicher, daß man das richtige simuliert.

von Sebastian (Gast)


Lesenswert?

Du must unter den Projektoptionen einstellen das Du als Simulator 
Modelsim verwenden willst, sonst benutzt Du immer den Xilinx Simulator. 
Deshalb kommt auch diese Fehlermeldung "daß
er nicht für den Xilinx-Sim compilieren kann, sondern nur für modelsim."


Grüsse

Sebastian

von Luzifair (Gast)


Lesenswert?

>Bei richtigen Projekten
Was sind denn "richtige" Projekte?

"sowieso nicht mit der Xilinx-Oberfläche"
Ist das verboten?

"sondern nur mit Editor und Simulator"
Ein unbewiesenes Dogma!

"und zwar mit einem richtigen Simulator"
Was sind denn "richtiger" Simulator?

von J. S. (engineer) Benutzerseite


Lesenswert?

Du musst in der GUI unter den Projekt-Properties (passend zum gewählten 
Baustein, vergl ANleitung) zunächst auf den anderen Simulator (hier PE, 
bei Dir wohl SE) umstellen. Die Settings unter dem eigentlichen 
Compilationsknopf müssen nicht geändert werden. Frag mich aber nicht, 
warum das so angeordnet ist. Dies ist eben die Xilinx-Logik: Man 
verstecke alles hochkompliziert und referenziere, was das Zeug hält. 
Damit der user aber auch so richtig ordentlich verwirrt wird, darf eine 
Einstellung natürlich niemals unter dem Punkt auftauchen, unter der man 
sie vermutet. Das kann kaum ein Produkt besser, als die die Xilinx ISE.

Wenn es geklappt hat, müsste im VHDL-Verzeichnis ein neues Verzeichnis 
mit MT_SE oder so ähnlich auftauchen, das die übersetzten Bibliotheken 
beinhaltet. Wenn Du den Ziel-Pfad nicht verändert hast, findet ModelSim 
die neuen Bibliotheken automatisch, sonst musst Du das Verzeichnis 
angeben, bzw mit wechselnden Bibliotheken arbeiten.

Mentor hat (lib handling) dazu ein online-Learning Tool unter : 
http://www.mentor.com/supportnet/member/tutorials/tutorial.cfm?movie=10275&snw_source=CAMP143





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.