UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor kpflieger99
Visitor
14,049 Views
Registered: ‎10-21-2011

Error whil trying to simulate Microblaze Embedded system

Jump to solution

Hello,

 

I'm having trouble getting a simulation running for my FPGA (with a Microblaze-based Embedded System) in ModelSim. I get the following Warnings at the beginning of the simulate process:

Started : "Simulate Behavioral Model".

    > executing 'C:/modeltech/modelsim_dlx_10.1/win32pe/vsim.exe -version' to get the mti_de version...
    > mti_de version is 10.1
Determining pre-compiled simulation library path information...

Creating XPS script for generating simulation models...

WARNING: Simulation library path ($XILINX/<language>/<simulator>) not found.
Running xps...

And then it fails with the following error after trying to compile my design:

Generating simulator compile script ...
ERROR:EDK:3593 - Unable to locate the precompiled library microblaze_v8_20_b.
   The file
   C:\Xilinx\13.4\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_20_b\h
   dl\vhdl\microblaze_types_pkg.vhd is distributed by Xilinx encrypted and will
   not be read by any simulator. Please use compxlib to setup the EDK
   precompiled libraries and provide the path to them using the -E switch.
ERROR:EDK:1172 - Error while creating simulator compile scriptmake: *** [simulation/behavioral/mda_uBlaze_ml605_setup.do] Error 1
ERROR:EDK -  
   Error while running "make -f mda_uBlaze_ml605.make simmodel".
ERROR: XPS failed!

Process "Simulate Behavioral Model" failed

 

My environment is:

Windows 7, 32-bit,

Xilinx ISE 13.4, with EDK

External Simulator: ModelSim DE 10.1

 

Note also that my top-level design is an ISE project, with a lower-level Embedded design (XMP) along with some other top-level VHDL modules, this is not an XPS stand-alone project.

 

Based on other forum postings, I've made sure I recompiled ALL libraries for both VHDL & Verilog using the compxlib tool. I let the tool put these in the default locations. I've also made sure that my modelsim.ini file (in the modelsim DE 10.1 installation directory) has all of the appropriate mappings, shown below:

 

secureip    = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/secureip
unisim       = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/unisim
unimacro   = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/unimacro
simprim     = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/simprim
xilinxcorelib = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/xilinxcorelib
unisims_ver      = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/unisims_ver
unimacro_ver   = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/unimacro_ver
simprims_ver    = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/simprims_ver
xilinxcorelib_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/xilinxcorelib_ver

 

One odd thing I noticed is that the default Properties for Modelsim Behavioral Simulation of my design, from within ISE, is that the "-dir" setting is:

 

                 $XILINX\<language>\<simulator>

 

... however, the default settings when I compile the libraries using compxlib are as follows:

 

                C:\Xilinx\13.4\ISE_DS\ISE\<language>\<simulator>\<version>\<platform>

 

I've checked my XILINX environment variable in Windows & it is set to:  XILINX=C:/Xilinx/13.4/ISE_DS/ISE

 

So I was thinking that perhaps I just have to append the: \<version>\<platform> field to the end of the '-dir' setting in ISE, but this is when things get real screwy ... first the ISE properties dialog box doesn't seem to allow me to "Apply" the changes, but if I then just hit OK, it seems to append my project directory name to the beginning of the -dir setting, and I then get an error like this when I try to simulate from within ISE:

 

Started : "Simulate Behavioral Model".

    > executing 'C:/modeltech/modelsim_dlx_10.1/win32pe/vsim.exe -version' to get the mti_de version...
    > mti_de version is 10.1
Determining pre-compiled simulation library path information...

ERROR: The path specified in the "Compiled Library Directory" property ("C:/Projects/AFRTSG/test_sim_proj/$XILINX/<language>/<simulator>/<version>/<platform>") does not exist.

INFO: Simulation process aborted!

 

Well, that is pretty odd, there seems to be no way I can get it to recognize a custom -dir setting without it trying to append my project directory to it. It seems like the environment variable/macro expansion stuff just isn't working correctly. Or is there something else I need to do in order for the tool to find the simulation libraries correctly?

 

