J
John Williams
Guest
Hi folks,
I'm trying to get the modular partial reconfig flow going (as per XAPP
290). Details below - if anyone has any suggestions I'm all ears! I'm
doing this all with ISE 6.1.02i (trying under both Linux and Windows XP,
same behaviour/problems).
As a first test, I successfully modularised my design, and implemented
it using the modular flow described in the ISE documentation (Chapter 4
of the Development System Reference Guide). This all worked as expected.
Next, I inserted the partial reconfig bus_macro between my two modules,
and created a set of placement constraints that ngdbuild would be happy
with. My toplevel design complies with all of the guidelines and rules
I can find in the various bits of documentation about the partial
reconfig flow (my hard-copy of XAPP290 is very well worn!).
I can perform top level initial budgeting without errors or warnings
(except the expected "assuming such-and-such is a module").
Doing active module implementation - I can MAP and PAR the individual
modules, and export the PIMs. PAR reports failure due to some signals
being unrouted. This concerned me, however I see that the same happens
in the example distributed with XAPP290...
I can perform final assembly on the pims and my toplevel, and it MAPs
and PARs succesfully (all signals routed in final assembly
implementation). There is one strange message in this final PAR during
guide file processing:
WARNING:Guide:147 - Design contains an unroutable situation due to
existing islands. This may be caused by having an invalid NCD as input.
Verify that the input NCD's were implemented correctly.
However eventually PAR completes without errors or more warnings.
Now here's the really wierd bit - if I try to load the placed and routed
toplevel NCD file into either fpga_editor, or even bitgen, it causes
that program to crash. Doing it on Linux I get a segfault, and on
windows I get the standard "error in this application".
So, somehow, the tools have build such a broken NCD file that it crashes
the other tools. The "progressive" NCDs produced during the various
lead-up phases seem OK - I can load them into FPGA editor etc.
A couple of questions:
(1) should the active module implementation phase "fail" with unrouted
signals? I thought the purpose of the bus_macro was to lock all of them
down, but seeing this behaviour in XAPP290 makes me wonder.
(2) Has anyone ever seen bitgen or fpga_editor choke on an NCD produced
by the implementation tools?
(3) Is there some other step I need to take to get this going?
If anyone has any ideas, please let me know.
Thanks,
John
I'm trying to get the modular partial reconfig flow going (as per XAPP
290). Details below - if anyone has any suggestions I'm all ears! I'm
doing this all with ISE 6.1.02i (trying under both Linux and Windows XP,
same behaviour/problems).
As a first test, I successfully modularised my design, and implemented
it using the modular flow described in the ISE documentation (Chapter 4
of the Development System Reference Guide). This all worked as expected.
Next, I inserted the partial reconfig bus_macro between my two modules,
and created a set of placement constraints that ngdbuild would be happy
with. My toplevel design complies with all of the guidelines and rules
I can find in the various bits of documentation about the partial
reconfig flow (my hard-copy of XAPP290 is very well worn!).
I can perform top level initial budgeting without errors or warnings
(except the expected "assuming such-and-such is a module").
Doing active module implementation - I can MAP and PAR the individual
modules, and export the PIMs. PAR reports failure due to some signals
being unrouted. This concerned me, however I see that the same happens
in the example distributed with XAPP290...
I can perform final assembly on the pims and my toplevel, and it MAPs
and PARs succesfully (all signals routed in final assembly
implementation). There is one strange message in this final PAR during
guide file processing:
WARNING:Guide:147 - Design contains an unroutable situation due to
existing islands. This may be caused by having an invalid NCD as input.
Verify that the input NCD's were implemented correctly.
However eventually PAR completes without errors or more warnings.
Now here's the really wierd bit - if I try to load the placed and routed
toplevel NCD file into either fpga_editor, or even bitgen, it causes
that program to crash. Doing it on Linux I get a segfault, and on
windows I get the standard "error in this application".
So, somehow, the tools have build such a broken NCD file that it crashes
the other tools. The "progressive" NCDs produced during the various
lead-up phases seem OK - I can load them into FPGA editor etc.
A couple of questions:
(1) should the active module implementation phase "fail" with unrouted
signals? I thought the purpose of the bus_macro was to lock all of them
down, but seeing this behaviour in XAPP290 makes me wonder.
(2) Has anyone ever seen bitgen or fpga_editor choke on an NCD produced
by the implementation tools?
(3) Is there some other step I need to take to get this going?
If anyone has any ideas, please let me know.
Thanks,
John