3
\$\begingroup\$

I'm trying to simulate an example design of an IP Core, but the version of ModelSim I have installed (Altera Edition/Linux) does not link to the Xilinx library. How can I permanently or temporarily add the Xilinx library to ModelSim?

EDIT:

A few more details. I'm trying to simulate an example design for the Ethernet1000Base-X IPCore. The documentation is here: http://www.xilinx.com/support/documentation/ip_documentation/gig_eth_pcs_pma/v11_3/gig_eth_pcs_pma_ug155.pdf

One page 18, it describes how to simulate the design using either IES, ModelSim, or VCS. I get the following error in ModelSim after running this command: vsim -do simulate_mti.do

# ** Error: (vsim-3033) ../../../Ethernet1000BaseX.v(9359): Instantiation of 'LUT6' failed. The design unit was not found.
#         Region: /demo_tb/dut/core_wrapper/gig_eth_pcs_pma_core
#         Searched libraries:
# ** Error: (vsim-19) Failed to access library 'unisims_ver' at "unisims_ver".
# No such file or directory. (errno = ENOENT)
#             /home/saddam/Desktop/Ethernet1000BaseX.3/ipcore_dir/Ethernet1000BaseX/simulation/functional/work
# ** Error: (vsim-19) Failed to access library 'unisims_ver' at "unisims_ver".
# No such file or directory. (errno = ENOENT)
# ** Error: (vsim-3033) ../../../Ethernet1000BaseX.v(9365): Instantiation of 'MUXF7' failed. The design unit was not found.
#         Region: /demo_tb/dut/core_wrapper/gig_eth_pcs_pma_core
#         Searched libraries:
# ** Error: (vsim-19) Failed to access library 'unisims_ver' at "unisims_ver".
# No such file or directory. (errno = ENOENT)
#             /home/saddam/Desktop/Ethernet1000BaseX.3/ipcore_dir/Ethernet1000BaseX/simulation/functional/work
# ** Error: (vsim-19) Failed to access library 'unisims_ver' at "unisims_ver".
# No such file or directory. (errno = ENOENT)
** Error: (vsim-19) Failed to access library 'unisims_ver' at "unisims_ver".
# No such file or directory. (errno = ENOENT)

EDIT 2

Software: Modelsim Altera Starter Edition 10.0d Xilinx ISE 14.1 WebPack

\$\endgroup\$
1
\$\begingroup\$
  1. compile UNISIM libraries by runnin compxlib and following wizard.
  2. then in your modelsim, library pane add new library.
    enter image description here
  3. after that add library from existing library and point to folder which contains compiled version of unisim, e.g. it is C:\Xilinx\10.1\ISE\vhdl\mti_se\unisim for me enter image description here
    After that you can have fun with UNISIM :)
\$\endgroup\$
4
\$\begingroup\$

First of all it would be good to know which version of Modelsim/ISE you are using. In general the Xilinx simulation libraries have to be compiled. Only ISim ha pre-compiled binaries.

The compilation can be done with the command-line tool compxlib that is supplied with ISE. The usage is described in Command Line Tools User Guide (v14.4) - the link points to the most current version of this file. Chapter 25 (p.321-335) cover all options for this tool. The most important options are:

  • -s sets the target simulator should be mti_{se|pe|de}
  • -arch for the Xilinx FPGA architecture, e.g. spartan6
  • -l to specify the language so you have to use verilog
  • -dir to set the output directory of the compiled libraries (if you have write permissions to the Xilinx ISE directory you can omitt this and all files will be put in the ISE directory according to p.325)
  • -p is used to set the path to your simulator. Not neccessary if the simulator is on the $PATH environmental variable.

I have tested this and successfully compiled all libraries including unisims_ver. As I only work with VHDL I do not know the exact usage of the libraries with Modelsim. After a short search I found the Modelsim User Manual that describes the usage of libraries on the pages 277 till 283. Maybe some experienced Verilog developer can explain this better.

Also I do not know if The Altera Modelsim version can be used to simulate Xilinx hardware as I only work with plain Modelsim.

This is my first post on StackExchange. I hope my answer is able to help you and sticks to the rules.

\$\endgroup\$
  • \$\begingroup\$ @ThomasS, you might want to add that once the libraries have been compiled, ISE generates a .ini file which contains mappings to those libraries. This ini file must be used when creating the modelsim project in order for the libraries to be mapped into Modelsim correctly. (or the contents of the ini file can be manually copied into the project file) Re: rules, your post is fine :) \$\endgroup\$ – stanri Mar 13 '13 at 1:05
3
\$\begingroup\$

Xilinx generally supply precompiled versions of their Unisims libraries for Modelsim, along with installation instructions. The Xilinx website "support" pages ought to have more information specific to your Modelsim and ISE versions (whatever versions those are)

Unfortunately I can't provide more specific help : the library names you mention suggest you are using Verilog which I have no experience with.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.