problem with microblaze connected ip core

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Has anybody written ever an user_logic core for some device which is
interfaced to a microblaze? I don't know what's wrong with the following:
I used the wizard to generate a simple 8 bit led_port core with a few 32
bits registers. In C I write the following:
 LedPortPtr = (Xuint32 *)XPAR_LED_PORT_0_BASEADDR;
         *(LedPortPtr) = 0xF3111111;
         //print ("1");
         *(LedPortPtr) = 0x0

The problem is that if I remove the print statements like above the port
doesn't show a square wave on an oscilloscope on one of the outputs. With
the print state it does.
With a dummy (volatile declared) delay loop it doesn't.
Readback of registers works fine.

the user_logic.vhd looks super simple:
SLAVE_REG_WRITE_PROC : process( Bus2IP_Clk ) is

   if Bus2IP_Clk'event and Bus2IP_Clk = '1' then
      if Bus2IP_Reset = '1' then
         slv_reg0 <= (others => '0');
         slv_reg1 <= (others => '0');
         slv_reg2 <= (others => '0');
         slv_reg3 <= (others => '0');
         case slv_reg_write_sel is
           when "1000" =>
Quoted text here. Click to load it
             for byte_index in 0 to (C_SLV_DWIDTH/8)-1 loop
               if ( Bus2IP_BE(byte_index) = '1' ) then

The arrows show the only added line, except for the port declarations. Looks
like the serial print finishes some bus acknowledge or whatever. Any
examples somewhere of such a super simple core? I mean something which
actually outputs something.

Re: problem with microblaze connected ip core

sorry, I solved my question. For archive reasons:
Need to use XIo_Out32(baseaddress + regoffset, data);
The error was the result of a wrong impression based on a document from
illinois institute of technology from internet which was doing as I

Site Timeline