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)
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.
Ist das beim SE denn anders, als beim XE und warum? Sinn?
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.
Der Sinn dahinter ist der unterschiedliche Preis der Produkte.
@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?
Nicht im Modeltech Ordner, im Xilinx Ordner.
"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 ?
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.
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. (??????)
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.
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".
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?
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
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...
@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.
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
>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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.