Hi all, Christmas is closing so everybody is making presents. So is Xilinx. I just got mine! Read the story below: *********************************************************************** ISE/EDK/ChipScope update to 6.3 In attempt to get our EDK based SoC systems up and running again in EDK 6.3 I ended up creating simplest possible SoC using BSB (because none of working EDK 6.2 projects worked after update no matter any attempts to get them working). Attempted to debug in XMD: fatal disaster BRAM can be loaded from elf, can also look at the disassembly all is ok. Any attempt to trace or execute simplest program and all goes pasta, not any more possible to view (or write) even to LMB RAM ! Then I added ChipScope bus analyzer core to OPB bus. And simplified the test application. Here is the source code: ----------------------------------------------------------- // Xilinx Christmas Lights application ver 1.0 while (1) { i++; WriteToGPOutput(XPAR_LED_7SEGMENT_BASEADDR, i); } ----------------------------------------------------------- This is running in MicroBlaze SoC at system frequency 50MHz. Pretty much all leds should be lit, right? Or? It looks like (due to Christmas feeling !?) Xilinx tools have decided for me that my application should be "Christmas Lights" - because that how it works! The LEDS are blinking in fancy true random fashion at "human" blink rate, ie very slowly. The visual effects are pretty cool, really! When looking in ChipScope (OPB bus analyzer) I see writes to the GPIO port: 0x00800000, 0x01000000,0x02000000,0xFFFFFFE,0xFFFFFFC... Those are 5 example sequential writes to GPIO port (from the above program!), notice that between the GPIO writes there is always more than 512 OPB clocks of no OPB bus activity. And yes, I did UNINSTALL ALL ISE/EDK/ChipScope before update, then installed all the new versions plus service packs, etc.. *********************************************************************** Antti
Xilinx Christmas present: EDK 6.3 !
Started by ●December 12, 2004
Reply by ●December 15, 20042004-12-15
Antti, Can you add the LMB signals to your ChipScope trace? What is the processor doing during these 512 cycles of inactivity in between GPIO writes? One way to help find this out is to cross-reference the objdump output of the ELF file with the I-LMB to find out where in your code the processor is. One thing you may want to try to do with to replace the GPIO drivers with simple XIo_Out32 commands that may take fewer processor clock cycles to execute. It's possible the during this 512 clock cycle OPB inactivity, MicroBlaze is actually executing the rest of the GPIO driver code. Matt Antti Lukats wrote:> Hi all, > > Christmas is closing so everybody is making presents. So is Xilinx. I just > got mine! Read the story below: > *********************************************************************** > ISE/EDK/ChipScope update to 6.3 > > In attempt to get our EDK based SoC systems up and running again in EDK 6.3 > I ended up creating simplest possible SoC using BSB (because none of working > EDK 6.2 projects worked after update no matter any attempts to get them > working). Attempted to debug in XMD: fatal disaster BRAM can be loaded from > elf, can also look at the disassembly all is ok. Any attempt to trace or > execute simplest program and all goes pasta, not any more possible to view > (or write) even to LMB RAM ! Then I added ChipScope bus analyzer core to OPB > bus. And simplified the test application. Here is the source code: > > ----------------------------------------------------------- > // Xilinx Christmas Lights application ver 1.0 > while (1) { > i++; > WriteToGPOutput(XPAR_LED_7SEGMENT_BASEADDR, i); > } > ----------------------------------------------------------- > This is running in MicroBlaze SoC at system frequency 50MHz. Pretty much all > leds should be lit, right? Or? > > It looks like (due to Christmas feeling !?) Xilinx tools have decided for me > that my application should be "Christmas Lights" - because that how it > works! The LEDS are blinking in fancy true random fashion at "human" blink > rate, ie very slowly. The visual effects are pretty cool, really! > > When looking in ChipScope (OPB bus analyzer) I see writes to the GPIO port: > 0x00800000, 0x01000000,0x02000000,0xFFFFFFE,0xFFFFFFC... Those are 5 example > sequential writes to GPIO port (from the above program!), notice that > between the GPIO writes there is always more than 512 OPB clocks of no OPB > bus activity. > > And yes, I did UNINSTALL ALL ISE/EDK/ChipScope before update, then installed > all the new versions plus service packs, etc.. > > *********************************************************************** > > Antti > >
Reply by ●December 25, 20042004-12-25
Chipscope doesnt attach to LMB, a workaround is possible but too time consuming. No idea what processors was doing during idle but it can not be software overhead for sure. Anyway I finally have all EDK systems up and running again so it isnt a problem any for me. But if such problems happen with every minor EDK update then its a headache of course. Antti Lukats "Matthew Ouellette" <nobody@nobody.com> wrote in message news:cpqga4$bsn5@xco-news.xilinx.com...> Antti, > > Can you add the LMB signals to your ChipScope trace? What is the > processor doing during these 512 cycles of inactivity in between GPIO > writes? One way to help find this out is to cross-reference the objdump > output of the ELF file with the I-LMB to find out where in your code the > processor is. > > One thing you may want to try to do with to replace the GPIO drivers > with simple XIo_Out32 commands that may take fewer processor clock > cycles to execute. It's possible the during this 512 clock cycle OPB > inactivity, MicroBlaze is actually executing the rest of the GPIO driver > code. > > Matt > > Antti Lukats wrote: > > Hi all, > > > > Christmas is closing so everybody is making presents. So is Xilinx. Ijust> > got mine! Read the story below: > > *********************************************************************** > > ISE/EDK/ChipScope update to 6.3 > > > > In attempt to get our EDK based SoC systems up and running again in EDK6.3> > I ended up creating simplest possible SoC using BSB (because none ofworking> > EDK 6.2 projects worked after update no matter any attempts to get them > > working). Attempted to debug in XMD: fatal disaster BRAM can be loadedfrom> > elf, can also look at the disassembly all is ok. Any attempt to trace or > > execute simplest program and all goes pasta, not any more possible toview> > (or write) even to LMB RAM ! Then I added ChipScope bus analyzer core toOPB> > bus. And simplified the test application. Here is the source code: > > > > ----------------------------------------------------------- > > // Xilinx Christmas Lights application ver 1.0 > > while (1) { > > i++; > > WriteToGPOutput(XPAR_LED_7SEGMENT_BASEADDR, i); > > } > > ----------------------------------------------------------- > > This is running in MicroBlaze SoC at system frequency 50MHz. Pretty muchall> > leds should be lit, right? Or? > > > > It looks like (due to Christmas feeling !?) Xilinx tools have decidedfor me> > that my application should be "Christmas Lights" - because that how it > > works! The LEDS are blinking in fancy true random fashion at "human"blink> > rate, ie very slowly. The visual effects are pretty cool, really! > > > > When looking in ChipScope (OPB bus analyzer) I see writes to the GPIOport:> > 0x00800000, 0x01000000,0x02000000,0xFFFFFFE,0xFFFFFFC... Those are 5example> > sequential writes to GPIO port (from the above program!), notice that > > between the GPIO writes there is always more than 512 OPB clocks of noOPB> > bus activity. > > > > And yes, I did UNINSTALL ALL ISE/EDK/ChipScope before update, theninstalled> > all the new versions plus service packs, etc.. > > > > *********************************************************************** > > > > Antti > > > >