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

[partial-reconfig] SystemACE and Partial Reconfig



 
Hi,
 
I was able to successfully integrate a simple XPS/EDK project and Planahead to accomplish dynamic partial reconfiguration.  Thank you to those that have given me feedbacks. 
 
Currently I have different full versions of my bit files stored as .ACE files on the CF, and I would like have the Microblaze use System ACE controller to load different .ACE files.  This has been done successfully using BSB.  However, because I would also like to add reconfigurable modules to the overall system, I need to also run the system through ISE and PlanAhead to generate the partial bitstream.
 
In following with the previous system, I extracted reconfigurable modules to the top level and added bus-macros for communication and renamed everything else as Static_Module in PlanAhead.  Everything seems to be fine except the newly added System ACE Controller.  During the "Implement Static Module" step in PlanAhead, I received the following error.....
 

Checking expanded design ...
WARNING:NgdBuild:885 - logical block 'reconfig_0' with type 'reconfig' is
   unexpanded and will be presumed to be a module.
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_8_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_8_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_3_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_3_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_15_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_15_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_10_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_10_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_9_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_9_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_4_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_4_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_11_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_11_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_5_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_5_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_0_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_0_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_12_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_12_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_6_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_6_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_1_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_1_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_13_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_13_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_7_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_7_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_2_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_2_OBUF with type
   OBUF
ERROR:NgdBuild:947 - bidirect pad net
   'fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_14_OBUF' is driving non-input
   buffer(s):
     pin I on block fpga_0_SysACE_CompactFlash_SysACE_MPD_pin_14_OBUF with type
   OBUF

Partition Implementation Status
-------------------------------

  No Partitions were found in this design.

-------------------------------

NGDBUILD Design Results Summary:
  Number of errors:    16
  Number of warnings:   1

All of the erros are repetitive and seem to relate to the Input/Ouput pin "SysACE_CompactFlash_SysACE_MPD_pin (16 bits)".   In system.vhd, the IOBUF is delcared as:


iobuf_0 : IOBUF
    port map (
      I => fpga_0_SysACE_CompactFlash_SysACE_MPD_O(15),
      IO => fpga_0_SysACE_CompactFlash_SysACE_MPD_pin(15),
      O => fpga_0_SysACE_CompactFlash_SysACE_MPD_I(15),
      T => fpga_0_SysACE_CompactFlash_SysACE_MPD_T(15)
    );

SysACE_MPD_pin is an in/out signal and uses the primitive IOBUF to control the direction of data flow.  Planahead does not seem to like this IOBUF.  I have already disabled the "Add I/O Buffer" option in ISE when synthesising static.vhd (system.vhd).

Could anyone plz point out a possible method to correct this??

 

Thank you

Edward Chen