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: 
Adventurer
Adventurer
8,059 Views
Registered: ‎01-04-2008

MicroBlaze PVR Register

Jump to solution
I would like to use a register within a MicroBlaze as a special data anchor address that is loaded and used at run-time.   The PVR registers seemed useful at first, but their values are static.  Is there another type of register that can be used for this purpose that the compiler won't clobber?  Any help will be greatly appreciated.
0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
9,606 Views
Registered: ‎08-13-2007

Re: MicroBlaze PVR Register

Jump to solution

I like jraph's suggestion. Each MicroBlaze would have a different PVR (static) which would be used to read a unique address in the shared peripheral map with the dynamic value of the associated peripheral register entry. The code for the processors could even be the same.

 

bt

View solution in original post

0 Kudos
6 Replies
Xilinx Employee
Xilinx Employee
8,031 Views
Registered: ‎08-06-2007

Re: MicroBlaze PVR Register

Jump to solution
Hi,

Why does it have to be inside Microblaze?
Can't normal data in memory work?

Göran
0 Kudos
Visitor jralph
Visitor
8,025 Views
Registered: ‎12-03-2008

Re: MicroBlaze PVR Register

Jump to solution

Would a  PLB/OPB addressible flip-flop register work? Then you just access a 32 bit address in processor memory to read / write the register and contained bit-fields.

 

For handeling many different registers http://SpectaReg.com provides automation of logic/firmware and more.  It supports XPS MicroBlaze systems.

0 Kudos
Adventurer
Adventurer
8,002 Views
Registered: ‎01-04-2008

Re: MicroBlaze PVR Register

Jump to solution

The system contains multiple MicroBlazes and each needs to have a unique identifier that can be changed during run-time.  Currently all of the processors are on a shared bus, so a single memory-mapped register will give them all the same ID.  I could segment the system to use different busses, and then put a ID register on each bus at the same address with different values, but this is a very heavyweight solution.

 

-Jason

0 Kudos
Visitor jralph
Visitor
7,997 Views
Registered: ‎12-03-2008

Re: MicroBlaze PVR Register

Jump to solution
Could you have a different memory-mapped register for each MicroBlaze and still share the same bus?  Then each MicroBlaze would read a different address.
0 Kudos
Xilinx Employee
Xilinx Employee
9,607 Views
Registered: ‎08-13-2007

Re: MicroBlaze PVR Register

Jump to solution

I like jraph's suggestion. Each MicroBlaze would have a different PVR (static) which would be used to read a unique address in the shared peripheral map with the dynamic value of the associated peripheral register entry. The code for the processors could even be the same.

 

bt

View solution in original post

0 Kudos
Adventurer
Adventurer
7,961 Views
Registered: ‎01-04-2008

Re: MicroBlaze PVR Register

Jump to solution

That's a good idea.  I can easily create a single slave core using CreateIP and I can use the PVR register as an index into this slave core's memory-map.

 

Thank you,

-Jason

0 Kudos