#
#The following timespecs are for clock to out where stepping is used.
TIMEGRP "PCI_PADS_D" OFFSET=OUT 28.000 AFTER "PCI_CLK" TIMEGRP "SLOW_FFS" ; TIMEGRP "PCI_PADS_B" OFFSET=OUT 28.000 AFTER "PCI_CLK" TIMEGRP "SLOW_FFS" ; TIMEGRP "PCI_PADS_P" OFFSET=OUT 28.000 AFTER "PCI CLK" TIMEGRP "SLOW FFS" ;
Target Technology
The intended target technology is for devices: QPro-R, Virtex-II, QPro Virtex-II, Spartan-II, Spartan-IIE, Virtex, Virtex-II, Virtex-E, Virtex-II Pro, and Virtex-4.
Virtex-4 Support
To meet PCI specification setup and hold times with the Virtex-4 architecture, it is necessary to insert an IDELAY primitive between the pad and I/O buffer of most PCI signals and to include additional constraints in the ucf-file. When IDELAY primitives are used in the mode required by the LogiCORE v3.0 core, IDELAYCTRL (idelay controllers) are required. Also required is a 200 MHz reference clock supplied by the user which is used by both IDELAY and IDELAYCTRL primitives. Note that these primitives are only required for Virtex-4 architecture. The additional constraints are discussed after the discussion of primitives specific to Virtex-4 devices.
The 200 MHz clock is input to port RCLK and must be driven by a global buffer. If the architecture is not off the Virtex-4 platform, the port does not connect to anything in the opb pci bridge, and it might be omitted from the MHS-file. This allows upgrading to v1.02.a from v1.01.a without changing ports. Recall that v1.01.a does not support the Virtex-4 architecture. It is required that the 200 MHz clock be stable when OPB RST is asserted to the OPB PCI Bridge. An unstable clock can result failure of OPB PCI Bridge operation. The clock source can be an external source or generated with a DCM in the FPGA. Application Notes and Implementation Guides for the LogiCORE v3.0 core, as well as reference designs using the OPB PCI Bridge, present options for generating the 200 MHz clock.
IDELAY primitives are instantiated automatically by the bridge when the Virtex-4 C_FAMILY parameter is set to the Virtex-4 architecure. The EDK tools automatically set this parameter and it can not be changed by the user. There is a special case to consider for instantiation of IDELAY primitives. Port GNT N requires the IDELAY primitive only if the port is connected to a package pin. If GNT_N is connected to an internal signal (e.g., an FPGA internal arbiter such as pci_arbiter_v1_00_a) or connected to ground, then an IDELAY primitive is not needed. EDK tools have the system level information to determine if GNT N is connected to a pad or has an internal connection. This accomplished with a tcl-script in the OPB PCI Bridge pcore library that is called by the EDK tools. EDK tools automatically sets the parameter C_INCLUDE_GNT_DELAY which controls if an IDELAY primitive is included in the GNT_N signal path. C_INCLUDE_GNT_DELAY defaults to exclude the IDELAY primitive and must be set by the user if the core is used outside EDK tools with GNT_N connected to a pin.
IDELAYCTRL primitives are not as automatic in the build procedure. It is required that the user instantiate the number of IDELAYCTRL primitive needed for their design and to provide LOC contraints for each IDELAYCTRL. This is required for EDK 8.1 tools because when instantiating only
54 | www.xilinx.com | DS508 March 21, 2006 |
| | Product Specification |