Instruction time (lwi) on Microblaze

Jul 29, 2013 0 Replies

Hi,



I'm trying to accomodate with microblaze on a spartan starter kit 3a board and now I'm looking into measuring execution time of different things. I have a small loop that I'm analysing:


while(1) { if (intr_served==1) // this is set by an interrupt handler triggered by a FIT timer running at 1 second



{ intr_served=0; num=0; //resets the global counter } num++; }



Microblaze is running at 62500000 with the following specs:



BEGIN microblaze PARAMETER INSTANCE = microblaze_0 PARAMETER C_AREA_OPTIMIZED = 0 PARAMETER C_USE_BARREL = 1 PARAMETER C_DEBUG_ENABLED = 0 PARAMETER HW_VER = 8.40.b PARAMETER C_USE_ICACHE = 0 PARAMETER C_CACHE_BYTE_SIZE = 2048 PARAMETER C_USE_DCACHE = 0 PARAMETER C_DCACHE_BYTE_SIZE = 2048 PARAMETER C_NUMBER_OF_PC_BRK = 1 PARAMETER C_NUMBER_OF_RD_ADDR_BRK = 0 PARAMETER C_NUMBER_OF_WR_ADDR_BRK = 0 BUS_INTERFACE DPLB = mb_plb BUS_INTERFACE IPLB = mb_plb BUS_INTERFACE DLMB = dlmb BUS_INTERFACE ILMB = ilmb PORT INTERRUPT = microblaze_0_interrupt PORT Trace_PC = microblaze_0_Trace_PC_to_chipscope_ila_0 PORT Trace_Valid_Instr = microblaze_0_Trace_Valid_Instr_to_chipscope_ila_0



PORT Trace_Data_Read = microblaze_0_Trace_Data_Read_to_chipscope_ila_0 PORT Trace_Data_Write = microblaze_0_Trace_Data_Write_to_chipscope_ila_0 PORT Trace_Data_Address = microblaze_0_Trace_Data_Address_to_chipscope_ila_0



PORT Trace_Reg_Addr = microblaze_0_Trace_Reg_Addr_to_chipscope_ila_0 PORT Trace_Reg_Write = microblaze_0_Trace_Reg_Write_to_chipscope_ila_0 PORT Trace_OF_PipeRun = microblaze_0_Trace_OF_PipeRun_to_chipscope_ila_0 PORT Trace_MEM_PipeRun = microblaze_0_Trace_MEM_PipeRun_to_chipscope_ila_0



PORT Trace_EX_PipeRun = microblaze_0_Trace_EX_PipeRun_to_chipscope_ila_0 PORT Trace_MB_Halted = microblaze_0_Trace_MB_Halted_to_chipscope_ila_0 END



I don't have any DDR memory. The code runs from BRAM.



When i check out the code with chipscope to see how many clock cycles my loop takes, I notice that the lwi instruction takes more than 1 cycle, as written in the manual. Any ideas why this happens ?


Any ideas will be greatly appreciated :)



Thanks !


--------------------------------------- Posted through

formatting link


Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required