FPGARelated.com
Forums

Why is Xilinx XPS 8.2i so slow?

Started by Unknown July 25, 2007
Gang

I created a half dozen example projects using ISE 8.2i and the
PicoBlaze on my S3-1600 Dev Board. I'm really comfortable with asm
programming so the lack of a C compiler was no big deal.
I am running under Windows XP SP2 on a dual cpu P6 @ 1.8GHz and 2GB of
RAM.

Now I have started using the XPS 8.2i with ISE 8.2i so that I can do
some MicroBlaze programming in C. I am creating some very simple
hardware systems that consist of the CPU, a uart and some RAM. When I
click the button to build the hardware bit stream it is taking 14
minutes to run.
When I compile my C code it takes about 45 seconds to compile and then
merge the ELF file with the hardware bit stream.

This 14 minute hw build time is totally unreasonable. I find myself
not willing to experiment with changes to the hardware because the
associated build times.

Am I doing something wrong? The entire hw and sw system is supposed to
be based on MAKE files that only reprocess a file that has changed.
The XPS environment depends on the ISE environment to create the hw
bitstream. My initial ISE/PicoBlaze experiences were very nice (i.e.
synthesis, map, place & route, etc were fast).

Is there a way to describe my MicroBlaze design without using the XPS?
or am I crazy for thinking
this way?

Any help would be appreciated.

Bob

bob.zigon@gmail.com wrote:
> Gang > > I created a half dozen example projects using ISE 8.2i and the > PicoBlaze on my S3-1600 Dev Board. I'm really comfortable with asm > programming so the lack of a C compiler was no big deal. > I am running under Windows XP SP2 on a dual cpu P6 @ 1.8GHz and 2GB of > RAM. > > Now I have started using the XPS 8.2i with ISE 8.2i so that I can do > some MicroBlaze programming in C. I am creating some very simple > hardware systems that consist of the CPU, a uart and some RAM. When I > click the button to build the hardware bit stream it is taking 14 > minutes to run. > When I compile my C code it takes about 45 seconds to compile and then > merge the ELF file with the hardware bit stream. > > This 14 minute hw build time is totally unreasonable. I find myself > not willing to experiment with changes to the hardware because the > associated build times. > > Am I doing something wrong? The entire hw and sw system is supposed to > be based on MAKE files that only reprocess a file that has changed. > The XPS environment depends on the ISE environment to create the hw > bitstream. My initial ISE/PicoBlaze experiences were very nice (i.e. > synthesis, map, place & route, etc were fast). > > Is there a way to describe my MicroBlaze design without using the XPS? > or am I crazy for thinking > this way? > > Any help would be appreciated. > > Bob >
Hi Bob - Could you post the map report (# of luts, # of brams) of the two systems? I suspect the Picoblaze system is vastly smaller. 14 minutes to run through synthesis, map and par seems quite reasonable, actually incredibly fast to me. As far as software changes go, I'd suggest that instead of initializing the bitstream with your ELF, just use XMD to download it. This way it takes only the time it takes for gcc. -Siva
On Jul 25, 10:19 pm, Siva Velusamy <siva.velus...@xilinx.com> wrote:
> bob.zi...@gmail.com wrote: > > Gang > > > I created a half dozen example projects using ISE 8.2i and the > > PicoBlaze on my S3-1600 Dev Board. I'm really comfortable with asm > > programming so the lack of a C compiler was no big deal. > > I am running under Windows XP SP2 on a dual cpu P6 @ 1.8GHz and 2GB of > > RAM. > > > Now I have started using the XPS 8.2i with ISE 8.2i so that I can do > > some MicroBlaze programming in C. I am creating some very simple > > hardware systems that consist of the CPU, a uart and some RAM. When I > > click the button to build the hardware bit stream it is taking 14 > > minutes to run. > > When I compile my C code it takes about 45 seconds to compile and then > > merge the ELF file with the hardware bit stream. > > > This 14 minute hw build time is totally unreasonable. I find myself > > not willing to experiment with changes to the hardware because the > > associated build times. > > > Am I doing something wrong? The entire hw and sw system is supposed to > > be based on MAKE files that only reprocess a file that has changed. > > The XPS environment depends on the ISE environment to create the hw > > bitstream. My initial ISE/PicoBlaze experiences were very nice (i.e. > > synthesis, map, place & route, etc were fast). > > > Is there a way to describe my MicroBlaze design without using the XPS? > > or am I crazy for thinking > > this way? > > > Any help would be appreciated. > > > Bob > > Hi Bob - > > Could you post the map report (# of luts, # of brams) of the two > systems? I suspect the Picoblaze system is vastly smaller. 14 minutes to > run through synthesis, map and par seems quite reasonable, actually > incredibly fast to me. > > As far as software changes go, I'd suggest that instead of initializing > the bitstream with your ELF, just use XMD to download it. This way it > takes only the time it takes for gcc. > > -Siva
Another way I save a LOT of time is by not using EDK (the gui that is :). Using a X/Cygwin shell and make you can perform all the operations that EDK can but without the overhead of a large Eclipse-based gui running in the background. I do not have data to backup it running faster, but at least it feels that way to me. To use the command line only, some of the commands you will want to learn are: "xps -nw system.xmp" - This will launch EDK in command line mode. From here some important commands are: "save make" - this will update (if necessary) the make files which are generated based upon the content of of your .mhs and .mss files. "make -f system.make netlist" - This will perform synthesis on your EDK project. "make -f system.make download" - This will generate the bitstream that can be downloaded with iMPACT, as well as perform the download to your board. You will need to ensure that etc/download.cmd in your project directory contains the proper commands to download to your board if you wish to use this method. This step will also perform synthesis if the netlist does not exist. "make -f system.make program" - This will compile all software for your system. If the system libraries need to be generated/built this will occur also. If you don't set your application to initialize BRAM, then you can save time by just having to download the software as you are debugging it. Re-downloading the bitstream takes only a few seconds compared to re-initializing BRAM and then downloading. If your software does not harm the state of hardware (i.e. you can re-run the software with the same expected results over and over again), then all you will need to do is download your software w/ XMD: 1) "xmd" 2) "connect mb <whatever method you're using. I recommend the MDM>" 3) "download <elf file>" HTH, Mike