Forum: FPGA, VHDL & Co. Library simprim


von Martina M. (xaiven-be)


Lesenswert?

Schönen guten Morgen,

ich habe ein VHDL-Modul als Netzliste bekommen, welches ich in mein 
Design einbinden muss. In dem File werden folgende Libraries 
eingebunden:
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.all;
3
-- Library use clause for technology cells
4
library unisim,simprim ;
5
use unisim.vcomponents.all,simprim.vcomponents.all;

Wenn ich jetzt eine Synthese starte, kommt die Fehlermeldung:
Library simprim cannot be found.

Ich nutze Xilinx IS 10.1 mit dem ISE Simulator. In der ISE Help steht:
Note You do not need to compile or map Xilinx Simulation Libraries if 
you are using the ISE Simulator (ISim) or the ModelSim Xilinx Edition 
simulator.

Habs auch versucht, kann die nicht compilen. In der Readme zu den 
simprim-files steht, mann solle folgendes deklarieren:
1
Library IEEE;
2
use IEEE.VITAL_Primitives.all
3
use IEEE.VITAL_Timing.all

Muss ich das zusätzlich zu den ursprünglichen Deklarationen einfügen?
Wenn ich das (zusätzlich) eingefügt habe, kommt folgende Fehlermeldung:

ERROR:HDLParsers - Cannot reanme dependency database for library "ieee", 
file is "C:/Xilinx/10.1/ISE/vhdl/xst/ieee/hdpdeps.ref".  Temporary 
database file "C:\Xilinx\10.1\ISE\vhdl\xst\ieee\xil_2364_6" will remain. 
System error message is:  File exists

Hat mir hier jemand einen Tipp?

Vielen Dank,
Martina

von Klaus F. (kfalser)


Lesenswert?

Die Simprim Liibrary ist NUR für die Simulation!
Wenn das ganze eine Netzliste ist, die für die Simulation erzeugt wurde, 
dann kann diese von der Synthese nicht compiliert werden.
Anderenfalls kannst Du den Verweis auf Simprim löschen, und versuchen 
das ganze zu kompilieren.

von Martina M. (xaiven-be)


Lesenswert?

OK, da im Kopf der Datei noch:

Precision RTL Synthesis

steht, dann scheint die Netzliste nur für die Simulation erzeugt worden 
zu sein. Oder kann ich das noch irgendwie genau rausfinden, ob die 
Netzliste wirkluch NUR für eine Simulation gut ist?
Wenn ich die simprim lösche, klappt die Synthese fehlerfrei, aber kann 
ich jetzt sicher sein, dass die Netzliste (die vielleicht nur für die 
Simulation erstellt worden ist) korrekt umgesetzt wird? Wahrscheinlich 
durch eine Post-Route-Simulation...?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> simprim
= Simulation Primitives

von Klaus F. (kfalser)


Lesenswert?

Wenn sich die Datei kompilieren läßt, dann ist's OK.
Die VHDL Files mit dem simprim primitiven dienen zur Timing Simulation 
und werden erst nach dem Place&Route  erzeugt.
Sie sollten einen Header mit der Schrift Xilinx haben.
Ob Du eine Timing Simulation brauchst, mußt Du entscheiden, aber 
normalerweise geht man schon davon aus, dass die Umsetzung richtig war.
Das ist ein bischen wie wenn man ein C-Programm auf Assemblerbasis 
nochmal simuliert, um zu schauen ob der C-Compiler richtig gearbeitet 
hat.

von Martina M. (xaiven-be)


Lesenswert?

OK, herzlichen Dank für die Hilfe und die Erklärungen!

Gruß Martina

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Ob Du eine Timing Simulation brauchst, mußt Du entscheiden, aber
> normalerweise geht man schon davon aus, dass die Umsetzung richtig war.
D.h. das die gesetzten Timing-Constraints passen und erfüllt wurden.
Statt eine Post-Place- oder Post-Route-Simulation zu machen, solltest du 
dir eher die statische Timing-Analyse ansehen. Dort steht z.B. der 
kritische Pfad, der das Timing beschränkt und andere interessante Sachen 
zur Implementation. Diese Datei ist immer einen Blick wert ;-)

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.