Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Xilinx modelsim problem

Status
Not open for further replies.

buffalo101

Newbie level 5
Joined
Jan 23, 2011
Messages
10
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,352
Hello everyone,

I'm trying to design a BCD adder/subtracter that will output results to 2x7seg displays on a spartan board. The problem is I can't simulate its running. From what I can tell, .vhd file is generated within xilinx (simulate post-place and route model), but I get compile errors in Modelsim about simprims library.

Xilinx 9.4, modelsim 6.4. Any help is appreciated.
 

How can I precisely do that? I've tried adding the simprim files via some menu, but it seems it didn't work.
 

# Reading D:/Program Files (x86)/modelsim 6.4 nou/tcl/vsim/pref.tcl
# do {sumatorScazatortbw.tdo}
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim XE III vcom 6.4b Compiler 2008.11 Nov 15 2008
# -- Loading package standard
# -- Loading package std_logic_1164
# ** Error: netgen/par/sumatorScazator_timesim.vhd(37): Library simprim not found.
# ** Error: netgen/par/sumatorScazator_timesim.vhd(38): (vcom-1136) Unknown identifier "simprim".
# ** Error: netgen/par/sumatorScazator_timesim.vhd(39): (vcom-1136) Unknown identifier "simprim".
# ** Error: netgen/par/sumatorScazator_timesim.vhd(41): VHDL Compiler exiting
# ** Error: D:/Program Files (x86)/modelsim 6.4 nou/win32xoem/vcom failed.
# Error in macro ./sumatorScazatortbw.tdo line 6
# D:/Program Files (x86)/modelsim 6.4 nou/win32xoem/vcom failed.
# while executing
# "vcom -explicit -93 "netgen/par/sumatorScazator_timesim.vhd""

This is the error.
 

Hi,
Its the problem with the mapping. The simprim lib is not mapped with the ModelSim.
If you have installed the ISE
You just compile the files in the below folder.

In the path my verson is 12.3, look your ise versin and modified the path

C:\Xilinx\12.3\ISE_DS\ISE\vhdl\src\simprims\primitive\mti
Also compile these two files.
C:\Xilinx\12.3\ISE_DS\ISE\vhdl\src\simprims\simprim_Vpackage_mti.vhd
C:\Xilinx\12.3\ISE_DS\ISE\vhdl\src\simprims\simprim_Vcomponents_mti.vhd

I think the path may be same as in your system also.
Then rename the work folder to simprim and mapped to your project.

Otherwise you can download the simprim from the net.
 

How exactly do I compile the files ? what commands?

Then rename the work folder to simprim and mapped to your project.

How ?
 

first you find the folder where those files keep. then create a new project in the ModelSim, then add all those files, then compile the files from the project window by right click -> compile -> compile by order. then it will generate the all the compiled files in the work folder. then you can rename the folder as Simprim and mapped to your project
 

Thank you!

I was getting errors for unisim library, I did the same compile and rename thing for it, but now it seems something else is wrong.

# -- Compiling architecture structure of sumatorscazator
# ** Error: netgen/par/sumatorScazator_timesim.vhd(121): (vcom-1141) Identifier "x_obuf" does not identify a component declaration.
# ** Error: netgen/par/sumatorScazator_timesim.vhd(129): (vcom-1141) Identifier "x_obuf" does not identify a component declaration.
# ** Error: netgen/par/sumatorScazator_timesim.vhd(137): (vcom-1141) Identifier "x_obuf" does not identify a component declaration.
# ** Error: netgen/par/sumatorScazator_timesim.vhd(145): (vcom-1141) Identifier "x_obuf" does not identify a component declaration.
... etc

I googled and I think it has something to do with primitives. I remembered I couldn't compile vhdl\src\primitives.mti because I don't have that file.
 

No, I am still getting these errors:

** Error: netgen/par/sumatorScazator_timesim.vhd(145): (vcom-1141) Identifier "x_obuf" does not identify a component declaration.

20-30 of them. I am clueless.
 

Hi Dears,

Normaly you don't have to compile those libraries yourself, you will normaly find a pre-compiled version in the ISE install folder, then you will have just to map it.

Assuming that the path to pre-compliled library is "PATH_TO-PRECOMPILED", your do file will look like the following (pseudo-code only) :

Code:
...

vlib work
vmap work work

vmap simprim "PATH_TO-PRECOMPILED"

vcom -93 -explicit -work work "path to your design file1"
vcom -93 -explicit -work work "path to your design file2"
...
vcom -93 -explicit -work work "path to your testbench"

vsim -L simprim -L work -t 1ps work.testbench

...

Don't esitate if any issue !

Hope it helps.
 

Also you can compile the specified component's .vhd file with your own project file. For example if the missing component is X_OBUF then compile that file with your project file. then replace the unisim and simprim from your project's rtl file. and use the
use work.all.

Means you can replace the sentences like
" use simprim.all
use unisim.all "

by using " use work.all"
 

I have the file X_OBUF.v under the folder Xilinx\verilog\src\simprims. Is that ok? can I include that or do I need something for VHDL ?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top