cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
6,506 Views
Registered: ‎03-17-2010

Running two Microblaze cores simultaneously in spartan 3s700A FPGA

Hi all,

           I am trying to implement two MB cores in Spartan 3A FPGA .

 

  •            Both the cores will have to perform the identical processing of input frames.
  •            Input data frames are not similar to both.

I tried to implement processing of both the frames in a single MB core but time taken by MB to do this is more than incoming frame rate. Therefore trying to implement processing of two frames in two different MB cores. No data sharing b/w cores are required i.e two independent cores are to be implemented.

 

However when I tried to instantiate two cores in ISE project displays WARNING MSG:-"Multiple instances of XPS module Embedded_MB have been detected. Only one instance of XPS module is allowed"


My question is : Is only one core of MB can be used ?  if no than what are the steps required to implement two MB cores?

 

I would appreciate any weblink/ documents discussing the same.

 

Thank you

Jayant

 

 

 

         

 

0 Kudos
6 Replies
Highlighted
Anonymous
Not applicable
6,493 Views

Yes, there is a limitation in the older versions of the ISE that only allow one xps be added. You can add the Netlist file instead to workaround this? The netlist will be in the implementation folder of the EDK project

0 Kudos
Highlighted
Visitor
Visitor
6,488 Views
Registered: ‎03-17-2010

Hi,

      Ok as you suggested, instead of using .Xmp file I used .ngc file for MB core. However during the implementation translate fails with below error: ( A full translate report is attached.)

 

ERROR:ConstraintSystem:59 - Constraint <NET
   "Inst_Embedded_MB/clock_generator_0/clock_generator_0/DCM0_CLK_OUT<0>"
   TNM_NET =
   Inst_Embedded_MB_clock_generator_0_clock_generator_0_DCM0_CLK_OUT_0__0>: NET
   "Inst_Embedded_MB/clock_generator_0/clock_generator_0/DCM0_CLK_OUT<0>" not
   found.  Please verify that:
   1. The specified design element actually exists in the original design.
   2. The specified object is spelled correctly in the constraint source file.

 

I suspect this may be because of both the instances of MB cores trying to use same DCM , pl correct if i am wrong.

However I am not able to resolve the issue since I am not certain about cause. Please help me to resolve the problem in full.

 

PS:- I am using ISE 11.5.

thank you

jayant

 

 

0 Kudos
Anonymous
Not applicable
6,482 Views

Nearly there. You will have to update your UFC file as the hierarchy is different now the you have added the netlist as apprised to the xmp file. However, you can add a wild card * to the beginning of the net. So for example:
"*/Inst_Embedded......

Do this and try again
0 Kudos
Highlighted
Visitor
Visitor
6,480 Views
Registered: ‎03-17-2010

Hi,

     Can you please elaborate a little more about use of said wild card " * " .

0 Kudos
Highlighted
Visitor
Visitor
6,478 Views
Registered: ‎03-17-2010

Hi,

        Ok so I could generate the bit file follwoing your help, However to do this I had to perform follwoing tasks:

 

  1. Use .ngc file for MB cores instead of .xmp files.
  2. Clear  Project to remove earlier generated files.
  3. Remove mdm (debug interface ) from EDK project .Since BScan utilisation was overflowing(200%) while maping.

However MB cores are not loaded with .elf files after loading the .bit file to FPGA. I.e bit file is not updated with .elf information.

Tried follwoings but failed:

1. Tried updating .bit file using UPDATE BITSTREAM WITH PROCESSOR DATA Option in ISE(which is a  usual method while using single core .xmp file) ERROR:- could not find the XPS module associated with this design

2. Added .elf file into project and tried to generate bit file .ERROR:- Bit file generation failed.

 

Can you help me to short out this last problem.

 

Thank you

 

 

0 Kudos
Highlighted
Anonymous
Not applicable
6,470 Views

You cant use the associate ELF without the XMP file. If you want to init the bram, then you will have to run data2mem from the command line.

 

data2mem -bm system_bd.bmm -bd hello_world.elf -bt system.bit -o b download.bit

 

Note: you only have to add one submodule as a netlist, the other can be left as an xmp file

0 Kudos