So as another test, I tried to set this -dir setting (without using the XILINX environment variable) to the following:

                    C:\Xilinx\13.4\ISE_DS\ISE\<language>\<simulator>\<version>\<platform>

... and I get another, similar error, although without it trying to append my project directory name to the begining. However, it still seems to not be expanding the <language>, <simulator>, etc. macros properly:

 

Started : "Simulate Behavioral Model".

    > executing 'C:/modeltech/modelsim_dlx_10.1/win32pe/vsim.exe -version' to get the mti_de version...
    > mti_de version is 10.1
Determining pre-compiled simulation library path information...

ERROR: The path specified in the "Compiled Library Directory" property ("C:/Xilinx/13.4/ISE_DS/ISE/<language>/<simulator>/<version>/<platform>") does not exist.

INFO: Simulation process aborted!

 

Then another thing I decided to try, since the simulation properties dialog box seemed to not like my custom -dir settings ... I decided to copy all of the verilog and vhdl libraries to the macro path $XILINX\<language>\<simulator> directories (thinking that if I can't beat the tool, I would join it!) & then removed the <version>\<platform> extensions from the library mappings inside my modelsim.ini file, so that they then read the following:

 

secureip    = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/secureip
unisim       = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/unisim
unimacro   = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/unimacro
simprim     = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/simprim
xilinxcorelib = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/xilinxcorelib
unisims_ver      = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/unisims_ver
unimacro_ver   = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/unimacro_ver
simprims_ver    = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/simprims_ver
xilinxcorelib_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/xilinxcorelib_ver

... and then of course, set the -dir property in ISE back to the default setting, and unfortunately I get the same results about it not being Unable to locate the precompiled library microblaze_v8_20_b. ... so I don't think it is really mapping things correctly at all, but perhaps I'm still missing something real basic here.

 

As a side note: funny thing I noticed here about the tool ... if I just hit the "Defaults" (button from within the Simulation Properties dialog box) and then hit "Apply" & "OK", it would appear to just change it back to:

       $XILINX\<language>\<simulator> , but in reality it actually keeps my project directory name pre-pended to the setting so it appears as this if you go back into the dialog box:

      C:\Projects\AFRTSG\test_sim_proj\$XILINX\<language>\<simulator> ... Arrrrgh!

This appears to be a bug & the only way I've been able to get back to the real default settings is to hit "Defaults", "Apply", "OK", then exit out of ISE entirely, then re-open it & it is now set to the proper default.

 

As a last test, I noticed that there are two slightly different (I think) versions of the "Simulation Library Compilation Wizard", which I've used to run compxlib (I haven't tried it from the command line). One under the ISE Tools (Windows Start -> Xilinx ISE Design Suite 13.4 -> ISE Design Tools -> Tools) and one under the EDK Tools (Windows Start -> Xilinx ISE Design Suite 13.4 ->EDK -> Tools). In either case I still get the errors listed above. They both seem to have most of the same default settings, however the version under the EDK Tools seems to have the ModelSim DE setting grayed out for some reason (although its radio button was still checked, so I left it).

 

So, I am now at my wit's end to figure out how to get the libraries to map properly, or to get a proper manual setting for the -dir simulation property. What is the right way to do thias? Any ideas? Your help is much appreciated.

 

I've attached my compxlib.log for reference. Thanks!

 

- Keith

 

0 Kudos
1 Solution

Accepted Solutions
Visitor kpflieger99
Visitor
17,785 Views
Registered: ‎10-21-2011

Re: Error whil trying to simulate Microblaze Embedded system

Jump to solution

Thanks for the info bassman, good insight. I had originally thought to go with the built-in Xilinx models as I am slightly short on time ... but my system is AXI-based and I suspect I'll be working with this for a while, so I think it may be worth my time doing a similar thing and create my own simple bus models.

 

