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

Re: [partial-reconfig] DPR in ISE 8.1



> I'm studying the tutorial  "A module-based Dynamic
> Partial Reconfiguration"
> but there are some differences when using ISE 8.1
> I would like to know if some one has experience
> doing DPR in ISE 8.1  How
> should I place the bus macros in the floorplanner ?

Hi Fabio,

I myself am studying PR for my thesis. Just the other
day, I was able to get a very simple PR design working
(without clocks) and I am currently working on its
tutorial.

First of all I am assuming you are trying to place a
bus macro made of tri-state buffers and not the
sliced-based bus macro used in the virtex-4. So to
answer your question, the bus macros have an anchor in
which you place down on a specific BUFT on the FPGA. 
This all can be simply done in the UCF file. This
anchor is defined in the Hard Macro's XDL file in the
module declaration as:

module "bm_4b_v2" "t1A_(3)", cfg
"_system_macro::false";

The anchor here is the t1A_(3). If you open the Hard
Macro in the FPGA Editor, select that BUFT in the
list, and zoom in, you will see a "bulls-eye" on that
BUFT. For the UCF file, all you need to do to place
the Bus Macro is to tell the tools where to start the
placement of that hard macro. So the UCF file should
read:

INST "Bus2modules/bus1" LOC = "TBUF_X8Y77" ;

Now you can open your design with the new UCF
constraint in floorplanner and you should see the only
one TBUF at (in my example) X8Y77. Make sure you place
the anchor enough slices away so that that the left
and right TBUFs are in the correct module. For
example, my boundaries were:

AREA_GROUP "AG_instance1" RANGE =
SLICE_X0Y79:SLICE_X15Y0 ;
AREA_GROUP "AG_instance1" RANGE =
TBUF_X0Y79:TBUF_X14Y0 ;

AREA_GROUP "AG_instance2" RANGE =
SLICE_X16Y79:SLICE_X27Y0 ;
AREA_GROUP "AG_instance2" RANGE =
TBUF_X16Y79:TBUF_X26Y0 ;

The Bus Macro I used a total of 8 slices (4 left, 4
right). The bus macros in XAPP290 use only 4 slices (2
left, 2 right). Anyways, you just place the anchor (in
my example) 4 slices away from the boundary. 

 t1A_(3)  t2B_(2)  t3C_(1)  t4D_(0)           t1E_(3)
|  x8   |  x10   |  X12   | X14    ||Boundary|| x16
|...

The Mapping will place all the other TBUFs for you.

Hope this helps. Let me know if you have any issues.
-Mike

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
___________________________
partial-reconfig mailing list
partial-reconfig@xxxxxxxxxxxxxx
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/partial-reconfig/