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

RE: [partial-reconfig] Final Stage on Module-Based Partial Reconfig



Hi Dani,

in my design I have to use different top.ucf files, too.
This is not against any rule ;o)
But I think, concerning the bus macro, they have to match.
If you try to map without .nmc, it asks for an area group constraint?
That seems a little bit weird, as it should not know about the .nmc.
In the following a part of an .ucf from a little project is quoted:

-------------------quote-begin---------------------------------
#Area Assignments
INST "static_inst" 				AREA_GROUP = "AG_static" ;
INST "icap_wrapper_inst"			AREA_GROUP = "AG_static" ;
INST "bm_in_one"					AREA_GROUP = "AG_static" ;
INST "BUFG_1" 					AREA_GROUP = "AG_static" ;
INST "prm_a_inst"					AREA_GROUP = "AG_PR" ;

#Bus Macro Assignments
INST "bm_in_one" LOC = "SLICE_X24Y100" ;
INST "bm_LED_out" LOC = "SLICE_X44Y114" ;

#Clock Buffer
INST "BUFG_1" LOC = "BUFGCTRL_X0Y15" ;

#Area Range Definition
AREA_GROUP "AG_PR"	RANGE = "SLICE_X26Y96" : "SLICE_X45Y127" ;
AREA_GROUP "AG_PR" 	RANGE = "RAMB16_X2Y12" : "RAMB16_X2Y15" ;
AREA_GROUP "AG_static" 	RANGE = "SLICE_X0Y0" : "SLICE_X25Y127",
				"SLICE_X26Y0" : "SLICE_X47Y95",
				"SLICE_X46Y112" : "SLICE_X47Y127" ;
AREA_GROUP "AG_static" 	RANGE = "RAMB16_X0Y0" : "RAMB16_X1Y15", "RAMB16_X2Y0" : "RAMB16_X2Y11" ;

#Area Constraints
AREA_GROUP "AG_PR" 			MODE 				= RECONFIG ;
AREA_GROUP "AG_PR" 			GROUP 			= CLOSED ;
AREA_GROUP "AG_PR" 			PLACE 			= CLOSED ;
-------------------quote-end---------------------------------

This .ucf is used by all mappings etc...


AFTER synthesis, I do the following, where "-sd ..\..\cores"
points to the cores directory, containing the busmacro and coregen cores...
Actually, I additionally have to copy the nmc and ngc files to the "base" directory.
Maybe, this is a problem of the EA partial flow(6), I am using.
Will update to PR8, today. :o)

-------------------quote-begin---------------------------------
copy synth\top\top.ngc top\initial\top.ngc
copy synth\base\static.ngc base\static.ngc
copy synth\base\icap_wrapper.ngc base\icap_wrapper.ngc
copy synth\prm_a\prm_a.ngc reconfigmodules\prm_a\prm_a.ngc
copy synth\prm_b\prm_a.ngc reconfigmodules\prm_b\prm_a.ngc
pause

cd top\initial
copy ..\top.ucf top.ucf
ngdbuild -modular initial -uc top.ucf -sd ..\..\cores top.ngc 
cd ..\..
pause

cd base
copy ..\top\top.ucf top.ucf
ngdbuild -modular initial -uc top.ucf -sd ..\..\cores ..\top\initial\top.ngo
map -p XC4VFX12-FF668-10 -u -cm speed -detail -pr b -ir -k 4 -tx off -o top_map.ncd top.ngd top.pcf
@echo base design has been mapped...
pause
par -w -ol high -xe n -t 1 top_map.ncd top.ncd top.pcf
cd ..
@echo base design has been built...
pause
-------------------quote-end---------------------------------

When implementing the PRMs, I of course use the top.ngo as above,
but do not copy the busmacro .nmc to the implementation directory.

-------------------quote-begin---------------------------------
cd reconfigmodules\prm_a
copy ..\..\top\top.ucf top.ucf
copy ..\..\base\static.used arcs.exclude
ngdbuild -modular module -active prm_a -uc top.ucf -sd ..\..\cores ..\..\top\initial\top.ngo
map -p XC4VFX12-FF668-10 -u -cm speed -detail -pr b -ir -k 4 -tx off -o top_map.ncd top.ngd top.pcf
@echo "Mapping done..."
pause
par -w -ol high -xe n -t 1 top_map.ncd top.ncd top.pcf
cd ..\..
pause
-------------------quote-end---------------------------------

I hope, the given information help you to work out your problem.

Regards,
Michael


-----Original Message-----
From: owner-partial-reconfig@xxxxxxxxxxxxxx
[mailto:owner-partial-reconfig@xxxxxxxxxxxxxx]On Behalf Of Dani Rguez
Sent: Thursday, August 03, 2006 4:40 PM
To: partial-reconfig@xxxxxxxxxxxxxx
Subject: RE: [partial-reconfig] Final Stage on Module-Based Partial
Reconfig


Hi Michael,

I didn´t mean in the vhdl code. I was speaking about putting or not the 
bus-macro in the folder when doing each stage. I had put it in all stages 
and after your answer I tried putting it just in Initial and Assembly Stages 
(those who inply the top entity), but I got the same result. After that I 
have tried to do it just in the final assembly stage but it has problems 
too. In fact, when I try any stage without the nmc, it says I need 
AREA_GROUP constraint for the bus-macro, so I have to change the ucf for 
those cases, which goes against the rule that top.ucf must be the same for 
all compilation.

  When you say "MAP and PAR of the static part of the design need the 
related
>bus_macroxxx.nmc to be copied to the local directory", do you mean that you 
>use the .nmc just in that stage (the Active Module Implementation)? You 
>don´t put the .nmc in the folder when you do the same with the 
>reconfigurable modules??

  Can you please tell me in which stages you put it and when not? I supose 
we both have the same 3 main stages: Initial, Active Module and Assembly.

  Thank you in advance,

  Dani

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