For what it is worth, I was able to get ModelSim DE simulation working now with the EDK libraries. I was able to get the EDK version of of compxlib to compile all of the libraries (even EDK) using ModelSim DE & putting them in the location I desired (& could direct ISE to manually instead of using the default library locations) ... using the trick described above about first running compxlib from the ISE Tools program group (& selecting ModelSim DE), then re-running the EDK version immediately afterwards leaving ModelSim DE selected (even though it is grayed out), navigating to the ModelSim DE executable and running it.

 

I completed a few test simulations both in PE and in DE (both v10.1) and I see no difference at all in the results. So I think that DE does in fact work.

 

Another thing I discovered, is that when you run the ISE version of compxlib, it actually *DOES* compile the EDK libraries. However, it puts them in a slightly different location, because of the directory macro expansion stuff that Xilinx is using here. It just so happens that when you compile all libraries from within the ISE-based "Simulation Library Compilation Wizard", it will put all of the compiled libraries in the following default location:

 

        $XILINX\<language>\<simulator>\<version>\<platform>

 

which for my setup cooresponds to (using ModelSim DE):

         C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt

for all of the normal VHDL libraries (unisim, simprim, unimacro, xilinxcorelob), and for all of the normal verilog libraries(unisims_ver, simprims_ver, unimacro_ver, xilinxcorelib_ver, secureip):

         C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt

 

Now, I'm guessing that the EDK libraries are special & don't seem to be attached to a specific language (VHDL or Verilog), so when compxlib compiles them it puts them her by default:

         C:/Xilinx/13.4/ISE_DS/ISE/mti_de/10.1/nt/edk

 

of course this would be: C:/Xilinx/13.4/ISE_DS/ISE/mti_pe/10.1/nt/edk for the ModelSim PE version of the library.

 

**************************************************************************************************************************

**  Improtant Note, possibly a huge time saver for others who may be starting to have similar issues:

**************************************************************************************************************************

So, I haven't tried this yet since I'm kind of tired of compiling libraries now :-), but I believe that for my kind of project (Proj Nav is top-level, XPS/EDK is a sub-module) you don't actually need to compile the libraries from the EDK-centric version of compxlib at all. You could compile them from the ISE version of compxlib (under Windows Start -> Xilinx ISE Design Suite 13.4 -> ISE Design Tools -> Tools) and specify whichever simulator you are using directly since none of the options are grayed out, and the run. Then you can either copy the libraries from the 3 different locations (listed above) to wherever you want them, colocated, or make sure that your modelsim.ini (& any other specific project *.mpf files you create on your own) point to the proper locations for these files, like so:

 

edk = C:/Xilinx/13.4/ISE_DS/ISE/mti_de/10.1/nt/edk
secureip = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/secureip/
simprim = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/simprim/
simprims_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/simprims_ver/
unimacro = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/unimacro
unimacro_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/unimacro_ver
unisim = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/unisim/
unisims_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/unisims_ver/
xilinxcorelib = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/xilinxcorelib/
xilinxcorelib_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/xilinxcorelib_ver/

Hope this helps some other folks save some time setting up their libraries and simulation environment.

 

- Keith

 

8 Replies
Moderator
Moderator
14,041 Views
Registered: ‎04-17-2011

Re: Error whil trying to simulate Microblaze Embedded system

Jump to solution
Firstly, you are trying to use Modelsim DE 10.1 which is not a Xilinx supported simulator for EDK simulations. The supported simulators for 13.4 are:

• ISim simulator (used in this tutorial)
• ModelSim PE/SE v6.6d or later
• Questa Advanced Simulator v6.6d or later
• Incisive Enterprise Simulator (IES) v9.2 or later.
• Synopsys Verilog Compiler Simulator (VCS) (Linux only)

Use any one of them for simulation. Refer to page 7 of the document: http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_4/edk_ctt.pdf

Once you are using a supported simulators, in order to correctly compile the EDK libraries, you should compile the libraries in EDK by opening XPS and selecting File->Preferences->Simulation->Set the Simulator Path and the Library Path->select Compile.

