Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Regular Visitor
m_nabil1974
Posts: 25
Registered: ‎08-01-2008
0

I have a problem with PicoBlaze simulation

Hi all:

I am trying to control a dc servo Motor using a SpartanII-xcs100.I use PicoBlaze to implement this task.  I know that this version is obsolete, but this is the available FPGA board at the moment.

The problem that  I have is , when I am trying to simulate the design with Modelsim 6.5 I get the following error messages.

“# -- Compiling architecture low_level_definition of pico_cnt

# ** Error: PICO_CNT.VHD(89): near "port": syntax error

# ** Error: PICO_CNT.VHD(49): No statement with label "ram_256_x_16" was found.

# ** Error: PICO_CNT.VHD(97): VHDL Compiler exiting

# ** Error: C:/modeltech_6.5/win32/vcom failed.

# Error in macro ./pico_cnt.ldo line 4

# C:/modeltech_6.5/win32/vcom failed.

#     while executing

# "vcom -93 -explicit  PICO_CNT.VHD"”.

The module “PICO_CNT.VHD” is the PicoBlaze’s code memory. I compared the generated VHDL file that KCPSM3’s compiler  generates for the KCPSM3’s code memory and that the KCPSM’s compiler  generates I found that both are  identical from the syntax point of view, of course they are different in the code memory size.

The question is:

How can I sort out this problem to get rid of these irritating error messages that I get from ModelSim 6.5.?

 

Kind regards;

 

 

Expert Contributor
gszakacs
Posts: 5,346
Registered: ‎08-14-2007
0

Re: I have a problem with PicoBlaze simulation

# ** Error: PICO_CNT.VHD(89): near "port": syntax error

 

I would suggest going to the referenced line in the file and see if you can find

the syntax error.  Since this was an early version of the PicoBlaze, it's possible it

uses something that is not compatible with newer VHDL.  I believe ModelSim should

have a switch to set the version of VHDL used for compiling.  It may be as simple as

a port or signal name that uses a reserved keyword in the newer VHDL syntax.

 

As a fall-back you could always download a much earler version of ModelSim,

I think 5.7 would be about the right vintage for the earliest (Virtex 1 and Spartan 2)

version of PicoBlaze.  But I'd first look to see if there is something obvious in the

code, or if you can set the compile options to use an older syntax.

 

-- Gabor

 

-- Gabor
Regular Visitor
m_nabil1974
Posts: 25
Registered: ‎08-01-2008
0

Re: I have a problem with PicoBlaze simulation

First of all thanks for the reply;

Really, I switched between the different VHDL versions in the complier options in the model sim but I still got the same error messages. I used modelsim 5.7f, however I got another errors,

# ** Error: (vcom-42) Unsupported ModelSim library format for "work". (Format: 3)

# ** Fatal: Unexpected signal: 11.

# ** Error: PICO_CNT.VHD(23): VHDL Compiler exiting

# ERROR: C:/Modeltech_5.7f/win32/vcom failed.

# Error in macro ./pico_cnt.ldo line 4

 

Could you tell me please how I can  turn around these errors ?

Regards;

Expert Contributor
gszakacs
Posts: 5,346
Registered: ‎08-14-2007
0

Re: I have a problem with PicoBlaze simulation

# ** Error: (vcom-42) Unsupported ModelSim library format for "work". (Format: 3)

 

This probably means that ModelSim found the work library created by the newer version

and doesn't understand it.  You need to delete the work library and re-build it with 5.7f

If you haven't already done so, you may also have to re-compile the Xilinx libraries

using compxlib.

 

-- Gabor

-- Gabor
Xilinx Employee
chapman
Posts: 416
Registered: ‎09-05-2007
0

Re: I have a problem with PicoBlaze simulation

[ Edited ]

We are taking about code that was written in 2002 so certainly you would have to be sure that whatever tools you are trying to use today have access to the library components used at that time. I just looked for the BRAM component in ISE v12.4 and it is in there but you may need to check what your simulator library is too.

 

Now thinking back there was a small syntax error in the ‘ROM_form.vhd’ template. Take a look in your template a see if you see this line in the ‘generic map’….

 

INIT_0F => X"{INIT_0F}",

 

If yes, then change it to the following (comma becomes a closing bracket)….

 

INIT_0F => X"{INIT_0F}")

 

Run the assembler again so that the modification gets into your program memory definition file.

Ken Chapman
Principal Engineer, Xilinx UK