• 0

Use Microblaze performance monitoring engine from AXI4Lite


Question

Hi,

I would like to use the MicroBlaze performance monitoring engine to 
collect some information on my application code running on the processor 
itself. I would need these information at application level. I have a 
problem to access these values.

In order to do these things, I have created a project with MicroBlaze 
and extended debug function, with 5 event counters and 1 latency 
counter.

Then I have inserted a MDM in my design and created an AXI4lite slave 
port to access from MicroBlaze itself. In this mode I should be able to 
access to internal performance monitoring engine by using DBG_CTRL and 
DBG_DATA registers indicated to page 12 of pg115 (MDM product guide), 
with values indicated on page 92 of MB reference guide (version 
2015.04).

Suppose I need to measure number of any valid executed instruction, I 
have written the code attached to this post.

The problem happens when I perform the read from *dbg_data: the read 
action on this variable does not give any response.

The register pointed by variable is R/W.

Do you have any suggestion about this wrong behaviour?


Thank you.

code.c

Link to post
Share on other sites

2 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now