This will correctly compile the libraries in a directory format that is compatible with the EDK tools.

You can also use compedklib.exe for compiling the files correctly. You have already seen this tool and also found that Modelsim DE is grayed out.
Regards,
Debraj
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Visitor kpflieger99
Visitor
14,026 Views
Registered: ‎10-21-2011

Re: Error whil trying to simulate Microblaze Embedded system

Jump to solution

Hi debrajr,

 

Thanks for the reply ... I guess that explains this, in addition to some other problems I've been having (simulating AXI BFMs). I would have thought DE would be supported since it is a superset of what is in PE & since SE is no longer available, the only options seem to be PE or Questa at this point. I guess I will use ISim for now while I look into what it will take to change our ModelSim seat to one of the other supported flavors. Thanks again.

 

- Keith

0 Kudos
Visitor kpflieger99
Visitor
14,017 Views
Registered: ‎10-21-2011

Re: Error whil trying to simulate Microblaze Embedded system

Jump to solution

Hi debrajr,


As it turns out, my ModelSim DE license *does* actually let me run ModelSim PE instead (which is a cheaper license). So I installed ModelSim PE now and I have tried to re-compile ALL libraries from with XPS directly - I had to create a new, basic project with XPS being the top-level (not ISE Proj Nav) in order to set simulation settings and compile from within EDK.

 

However, now when I get into the EDK-based compedklib.exe gui tool (compilation wizard), it not only has ModelSim DE grayed out, bu ModelSim PE is grayed out as well & the tool defaults to ModelSim SE. So, I let it keep this selection of ModelSim SE in the GUI but then navigated to my ModelSim PE simulator install path (Simulator Executable Location field) and of course it does not work & I get the following error:

 

Signature:-
------------------------------------------------------------------------------
compxlib -s mti_se -p C:\modeltech\modelsim_pe_10.1\win32pe -l all -arch spartan6 -arch spartan6l -arch virtex6 -arch virtex6l -lib all -source_lib C:\Projects\Xilinx_Custom_IP\ -w -exclude_superseded -dir C:\modeltech\sim_libs
------------------------------------------------------------------------------
ERROR:Compxlib - COMPXLIB[sim]: Unable to automatically find executables for simulator 'mti_se' from the following paths:
    C:\modeltech\modelsim_pe_10.1\win32pe
   C:\Xilinx\13.4\ISE_DS\ISE\\lib\nt
...
   C:\modeltech\modelsim_dlx_10.1\win32pe.
Simulator 'mti_se' is ignored.

This happens if I point it to my Modelsim DE install directpry too, but as you mentioned, ModelSim PE should be supported, so I don't know why this is showing up as grayed out and not letting me select it. I think this may be a bug.

However, I kind of stumbled into a work-around that has *FINALLY* allowed me to simulate in ModelSim PE ... here are my steps (in case anyone else is having similar weird issues), kind of convoluted since many of the menu choices described in the documentation & in debrajr's response assume that the project is an XPS project ... however, the menus and options in XPS are different for ISE Project Navigator projects (for example, there is no Simulation Menu at all and no way to set the simulator directly inside XPS). Anyway, here goes:

