Mit CoreGen generierte Cores in ModelSim simulieren

Gast #510719
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)
Gast #510924
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.
Gast #510960
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.
Gast #512426
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?
Gast #512500
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.
Gast #512522
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. (??????)
Gast #512569
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".



Gast #512597
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?
Angehängte Dateien:
Gast #512769
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
Gast #512876
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...
#512988
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.
Gast #513097
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
Gast #513318
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?
Persönliche Seite #513553
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




Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren