[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [partial-reconfig] "Modularization" of Microblaze flow



Hi Dimitris,

Dimitris Syrivelis wrote:

>    Has anybody achieved module-based dynamic partial reconfiguration through 
> ICAP on microblaze platform? 

I did some work on this with EDK6.1, about 12/18 months ago, as part fo 
the ICAP/OPB sdtuff that you mention below.  However, it was a horrible, 
horrible hack, where I ran platgen first, then some scripts went in and 
careved up the implementation/ subdir, moving each core into its own 
subdir, and so on.  Not recommended.

Things should be better now in EDK6.3 because each peripheral does, by 
default, get implemented into its own subdir inside implementation/. 
So, the hard work there is already done.

>     Iam aware of the uClinux hwicap driver that John Williams has written -so 
> one may use uClinux to download bitstreams - but  it seems impossible to 
> create a partial bitstream  (not differenced based - an entirely new module).    

Yeah - I never sucessfully created a partial bitstream this way - in the 
end to test my ICAP stuff I just edited bitfiles by hand in fpga_editor, 
and then did bit diffs with bitgen...

> My main concerns are:
>       -Can the FPGA unchangeable pin assignment ( used to interface off-chip 
> peripherals RAM-flash etc) on a specific platform be the module-based-DPR 
> bottleneck? (i have read that pins should be within the module area)

Yes - your board layout will be a constraint.  None of the commercial 
dev boards I know about are pinned with DPR in mind.  In particularl, 
you tend to get all the top and bottom IOs beign used for things like 
memory, making it very hard to work around this.

>      - Does XCV1000 have enough resources to constrain the basic uclinux-auto 
> (for instance) setup in order to create available frames for DPR? I have 
> opened system.ngd of uClinux-auto using the Xilinx floorplanner and it seems 
> that it has "conquered" 80% of the device :-).

Now that the microblaze auto-config is working, it should be easy to 
make a uCtiny system, that is completely bare-boned, but still running 
uClinux.  Microblaze, timer, interrupt controller, external memory - 
that's about the minimal.  A uartlite is nice if you want to actually 
talk to the thing!

The main reason uClinux-auto is so big is the ethernet controller, plus 
I have a pretty beefy microblaze in there with barrel shifters, 
dividers, caches and so on.

>   Any information would be very much appreciated. If there is an ongoing 
> effort on this i would like to help in anyway i can.

This topic comes up every now and again - we have a postgrad in our 
group also considering similar issues.   I don't have enough time these 
days for hacking on the synthesis flow for partial reconfig, but I'd 
love to see someone get it going!

Regards,

John


___________________________
partial-reconfig mailing list
partial-reconfig@itee.uq.edu.au
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/partial-reconfig/