1) Exit out of ISE & XPS entirely;
2) Create new blank empty project in XPS (or copy an existing mhs);
3) Go to "Edit --> Preferences ..." then select "Simulation" under Category, and Select ModelSim (there is no specific way in this panel to select PE, DE, or SE), and then browse to the Modelsim PE's executable directory for the "Simulator Path" field, which in my case is: C:\modeltech\modelsim_pe_10.1\win32pe
4) Then in the "Simulation Library Path" field, browse to where you want all of the libraries compiled into, in this case I just set this to C:\modeltech\sim_libs, but can be whereever you want them to be. Note that I do not see the same kind of directory naming macro expansion capabilities in this dialog that you see in the ISE Project Navigator (like $XILINX\<language>\<simulator>\<version>\<platform>) ... it is a fied location where all VHDL & Verilog libraries will be compiled to.
5) Now first hit "Apply" and then hit the "OK button and exit out of XPS entirely. This is where things deviated for me, from what the documentation seems to indicate. This is because if you now hit the "Compile..." button instead of "OK", it defaults to ModelSim SE again, which we don't want to do (unless you have SE). So, instead just exit XPS.
6) Now from your Windows Start Menu, run the "Windows Start -> Xilinx ISE Design Suite 13.4 -> ISE Design Tools -> Tools -> Simulation Library Compilation Wizard" program. That's right, you have to run the ISE (Project Navigator) version of the simulation wizard first ... just so that you can select ModelSim PE (for eventually re-compiling everything with the EDK version of this tool ... but I'm getting ahead of myself);
7) Now, Select the ModelSim PE simulator, navigate to the executable for Simulator Executable Location again (C:\modeltech\modelsim_pe_10.1\win32pe for me) and hit "Next >".
8) On the next two windows, select the languages and FPGA families of your choice (in my case, Both VHDL & Verilog, and just the Spartan 6 and V6 familes). Hit "Next >" again.
9) Here, I selected "All libraries", but this takes a long time. I need them anyway, so I left this ... but for expediency you could just select the UNISIM libraries. Again, the only reason to do this step is to later force the EDK version of this Simulation Library Compilation Wizard to recognize ModelSim PE instead of SE. Anyway, whichever libraries you choose, hit "Next >"  and then "Launch Compile Process >" ... then close the tool when it eventually finishes. Note: no matter what you had originally set in XPS for the "Simulation Library Path" field (e.g. C:\modeltech\sim_libs in step 4 above), at this point it will be compiling the libraries into the ISE ProjNav-centric locations which use the macro expansions ($XILINX\<language>\<simulator>\<version>\<platform>). When it is done, close out of the compilation wizard tool.
10) Now we can compile the EDK libraries for ModelSim PE ... from the Windows Start Menu, run "Windows Start -> Xilinx ISE Design Suite 13.4 -> EDK -> Tools -> Compile Simulation Libraries".
11) When the tool pops up, you will notice that ModelSim PE is in fact selected, even though it is grayed out. DONT Change this ... otherwise you have to go through this whole process again. And, once again, navigate to the Simulator Executable Location (C:\modeltech\modelsim_pe_10.1\win32pe) and hit "Next >";
12) Again, select the languages and FPGA familes on the next 2 windows, select "All libraries" on the next windows and hit "Next >" ... then verify the Output directory for compiled libraries is still "C:\modeltech\sim_libs" which we had previously set in step 4 above, then hit "Launch Compile Process >" and wait until it finishes. It now builds all of the required libraries using ModelSim PE and puts them in a single location.
13) Now you can close the Simulation library compiler when you are done & now open the top-level project once again in ISE Project Navigator & make sure that you are in the behavioral simulation "View" settings (not Implementation); Make sure your project Properties (menu "Project --> Design Properties ...") has ModelSim-PE selected (I use 'Mixed mode'). Also, ensure that the ISE General settings for Integrated Tools ("Edit --> Preferences ...", Category: "ISE Genral --> Integrated Tools", Modeltech Simulator box is set to the right executable (C:\modeltech\modelsim_pe_10.1\win32pe\modelsim.exe in my case).
14) Select your top-level entity (the testbench you are simulating with) and the in the Processes Pane (just below) right click on the "Simulate Behavioral Model" item and select "Process Properties ...". Change the Compiled Library Directory (under Category: Simulation Properties) to be where we just compiled all of the libraries (C:\modeltech\sim_libs) instead of the default. Hit "Apply" and the "OK".
15) Now double click on Simulate Behavioral Model ... and your off!
16) For completeness, I changed my default modelsim.ini file now to have the proper paths to all of the 10 VHDL and Verilog simulation libraries created.

Now, I may have been able to skip a few of these steps, but this is how I had kind of stumbled into tricking the GUI-based tools to eventually give the compxlib command line the right options. In fact, looking at the log file, I may have been able to condense steps 1-12 above with a single command-line in a shell for compxlib, now that I know what all of the settings and options are supposed to be:

compxlib -s mti_pe -p C:\modeltech\modelsim_pe_10.1\win32pe -l all -arch spartan6 -arch spartan6l -arch virtex6 -arch virtex6l -lib all -w -exclude_superseded -dir C:\modeltech\sim_libs

I tried this quickly on my own ... yet it doesn't seem to re-compile the EDK library when I do this, so I suspect that there is some other step involved that the compedklib.exe tool (I checked the compxlib.cfg files & couldn't find anything to indicate why EDK wouldn't be compiled). In any case, if I can figure it out I will try the same thing with the ModelSim DE tool (or go through the above steps) to see if I really can get ModelSim DE working. Perhaps if I could figure out what the command line options are for compedklib.exe are ...

- Keith

Historian
Historian
14,003 Views
Registered: ‎02-25-2008

Re: Error whil trying to simulate Microblaze Embedded system

Jump to solution

@kpflieger99 wrote:

Hello,

 

 

Note also that my top-level design is an ISE project, with a lower-level Embedded design (XMP) along with some other top-level VHDL modules, this is not an XPS stand-alone project.

 


I'm not sure if the following is helpful or will completely annoy you, but the last time I did an EDK design, I didn't bother using the whole BFM thing provided by Xilinx. And, yes, my design was like yours, with the XMP embedded in a larger FPGA design.

 

I ended up writing a straightforward bus-functional model of the PLB master, which was all that matters, anyway. This master model used procedure calls along the lines of plbWrite() and plbRead() to cause the bus to operate as one would expect. This got all wrapped up in a simulation construct called micro, which instantiated this PLB master and all of the PLB slaves I wrote. (Basically, I threw aways all of the Xilinx slaves and wrote one big PLB slave which instantiated all of my logic and had a big address decoder for reads and writes.) This entity micro was then instantiated in the larger (ISE) design.

 

I use Active-HDL for simulation, so I built up an Active-HDL project which has the synthesizable code as well as this micro thing. Obviously the micro thing wasn't included in the ISE project; that used the XMP code.

 

This was the only way to keep sane. The whole Xilinx-provided BFM thing was just nuts and wasn't workable if one wants to simulate the entire FPGA design, especially when the embedded micro was just another entity instantiated in the larger design.

 

Good luck!

----------------------------Yes, I do this for a living.
Visitor kpflieger99
Visitor
17,786 Views
Registered: ‎10-21-2011

Re: Error whil trying to simulate Microblaze Embedded system

Jump to solution

Thanks for the info bassman, good insight. I had originally thought to go with the built-in Xilinx models as I am slightly short on time ... but my system is AXI-based and I suspect I'll be working with this for a while, so I think it may be worth my time doing a similar thing and create my own simple bus models.

 

For what it is worth, I was able to get ModelSim DE simulation working now with the EDK libraries. I was able to get the EDK version of of compxlib to compile all of the libraries (even EDK) using ModelSim DE & putting them in the location I desired (& could direct ISE to manually instead of using the default library locations) ... using the trick described above about first running compxlib from the ISE Tools program group (& selecting ModelSim DE), then re-running the EDK version immediately afterwards leaving ModelSim DE selected (even though it is grayed out), navigating to the ModelSim DE executable and running it.

 

I completed a few test simulations both in PE and in DE (both v10.1) and I see no difference at all in the results. So I think that DE does in fact work.

 

Another thing I discovered, is that when you run the ISE version of compxlib, it actually *DOES* compile the EDK libraries. However, it puts them in a slightly different location, because of the directory macro expansion stuff that Xilinx is using here. It just so happens that when you compile all libraries from within the ISE-based "Simulation Library Compilation Wizard", it will put all of the compiled libraries in the following default location:

 

        $XILINX\<language>\<simulator>\<version>\<platform>

 

which for my setup cooresponds to (using ModelSim DE):

         C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt

for all of the normal VHDL libraries (unisim, simprim, unimacro, xilinxcorelob), and for all of the normal verilog libraries(unisims_ver, simprims_ver, unimacro_ver, xilinxcorelib_ver, secureip):

         C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt

 

Now, I'm guessing that the EDK libraries are special & don't seem to be attached to a specific language (VHDL or Verilog), so when compxlib compiles them it puts them her by default:

         C:/Xilinx/13.4/ISE_DS/ISE/mti_de/10.1/nt/edk

 

of course this would be: C:/Xilinx/13.4/ISE_DS/ISE/mti_pe/10.1/nt/edk for the ModelSim PE version of the library.

 

**************************************************************************************************************************

**  Improtant Note, possibly a huge time saver for others who may be starting to have similar issues:

**************************************************************************************************************************

So, I haven't tried this yet since I'm kind of tired of compiling libraries now :-), but I believe that for my kind of project (Proj Nav is top-level, XPS/EDK is a sub-module) you don't actually need to compile the libraries from the EDK-centric version of compxlib at all. You could compile them from the ISE version of compxlib (under Windows Start -> Xilinx ISE Design Suite 13.4 -> ISE Design Tools -> Tools) and specify whichever simulator you are using directly since none of the options are grayed out, and the run. Then you can either copy the libraries from the 3 different locations (listed above) to wherever you want them, colocated, or make sure that your modelsim.ini (& any other specific project *.mpf files you create on your own) point to the proper locations for these files, like so:

 

edk = C:/Xilinx/13.4/ISE_DS/ISE/mti_de/10.1/nt/edk
secureip = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/secureip/
simprim = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/simprim/
simprims_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/simprims_ver/
unimacro = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/unimacro
unimacro_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/unimacro_ver
unisim = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/unisim/
unisims_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/unisims_ver/
xilinxcorelib = C:/Xilinx/13.4/ISE_DS/ISE/vhdl/mti_de/10.1/nt/xilinxcorelib/
xilinxcorelib_ver = C:/Xilinx/13.4/ISE_DS/ISE/verilog/mti_de/10.1/nt/xilinxcorelib_ver/

Hope this helps some other folks save some time setting up their libraries and simulation environment.

 

- Keith

 

Scholar embedded
Scholar
8,897 Views
Registered: ‎06-09-2011

Re: Error whil trying to simulate Microblaze Embedded system

Jump to solution

Hi,

I have the same problem when I want to simulate my EDK project with Behavioral model. I receive below error messages while for Structural & Timming models I have no errors and simulation goes correctly. EDK project is my top module despite yours. I set those directories you mentioned but again I receive errors:

 

ERROR:EDK:3593 - Unable to locate the precompiled library microblaze_v8_50_c.
   The file
   C:\Xilinx\14.7\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_50_c\h
   dl\vhdl\microblaze_types_pkg.vhd is distributed by Xilinx encrypted and will
   not be read by any simulator. Please use compxlib to setup the EDK
   precompiled libraries and provide the path to them using the -E switch.
ERROR:EDK:1172 - Error while creating simulator compile scriptmake: *** [simulation/behavioral/system_setup.do] Error 1
Done!

 

As Structural & Timming models are very time consuming simulations I would really appreciate any helps and comments.

 

Best Regards,

Hossein

 

 

0 Kudos
Participant vbarsoum
Participant
8,879 Views
Registered: ‎09-15-2014

Re: Error whil trying to simulate Microblaze Embedded system

Jump to solution

I have the am sure I same problem, and I am sure I compiled the libraries correctly in the default locations. I am using modelsim 10.3a and Xilinx ISE 14.7. Did anyone find a solution for this problem yet?

0 Kudos
Highlighted
Visitor harrystello
Visitor
4,429 Views
Registered: ‎07-14-2011

Re: Error whil trying to simulate Microblaze Embedded system

Jump to solution

The answer is that these aren't really precompiled libraries.  All you need to do is compile everything, in other words uncheck the "Exclude superseded (-exclude) checkbox on the 3rd screen in your simulation compliation wizard.