Home
UG070 Virtex-4 User Guide
Contents
1. IOB 10B SSTL18_ll SSTL18_ll Rg 209 Rp 29 7500 Rp 29 500 2 Re 200 J gt Kw A AND Veer 0 9V DCI IOB IOB 2Rypp 2Zg 1002 2Rypp 2Zo 1000 SSTEIS IEBOI SSTL18 Il DCI IoD T Veer 0 9V Ro 2200 REF 2Rypy 2Zo 1002 E 2Rypy 2Zo 1000 Vper 0 9V 7 E lt Ro 2200 ug070 6 66 071904 Figure 6 68 SSTL 1 8V Class Il Termination Table 6 29 lists the SSTL 1 8V DC voltage specifications Table 6 29 SSTL 1 8V DC Voltage Specifications Class Class Il Min Typ Max Min Typ Max Veco 1 7 1 8 1 9 1 7 1 8 1 9 Vrer 0 5 x Veco 0 833 0 9 0 969 0 833 0 9 0 969 Vor Vggr NO 0 793 0 9 1 009 0 793 0 9 1 009 Vig Vggp t 0 125 0 958 220 0 958 2 20 Vg Vggp 0 125 0 30 0 844 0 300 0 844 Vou Vrr 0 6030 1 396 1 396 VoL Vrr 0 6030 0 406 0 406 278 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Table 6 29 SSTL 1 8V DC Voltage Specifications Continued Class Class Il Min Typ Max Min Typ Max lon at Vou mA 6 7 13 4 lor at Vor mA 6 7 m 13 4 p Notes 1 N must be greater than or equal to 0 04 and less than or equal to 0 04 2 Viy maximum is Veco 0 3 3 Vy minimum does not conform to the formula 4 Because SSTL I DCI uses a controlled impedance driver Voz and
2. Component Instantiation for IDELAY should be placed in architecture after the begin keyword Instantiation Section U1 IDELAY generic map IOBDELAY TYPE Set to DEFAULT for Zero Hold Time Mode 0 to 63 DI gt EFAULT IOBDELAY VALUE gt 0 port map O gt data output I data input C gt 0 CE gt 0 INC 2 0 RST gt y yy Verilog for Zero Hold Time Delay Mode Module IDELAY Description Verilog instantiation template Zero Hold Time Mode a Device Virtex 4 Family D T E Instantiation Section IDELAY U1 O data output I data input C 1 b0 CE 1 5b0 INC 1 b0 RST 1 b0 Set IOBDELAY TYPE attribute to DEFAULT for Zero Hold Time Mode synthesis attribute IOBDELAY TYPE of Ul is DEFAULT synthesis attribute IOBDELAY VALUE of U1 is 0 Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 325 Chapter 7 SelectlO Logic Resources Fixed Delay Mode XILINX The following code shows how to instantiate the IDELAY module in fixed delay mode with a tap setting of 31 IDELAYCTRL must also be instantiated when operating in this mode see IDELAYCTRL Overview page 329 VHDL for Fixed Delay Mode Module ID ELAY Fixed Delay Mode Device Virtex 4 Family Components Declarations Component Declaration for Il The IDELAYCTRL primiti
3. DCM PS Primitive The DCM PS primitive accesses all DCM features and ports available in DCM BASE plus additional ports used by the variable phase shifting feature DCM PS also has the following available DCM features clock deskew frequency synthesis and fixed or variable phase shifting Table 2 3 lists the available ports in the DCM PS primitive Table 2 3 DCM PS Primitive Available Ports Port Names Clock Input CLKIN CLKFB PSCLK Control and Data Input RST PSINCDEC PSEN 56 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX DCM Ports Table 2 3 DCM_PS Primitive Continued Available Ports Port Names Clock Output CLKO CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV CLKFX CLKFX180 Status and Data Output LOCKED PSDONE DO 15 0 DCM ADV Primitive DCM Ports The DCM ADV primitive has access to all DCM features and ports available in DCM PS plus additional ports for the dynamic reconfiguration feature It is a superset of the other two DCM primitives DCM ADV uses all the DCM features including clock deskew frequency synthesis fixed or variable phase shifting and dynamic reconfiguration Table 2 4 lists the available ports in the DCM ADV primitive Table 2 4 DCM ADV Primitive Available Ports Port Names Clock Input CLKIN CLKFB PSCLK DCLK Control and Data Input RST PSINCDEC PSEN DADDR 6 0 DI 15 0 DWE DEN Clock Output
4. IOB Vaz 0 75V Vq 0 75V IOB DIFF HSTL Il DIFF HSTL Il xX Vr 0 75V Vr 0 75V DIFF HSTL Il l DIFF HSTL Il 500 500 l DX 79 Bd l DIFF HSTL Il DIFF HSTL Il L 2 ug070 6 42 071904 Figure 6 44 Differential HSTL 1 5V Class II Bidirectional Termination 254 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Figure 6 45 shows a sample circuit illustrating a valid termination technique for differential HSTL Class II 1 5V with bidirectional DCI termination DCI IOB Veco 1 5V DIFF HSTL Il DCI 2Rypp 2Zg 1002 2Rypy 2Zg 1000 DIFF HSTL Il DCI DIFF HSTL Il DCI DIFF HSTL Il DCI V DIFF HSTL Il DCI cco 2Rypp 2Zg 1002 1 5V 2Rygw 2Zg 1000 Veco 1 5V cco DIFF HSTL Il DCI 2Rypp 2Zo 1002 2Rypy 2Zg 1002 ug070 6 43 071904 Figure 6 45 Differential HSTL 1 5V Class Il DCI Bidirectional Termination Table 6 16 lists the differential HSTL Class II DC voltage specifications Table 6 16 Differential HSTL Class Il DC Voltage Specifications Min Typ Max Veco 1 40 1 50 1 60 Ver Veco x 0 5 Vin DC 0 30 Veco 0 30 Vorrr DC 0 20 Veco 0 60 Vow DC 0 68 0 90 Voir AC 0 40 Veco 0 60 Vx Crossover 2 0 68 0 90 Notes 1
5. Optional output registers 0 or 1 64 bit output data 2 bit Status output 64 bit data input 92bxt 1 bit 1 bit 1 bit 9 bit Ispit 1 bit Block RAM ECC Verilog Template RAMB32 S64 ECC Verilog data address input read clock input read enable input synchronous reset write address input write clock input write enable input End of RAMB32 S64 ECC inst instantiation RAMB32 S64 ECC To incorporate this function into the design Verilog the following instance declaration needs to be placed instance in the body of the design code The instance name declaration RAMB32 S64 ECC inst and or the port declarations code within the parenthesis can be changed to properly reference and connect this function to the design All inputs and outputs must be connected Cut code below this line gt RAMB32 S64 ECC Virtex 4 512 x 64 Error Correction Block RAM Nirtex 4 User Guide RAMB32 S64 ECC Optional output registers 0 or 1 DO REG 0 RAMB32 S64 ECC inst DO DO STATUS STATUS DI DI RDADDR RDADDR RDCLK RDCLK RDEN RDEN SSR SSR WRADDR WRADDR WRCLK WRCLK 7 WREN WREN 64 bit output data 2 bit status output 64 bit data input 9 bit data address input 1 bit read clock input 1 bit read enable input 1 bit synchronous reset
6. BY D gt DATA_IN or Address SLICEWE 1 0 MUXF5 gt F5 rimam XMUX ADDRESS F4 DO FS BX C gt e DATA N or Address CLK C gt SR C gt Write Enable UGO070 5 22 071504 Figure 5 22 Simplified Virtex 4 SLICEM Distributed RAM Virtex 4 User Guide www xilinx com UGO070 v2 0 January 4 2007 193 Chapter 5 Configurable Logic Blocks CLBs XILINX Distributed RAM Timing Parameters Table 5 6 shows the timing parameters for the distributed RAM in SLICEM for a majority of the paths in Figure 5 22 Table 5 6 Distributed RAM Timing Parameters Parameter Function Description Sequential Delays for Slice LUT Configured as RAM Distributed RAM Tsucko CLK to X Time after the Clock CLK of a Write operation that the data written to the distributed RAM is stable on the X output of the slice Tsuckors CLK to F5 output WE Time after the Clock CLK of a Write operation that the data written to the active distributed RAM is stable on the F5 output of the slice Setup and Hold for Slice LUT Configured as RAM Distributed RAM Tyg Setup time before clock edge Tyg Hold time after clock edge The following descriptions are for setup times only Tps Tpn BX BY configured as data Time before the clock that data must be stable at the BX BY input of the input DI slice TAs TAH F G Addres
7. 0 le 102 IBUEG BUFG and PMCD 4 hereto eere met ete pep etm eap ene s 103 PMCD for Further Division of Clock Frequencies 0 000 cece eens 104 VHDL and Verilog Templates and the Clocking Wizard 105 VHDL Template ee ERR RR RUERC CER DER RE eG Eee tice a Eee d 107 Verilog Template iiic e rm ye a sd Sega bee y tek vale eee 108 Chapter 4 Block RAM Block RAM Summary ee rodar dade as ehe od o dU Rondo 111 Additional Virtex 4 Block RAM Features 00 cc cece cece eh 111 Block RAM Introduction ssssssseeee I 112 Synchronous Dual Port and Single Port RAMS 05 112 D ta FlOW s td Ere et e de eed ES eee dede ede do Pete dedi des 112 Read Operation eee emu ertet eR eerie e pee reuse ena rd e ede gree 114 Write Operation epic Ee eR de A EV AR epe C ee e es d ee ren 114 Operating MOod s s e E oe eoe eet tone edere denti weg pes ene eR bod 114 WRITE FIRST or Transparent Mode Default lsseeeeeeeeeeeeeee 114 READ FIRST or Read Before Write Mode 0 ccc ccc cece eee eens 115 NO CHANGE Mode 42234 yc edie Re Bad olin Oe ae BAG ee 115 Conflict Avoidance iste err ales a sca ee eck pas exa mace ea na ede wl Nal Re ta 115 Asynchronous Clocking sexe px ERA Ho E PR EU IHEPO PERDU eruta 116 Synchronous Clocking ssepe stai ie tUe ob REP ects bees ee 116 Additional Block RAM Features in Virtex 4 Devices uuussss 116 Optio
8. 253 HSTL Class lll eri m ankea nen Vase PeeWee Vee RETE Ede iere 256 HST L Class IV 2334 0oetctee ice tiene aa DI UI abe es thee E E RE 257 HSILClassI L8V eee oohgecciseangeengan beams LP EAR one s 259 HSTE Class Il 18V s cetsexeenem b e ERI Ne a RE T Ee DREA 260 Complementary Single Ended CSE Differential HSTL Class II 1 8V 262 HSTI Class M 1 8V erreren ee ineei e RES CHR E HR E ELO HD EC dens 265 HST Class IV 1 8V secet chee ek RE bbeI ipa tens Ripe e pd ades 266 SSTL Stub Series Terminated Logic ssssseseeeeeeeeeee 268 SSTE2 LSSTETS8 TD Usage 254 eed hey pee e ra ne RUE RR VE x eras 268 SSIL2 I DCLSSTLI8 I DCIUsage eseeeeee eee eens 268 SSTE2 AL SSTLIS M USages 2o eoe t t etn eR rie do e Aes 269 SSIL2 II DCLSSTIL18 Il DCI Usage eee 269 DIFF SSTL2 IL DIFF_SSTL18_II Usage seeeeee tere rore strass 269 DIFF SSTL2 II DCI DIFF_SSTL18_II_DCI Usage 1 0 cece cece n 269 SSTI2 Class I 2 5V edes abe stes rre e er be crenata nee kp ordre aoe 270 SSTI2 Class IL 2 5V s rete xe HERPES UE UU RS Ee madeu Wer ies 271 Complementary Single Ended CSE Differential SSTL2 Class II 2 5V 273 SSTL18 Class I 1 8V eri rece Ser Re EXC RR CURE IH PER bp RI RE EE 276 SSTLEI8 Class IL L 8V ois seu eher te a RE bey et E EE REPH ae ved E 277 Complementary Single Ended CSE Differential SSTL Class II 1 8V 279 Differential Termination DIFF TERM Attrib
9. Min Typ Max Vcco 17 1 8 1 9 Vrer 2 1 1 Ver Veco 2 Vin Vgrgr 0 1 Vin Vref 0 1 Vou Veco 0 4 VoL 0 4 Tox at Voy mA 8 Tor at Vor mA 24 z E Notes 1 Vor and Voy for lower drive currents are sample tested 2 Per EIA JESD8 6 The value of Vggp is to be selected by the user to provide optimum noise margin in the use conditions specified by the user Virtex 4 User Guide www xilinx com 265 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources HSTL Class IV 1 8V XILINX Figure 6 57 shows a sample circuit illustrating a valid unidirectional termination technique for HSTL Class IV 1 8V External Termination Vyr 1 8V Vyr 1 8V IOB IOB HSTL IV 18 HSTL IV 18 Rp Z9 500 Rp Zp 502 i Qu X Veer 1 1V L DCI IOB 7 IOB Rypp Zo 500 HSTL_IV_DCI_18 X Rypp Zo 500 HSTL_IV_DCI_18 L Vper 1 1V ug070_6_55_071904 Figure 6 57 HSTL Class IV 1 8V with Unidirectional Termination 266 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Figure 6 58 shows a sample circuit illustrating a valid bidirectional termination technique HSTL IV 18 HSTL IV DCI 18 for HSTL Class IV 1 8V External Termination ioB Va 1 8V Vat 1 8V qug HSTL_IV_18 i Rp Zg 2500 Rp
10. J port O out std_ulogic CE in std ulogic CLR in std ulogic I in std ulogic end component Example BUFR instantiation U BUFR BUFR Port map O gt user o CE user ce CLR user clr I gt user i Declaring constraints in VHDL file attribute BUFR DIVIDE string attribute LOC string attribute INIT OUT of U BUFR label is BYPASS attribute LOC of U BUFR label is BUFR_X Y where 4 is valid integer locations of BUFR Verilog Template Example BUFR module declaration module BUFR O CE CLR I output O input CE input CLR input I parameter BUFR DIVIDE BYPASS endmodule Example BUFR instantiation BUFR U BUFR O user 0 CE user ce CLR user clr I user i Declaring constraints in Verilog synthesis attribute BUFR DIVIDE of U BUFR is BYPASS synthesis attribute LOC of U BUFR is BUFR_X Y Virtex 4 User Guide www xilinx com 51 UGO070 v2 0 January 4 2007 Chapter 1 Clock Resources where is valid integer locations of BUFR Declaring Constraints in UCF File INST U BUFR BUFR DIVIDE BYPASS INST U BUFR LOC BUFR_X Y where is valid integer locations of BUFR 52 www xilinx com XILINX Virtex 4 User Guide UG070 v2 0 January 4 2007 lt XILINX Chapter 2 Digital Clock Managers DCMs DCM Summary The Virtex 4 Digital Clock Managers DCMs provide a wide ran
11. PMCD Attribute Name Description Values Default Value RST DEASSERT CLK This attribute allows the deassertion of the RST String CLKA signal to be synchronous to a selected PMCD CLKA CLKB CLKC input clock or CLKD EN REL This attribute allows for CLKA1D2 CLKA1D4 Boolean FALSE and CLKA1D8 outputs to be released at REL FALSE TRUE signal assertion Note REL is synchronous to CLKA input PMCD Usage and Design Guidelines This section provides a detailed description for using the Virtex 4 PMCD and design guidelines Phase Matched Divided Clocks A PMCD produces binary divided clocks that are rising edge aligned to each other From a clock input CLKA the PMCD derives four output clocks a clock with the same frequency as the original CLKA 1 4 and 1 the frequency Figure 3 3 illustrates the input CLKA and the derived clocks CLKA1 CLKA1D2 CLKA1D4 and CLKA1D8 CLKA1 isa delayed CLKA thus CLKA and CLKA1 are not deskewed CLKA1D2 CLKA1D4 and CLKA1DS are rising edge aligned to CLKA1 CLKA1 reflects the duty cycle of CLKA However the divided clocks CLKA1D2 CLKA1D4 and CLKA1D8 will have a 50 50 duty cycle regardless of the CLKA duty cycle CLKA LI L L L LJ LJ LI L CLKA1 LJ Li LJ LJ LJ LJ Li L L CLKA1D2 LJ EN CLKA1D4 Lo Lo dj CLKA1D8 l l l l Tpwiccko_CLKIN ug070_3_03_071404 Figure 3 3 PMCD Frequency Divider Matched Clock P
12. Timing Characteristics Figure 5 21 illustrates the general timing characteristics of a Virtex 4 slice 1 2 3 CEK A O SA amp KH A Tceck CE ra 4 Tpick TrxcK D FX DATA TlsnRck SR RESET Tcko I Tcko YQ OUT 1 1 1 UGO70 5 21 080204 Figure 5 21 General Slice Timing Characteristics e At time Tcgcy before clock event 1 the clock enable signal becomes valid high at the CE input of the slice register e Attime Tpjck or Tryck before clock event 1 data from either BX BY FXINA or FXINB inputs become valid high at the D input of the slice register and is reflected on either the XO or YO pin at time Tcxo after clock event 1 e Attime Tsrcx before clock event 3 the SR signal configured as synchronous reset in this case becomes valid high resetting the slice register This is reflected on the XQ or YO pin at time Tcxo after clock event 3 192 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX CLB Slice Timing Models Slice Distributed RAM Timing Model and Parameters Available in SLICEM only Figure 5 22 illustrates the details of distributed RAM implemented in a Virtex 4 slice Some elements of the Virtex 4 slice are omitted for clarity Only the elements relevant to the timing paths described in this section are shown COUT MUXFX FXINA C gt gt FXINB gt EEX YMUX ADDRESS 54 T ae
13. Virtex 4 User Guide www xilinx com 319 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources 320 XILINX Table 7 5 LOGIC Switching Characteristics Continued Symbol Description Ticck TickiNC DLYINC pin Setup Hold with respect to CLKDIV Tisgck Ticksg SR REV pin Setup Hold with respect to CLK Tipock Triockp D pin Setup Hold with respect to CLK without Delay Tmipockp Tiockpp D pin Setup Hold with respect to CLK IOBDELAY TYPE DEFAULT D pin Setup Hold with respect to CLK IOBDELAY TYPE FIXED IOBDELAY VALUE 0 Combinatorial Tipi D pin to O pin propagation delay no Delay Tipp D pin to O pin propagation delay IOBDELAY_TYPE DEFAULT D pin to O pin propagation delay IOBDELAY TYPE FIXED IOBDELAY VALUE 0 Sequential Delays TIpLo D pin to O1 pin using flip flop as a latch without Delay TipLop D pin to O1 pin using flip flop as a latch IOBDELAY TYPE DEFAULT D pin to O1 pin using flip flop as a latch IOBDELAY TYPE FIXED IOBDELAY VALUE 0 Ticko CLK to Q outputs TicE10 CE1 pin to O1 using flip flop as a latch propagation delay Tro SR REV pin to OQ TO out Input Delay Element IDELAY Every ILOGIC block contains a programmable absolute delay element called IDELAY Refer to Figure 7 1 ILOGIC Block Diagram IDELAY is a 64 tap wrap around delay element with a fixed guaranteed tap resolution see Virtex 4 Data Sheet It ca
14. Chapter 1 Clock Resources 28 e Before time event 1 output O uses input IO 2 XILINX e At time Tgccck cr before the rising edge at time event 1 both CE0 and S0 are deasserted Low At about the same time both CE1 and S1 are asserted High e Attime Tpccko o after time event 3 output O uses input I1 This occurs after a High to Low transition of I0 event 2 followed by a High to Low transition of I1 e Attime event 4 IGNORE1 is asserted e At time event 5 CEO and S0 are asserted High while CE1 and 1 are deasserted Low At Tpccko o after time event 7 output O has switched from I1 to I0 without requiring a High to Low transition of I1 Other capabilities of BUFGCTRL are e Pre selection of the I0 and I1 inputs are made after configuration but before device operation e The initial output after configuration can be selected as either High or Low e Clock selection using CEO and CE1 only S0 and S1 tied High can change the clock selection without waiting for a High to Low transition on the previously selected clock Table 1 5 summarizes the attributes for the BUFGCTRL primitive Table 1 5 BUFGCTRL Attributes Attribute Name INIT OUT Description Initializes the BUFGCTRL output to the specified value after configuration Sets the positive or negative edge behavior Sets the output level when changing clock selection Possible Values 0 default 1 PRESELECT I0 If TRUE BUFGCTRL outp
15. Example PMCD module declaration module PMCD CLKA1 CLKA1D2 CLKA1D4 CLKA1D8 CLKB1 CLKC1 CLKD1 CLKA CLKB CLKC CLKD REL RST output CLKA1 output CLKA1D2 output output output output output input input input input input input parameter EN REL FALSE CLKA1DA CLKA1D8 CLKB1 CLKC1 CLKD1 CLKA CLEB CLERC CLKD REL RST parameter RST_DEASSERT_CLK CLKA endmodule Example PMCD instantiation PMCD U_PMC CLKA1 use D r_clkal 108 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX VHDL and Verilog Templates and the Clocking Wizard CLKA1D2 user clkai1d2 CLKA1D4 user clkaild4 CLKA1D8 user_clkald8 CLKB1 user_clkb1 CLKC1 user clkc1 CLKD1 user clkd1 CLKA user clka CLKB user clkb CLKC user clkc CLKD user clkd REL user rel RST user rst Virtex 4 User Guide UG070 v2 0 January 4 2007 www xilinx com 109 Chapter 3 Phase Matched Clock Dividers PMCDs XILINX 110 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Chapter 4 Block RAM Block RAM Summary The Virtex 4 block RAMs are similar to the Virtex II and Spartan 3 block RAMs Each block RAM stores 18K bits of data Write and Read are synchronous operations the two ports are symmetrical and totally independent sharing only the stored data Each port c
16. RAM based shift register module The write operation is synchronous with a clock input CLK and an optional clock enable as shown in Figure 5 9 A dynamic read access is performed through the 4 bit address bus A 3 0 The configurable 16 bit shift register cannot be set or reset The read is asynchronous however a storage element or flip flop is available to implement a synchronous read By placing this flip flop the shift register performance is improved by decreasing the delay into the clock to out value of the flip flop However an additional clock latency is added Any of the 16 bits can be read out asynchronously by varying the LUT address This is useful in making smaller shift registers less than 16 bits For example when building an 8 bit shift register simply set the addresses to the 8th bit SHIFTIN D Y SRLC16 m SHIFT REG A 8 0 Seo A 4 1 p L L4 gt Output Q MC15 Registered Output WS DI D BY T D WSG optional CE SR _ we UT CK y SHIFTOUT Q15 UGO70 5 09 071504 Figure 5 9 Shift Register Configurations www xilinx com 177 UGO070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX Figure 5 10 is an equivalent representation of the shift register BX or BY 16 bit Shift Register WE SHIFT OUT D CLK Address UGO70 5 10 071504 Figure 5 10 Representation of a Shift Register An additional dedi
17. Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 21 Preface About This Guide 22 www xilinx com XILINX Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Chapter 1 Clock Resources Global and Regional Clocks For clocking purposes each Virtex 4 device is divided into regions The number of regions varies with device size eight regions in the smallest device to 24 regions in the largest one Global Clocks Each Virtex 4 device has 32 matched skew global clock lines that can clock all sequential resources on the whole device CLB block RAM DCMs and I O and also drive logic signals Any eight of these 32 global clock lines can be used in any region Global clock lines are only driven by a global clock buffer and can also be used as a clock enable circuit or a glitch free multiplexer It can select between two clock sources and can also switch away from a failed clock source this is new in the Virtex 4 architecture A global clock buffer is often driven by a Digital Clock Manager DCM to eliminate the clock distribution delay or to adjust its delay relative to another clock There are more global clocks than DCMs but a DCM often drives more than one global clock Regional Clocks and I O Clocks Each region has two clock capable regional clock inputs Each input can differentially or single endedly drive regional clocks and I O clocks in the same region and also in th
18. When CE is asserted deasserted the output clock signal turns on off four input clock cycles later When global set reset GSR signal is High BUFR does not toggle even if CE is held High The BUFR output toggles four clock cycles after the GSR signal is deasserted BUFR Attributes and Modes Clock division in the BUFR is controlled in software through the BUFR DIVIDE attribute Table 1 9 lists the possible values when using the BUFR_DIVIDE attribute Table 1 9 BUFR DIVIDE Attribute Attribute Name Description Possible Values BUFR DIVIDE Defines whether the output clock is a divided 1 2 3 4 5 6 7 8 version of the input clock BYPASS default Notes 1 Location constraint is available for BUFR www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX The propagation delay through BUFR is different for BUFR_DIVIDE 1 and Regional Clocking Resources BUFR_DIVIDE BYPASS When set to 1 the delay is slightly more than BYPASS All other divisors have the same delay BUFR_DIVIDE 1 The phase relationship between the input clock and the output clock is the same for all possible divisions except BYPASS The timing relationship between the inputs and output of BUFR when using the BUFR_DIVIDE attribute is illustrated in Figure 1 21 In this example the BUFR_DIVIDE attribute is set to three Sometime before this diagram CLR was asserted 2 iT LE LT LIE LI LIP LI LIL LL 4
19. Xilinx primitives To incorporate this function into the design the following instance declaration needs to be placed in the architecture body of the design code The instance name RAMB32 S64 ECC inst and or the port declarations after the gt assignment can be changed to properly connect this function to the design All inputs and outputs must be connected In addition to adding the instance declaration a use delaration statement for the UNISIM v components library needs to be added before the entity declaration This library contains the component declarations for all Xilinx primitives and points to the models that will be used for simulation Copy the following two statements and paste them before the Entity declaration unless they already exists Library UNISIM use UNISIM vcomponents all lt Cut code below this line and paste into the architecture body gt RAMB32 564 ECC Virtex 4 512 x 64 Error Correction Block RAM Virtex 4 User Guide 164 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX Built in Block RAM Error Correction Code RAMB32 S64 ECC inst RAMB32 S64 ECC inst generic map DO REG gt 0 port map DO gt DO STATUS STATUS Dr e DI RDADDR RDADDR RDCLK RDCLK RDEN RDEN SSR SSR WRADDR gt WRADDR WRCLK WRCLK WREN WREN jJ
20. e At time T cg ck before Clock Event 1 the input clock enable signal becomes valid high at the CE1 input of the input register enabling the input register for incoming data e Attime Typocy before Clock Event 1 the input signal becomes valid high at the D input of the input register and is reflected on the Q1 output of the input register at time Ticko after Clock Event 1 Clock Event 4 e At time T sgcg before Clock Event 4 the SR signal configured as synchronous reset in this case becomes valid high resetting the input register and reflected at the O1 output of the IOB at time TjcKg after Clock Event 4 ILOGIC Timing Characteristics DDR Figure 7 10 illustrates the ILOGIC in IDDR mode timing characteristics When IDELAY is used Trpocx is replaced by Tipocxp The example shown uses IDDR in OPPOSITE EDGE mode For other modes add the appropriate latencies as shown in Figure 7 7 page 315 318 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX ILOGIC Resources CLK A NASIS NSI VY SY NAS Tipock F Tipock D cus CN LM d oco d we MU eon po ligick CE1 A l Il isnck Ticko Ee Ticka Q1 aw NEL do d d 0 Nil D AL lT ICKQ 1 ICKQ a ee Ad Lo d Y t WXxNL UGO70 7 10 072904 Figure 7 10 ILOGIC in IDDR Mode Timing Characteristics Clock Event 1 e Attime T cg ck before Clock Event 1 the input c
21. e AtRST Event 2 the RST pin is deasserted At TiDELAYCTRLCO RDY after RST Event 2 RDY is asserted High IDELAYCTRL Locations IDELAYCTRL modules exist in every I O column in every clock region An IDELAYCTRL module calibrates all the IDELAY modules within its clock region See Global and Regional Clocks in Chapter 1 for the definition of a clock region Virtex 4 User Guide www xilinx com 331 UGO070 v2 0 January 4 2007 332 1 Clock Region 16 I O tiles IDELAYCTRL Chapter 7 SelectlO Logic Resources XILINX Figure 7 15 illustrates the relative locations of the IDELAYCTRL modules for an XC4VLX15 device Left I O Center I O Right I O Column Column Column ss LIH m M ug070 7 15 080104 Figure 7 15 Relative Locations of IDELAYCTRL Modules for an XC4VLX15 Device IDELAYCTRL Usage and Design Guidelines This section describes using the Virtex 4 IDELAYCTRL modules design guidelines and recommended usage Instantiating IDELAYCTRL Without LOC Constraints When instantiating IDELAYCTRL without LOC constraints the user must instantiate only one instance of IDELAYCTRL in the HDL design code The implementation tools auto replicate IDELAYCTRL instances throughout the entire device even in clock regions not using the delay element This results in higher power consumption due to higher resource utilization the use of one global clock resource in every clock region and a greater use of routi
22. A DCM provides nine clock outputs with specific frequency and phase relationships When CLKFB is connected all DCM clock outputs have a fixed phase relationship to CLKIN When CLKPB is not connected the DCM outputs are not phase aligned However the phase relationship between all output clocks is preserved 1x Output Clock CLKO The CLKO output clock provides a clock with the same frequency as the DCM s effective CLKIN frequency By default the effective input clock frequency is equal to the CLKIN frequency The CLKIN DIVIDE BY 2 attribute is set to True to make the effective CLKIN frequency the actual CLKIN frequency The CLKIN DIVIDE BY 2 Attribute description provides further information When CLKFB is connected CLKO is phase aligned to CLKIN www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX DCM Ports 1x Output Clock 90 Phase Shift CLK90 The CLK90 output clock provides a clock with the same frequency as the DCM s CLKO only phase shifted by 90 1x Output Clock 180 Phase Shift CLK180 The CLK180 output clock provides a clock with the same frequency as the DCM s CLKO only phase shifted by 180 1x Output Clock 270 Phase Shift CLK270 The CLK270 output clock provides a clock with the same frequency as the DCM s CLKO only phase shifted by 270 2x Output Clock CLK2X The CLK2X output clock provides a clock that is phase aligned to CLKO with twice the CLKO frequency and wi
23. A write operation is a single clock edge operation The write address is registered on the write port and the data input is stored in memory Operating Modes There are three modes of a write operation The read during write mode offers the flexibility of using the data output bus during a write operation on the same port Output mode is set during device configuration These choices increase the efficiency of block RAM memory at each clock cycle Three different modes are used to determine data available on the output latches after a write clock edge WRITE FIRST READ FIRST and NO CHANGE Mode selection is set by configuration One of these three modes is set individually for each port by an attribute The default mode is WRITE FIRST WRITE FIRST or Transparent Mode Default In WRITE FIRST mode the input data is simultaneously written into memory and stored in the data output transparent write as shown in Figure 4 2 CLK Loo uf NA NASZ N7 KH WE Data In Address Data Out ENABLE DISABLED READ WRITE z WRITE READ MEM bb 1111 MEM cc 2222 ug070_4_02_071204 Figure 4 2 WRITE FIRST Mode Waveforms 114 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Synchronous Dual Port and Single Port RAMs READ_FIRST or Read Before Write Mode In READ_FIRST mode data previously stored at the write address appears on the output latches while the input data is being stored in memory
24. BUFGCE GND Si CE Vpp Vop S0 ce CEO GND IGNOREO ug070 1 05 081904 Figure 1 5 BUFGCE as BUFGCTRL The switching condition for BUFGCE is similar to BUFGCTRL If the CE input is Low prior to the incoming rising clock edge the following clock pulse does not pass through the clock buffer and the output stays Low Any level change of CE during the incoming clock High pulse has no effect until the clock transitions Low The output stays Low when the clock is disabled However when the clock is being disabled it completes the clock High pulse Since the clock enable line uses the CE pin of the BUFGCTRL the select signal must meet the setup time requirement Violating this setup time may result in a glitch Figure 1 6 illustrates the timing diagram for BUFGCE l BUFGCE Stace BUFGCE CE 1 NY P rc M BUFGCE O m T BCCKO_O ug070_1_06_082504 Figure 1 6 BUFGCE Timing Diagram BUFGCE_1 is similar to BUFGCE with the exception of its switching condition If the CE input is Low prior to the incoming falling clock edge the following clock pulse does not pass through the clock buffer and the output stays High Any level change of CE during the incoming clock Low pulse has no effect until the clock transitions High The output stays High when the clock is disabled However when the clock is being disabled it completes the clock Low pulse 30 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2
25. BUFGCTRL delay Data r Address FPGA XILINX Tiopi NET TRDCK DI Tiopi NET TRcCK ADDR Tippi NET TRCCK_WEN Write Enable gt Enable p gt Tippi NET TRCCK_EN Tiopi NET TRccK ssR Synchronous r gt Set Reset Clock O gt TBccko o NET BUFGCTRL Tipp NET Built in FIFO Support Block RAM TRckoO po NET Toop ae ug070 4 13 080204 Figure 4 13 Block RAM Timing Model A large percentage of FPGA designs use block RAMs to implement FIFOs In the Virtex 4 architecture dedicated logic in the block RAM enables users to easily implement synchronous or asynchronous FIFOs This eliminates the need for additional CLB logic for counter comparator or status flag generation and uses just one block RAM resource per FIFO Both standard and first word fall through FWFT modes are supported The supported configurations are 4K x 4 2K x 9 1K x 18 and 512 x 36 The block RAM can be configured as first in first out FIFO memory with common or independent read and write clocks Port A of the block RAM is used as a FIFO read port and Port B is a FIFO write port Data is read from the FIFO on the rising edge of read clock and written to the FIFO on the rising edge of write clock Independent read and write port width selection is not supported in FIFO mode without the aid of external CLB logic The FIFO offers a very simple user interface The
26. IOB IOB V 0 9V CCO Veco 0 9V DIFF SSTL18 II Q DIFF_SSTL18_ll m 500 200 200 x wv 2 wrx DIFF SSTL18 II DIFF SSTL18 Il 200 500 500 200 Pj ga m DIFF_SSTL18_ll DIFF_SSTL18_ll ug070_6_69_071904 Figure 6 71 Differential SSTL 1 8V Class II with Bidirectional Termination 280 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Figure 6 72 shows a sample circuit illustrating a valid termination technique for CSE differential SSTL Class II 1 8V with bidirectional DCI termination DCI DIFF SSTL18 Il DCI 2Rypp 2Zg 1002 R 200 2Rygw 2Zg 1002 DIFF SSTL18 Il DCI Ro 200 Vang 1 8V DIFF SSTL18 Il DCI pop tS 2Rypp 2Zg 1000 IOB 2Rypy 2Zo 1000 OB DIFF_SSTL18_lI_DCI 2Rygp 2Zo 1002 2Rypy 2Zo 1000 Rp 200 E DIFF SSTL18 Il DCI Ro 200 Veco 1 8V cco DIFF SSTL18 Il DCI 2Rypp 2Zg 1000 gt 2Rypy 2Zo 1002 ug070_6_70_022406 Figure 6 72 Differential SSTL 1 8V Class II with DCI Bidirectional Termination Table 6 30 lists the differential SSTL 1 8V Class II DC voltage specifications Table 6 30 Differential SSTL 1 8V Class Il DC Voltage Specifications Min Typ Max Vcco 1 7 1 8 1 9 Input Parameters Ver Veco x 0 5 Vin DO 0 30
27. SERDES MODE of fwd clk is Instantiate Master ISERDES for data channel 1 10 Deserialization Factor ISERDES data chan master 00 O1 data internal 0 Q2 data internal 1 Q3 data internal 2 Q4 data internal 3 Q5 data internal 4 Q6 data internal 5 SHIFTOUT1 shiftdatal SHIFTOUT2 shiftdata2 XILINX TRUE ETWORKING DEFAULT MASTER 362 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX Input Serial to Parallel Logic Resources ISERDES BITSLIP 1 b0 CE1 1 b1 CE2 1 b1 CLK iobclk CLKDIV clkdiv D Din DLYCE 1 Db0 DLYINC 1 b0 DLYRST 1 b0 OCLK 1 b0 REV 1 b0 SHIFTIN1 1 Db0 SHIFTIN2 1 Db0 SR rst J5 synthesis BITSLIP ENABLE of data chan master is TRUE synthesis DATA RATE of data chan master is DDR synthesis DATA WIDTH of data chan master is 10 synthesis INTERFACE TYPE of data chan master is NETWORKING synthesis IOBDELAY of data chan master is NONE synthesis IOBDELAY TYPE of data chan master is DEFAULT synthesis IOBDELAY VALUE of data chan master is 0 synthesis NUM CE of data chan master is 1 synthesis SERDES MODE of data chan master is MASTER Instantiate Slave ISERDES for data chan
28. Veco 0 30 Vip DC 0 25 Veco 0 60 Vip AC 0 50 Veco 0 60 Vix AC 0 675 1 125 Output Parameters Vox AC 0 725 1 075 Notes 1 V DC specifies the allowable DC excursion of each differential input 2 Per EIA JESD8 6 The value of Vggr is to be selected by the user to provide optimum noise margin in the use conditions specified by the user 3 Vip DC specifies the input differential voltage required for switching e Vix AC indicates the voltage where the differential input signals must cross 5 Vox AC indicates the voltage where the differential output signals must cross Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 281 Chapter 6 SelectlO Resources XILINX 282 Table 6 31 details the allowed attributes that can be applied to the SSTL I O standards Table 6 31 Allowed Attributes for the SSTL I O Standards Primitives Attributes IBUFDS IBUFGDS OBUFDS OBUFTDS IOBUFDS IOSTANDARD All possible SSTL standards CAPACITANCE LOW NORMAL DONT CARE Table 6 32 Allowed Attributes for the DIFF SSTL I O Standards Primitives Attributes IBUFDS IBUFGDS OBUFDS OBUFTDS IOBUFDS IOSTANDARD All possible DIFF SSTL standards CAPACITANCE LOW NORMAL DONT CARE Differential Termination DIFF TERM Attribute Virtex 4 IOBs provide a 100 Q differential termination across the input differential receiver terminals This attribute is u
29. making it ideal for long distance or cable LVDS links The output AC characteristics of the LVDS extended mode driver are not within the EIA TIA specifications The LVDS extended mode driver is intended for situations requiring higher drive capabilities to produce an LVDS signal within the EIA TIA specification at the receiver www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Transmitter Termination The Virtex 4 LVDS transmitter does not require any external termination Table 6 33 lists the allowed attributes corresponding to the Virtex 4 LVDS current mode drivers Virtex 4 LVDS current mode drivers are a true current source and produce the proper EIA TIA compliant LVDS signal Receiver Termination LVDS 25 DCI LVDSEXT 25 DCI Usage LVDS 25 DCI and LVDSEXT 25 DCI provide split termination for the P and N inputs only VRP and VRN should connect to 50 Q resistors Equivalently it provides 100 O differential impedance between the LVDS inputs Figure 6 73 and Figure 6 74 are examples of differential termination for an LVDS receiver on a board with 50 transmission lines External Termination 4 IOB IOB LVDS_25 Dd C Zo pq LVDS 25 RpIFF 2Zg 1000 59 4935 14 ug070 6 71 071904 Figure 6 73 LVDS 25 Receiver Termination DCI r IOB IOB Vcco 2 5V l
30. scene 197 Slice Carry Chain Timing Model and Parameters sss 198 Slice Carry Chain Timing Parameters cles eee 200 Slice Carry Chain Timing Characteristics esee 200 CLB Primitives and Verilog VHDL Examples 0005 201 Distributed RAM Primitives 0 0 0 0000 cnet nen n en eas 201 VHDL and Verilog Instantiations 06 6 eens 202 Port Signals 4 4 25 ita eeepc ea ea EURO da een leas 202 Clocks W CIR occa 259a d i edeucd cea ac Nc e ce Re Bnd te e e iot deae te bela d Ud 202 Enables WE iius ek e Bee eh IH ERR IHE REC e d ede 202 Address AO A1 A2 A3 A4 A5 2 hh hh 202 Data In D iik ane pde p ee eor d eee Ee d ace d eR es 202 Data Out O SPO and DPO 4 de be ed cose lac ed b eng he base B eei darin RR uec 202 Tiverting Control Pins ied tee Here t Hr e beer tnt e eet 202 Global Set Reset GSR 4 uk eere eere ee e e e EROR COE CR D Re ENG Te a 202 AX TErIDUTOS o eio dees oh oe eae i deed iet Rd ase asi bbw Da gos 203 Content Initialization INIT 0 eee eee ee eens 203 Initialization in VHDL or Verilog Codes 0 eee cece eee 203 Location Constraints recenseri mn dece te en de Cede the dee Re e oa series Maer aoa 203 Creating Larger RAM Structures esses enn 204 VHDL and Verilog Templates 6 ec e 204 Shift Registers SRLs Primitives and Verilog VHDL Example 206 SRL Primitives and Submodules nona 0 0 ccc ccc een e
31. string attribute LOC of U BUFGCE label is BUFGCTRL_X Y where is valid integer locations of BUFGCTRL Verilog Template Example BUFGCE module declaration module BUFGCE O CE I output O input CE input I 46 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX VHDL and Verilog Templates endmodule Example BUFGCE instantiation BUFGCE U BUFGCE O user 0 CEO user ce IO user i Jr Declaring constraints in Verilog synthesis attribute LOC of U BUFGCE is BUFGCTRL_X Y where is valid integer locations of BUFGCTRL Declaring Constraints in UCF File INST U BUFGCE LOC BUFGCTRL_X Y where is valid integer locations of BUFGCTRL BUFGMUX and BUFGMUX 1 VHDL and Verilog Templates The following examples illustrate the instantiation of the BUFGMUX module in VHDL and Verilog The instantiation of BUFGMUX 1 is exactly the same as BUFGMUX with exception of the primitive name VHDL Template Example BUFGMUX declaration component BUFGMUX port O out std ulogic I0 in std ulogic I1 in std ulogic S in std ulogic Js end component Example BUFGMUX instantiation U BUFGMUX BUFGMUX Port map O user o IO user i0 I1 gt user i1 S gt user S Declaring constraints in VHDL file attribute LOC string attribute LOC of U BUFGMUX label is BUFGCTRL_X Y where is valid integer locations
32. After PSDONE has pulsed High another increment decrement can be initiated Figure 2 6 illustrates the interaction of phase shift ports PSEN 1 PSDONE i Do romenec 7X ZZA VZT ug070 2 06 071204 Figure 2 6 Phase Shift Timing Diagram When PSEN is activated after the phase shift counter has reached the maximum value of PHASE SHIFT the PSDONE will still be pulsed High for one PSCLK period some time after the PSEN is activated as illustrated in Figure 2 6 However the phase shift overflow pin STATUS 0 or DO 0 will be High to flag this condition and no phase adjustment is performed www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX DCM Design Guidelines Phase Shift Overflow The phase shift overflow DO 0 status signal is asserted when either of the following conditions are true The DCM is phase shifted beyond the allowed phase shift value In this case the phase shift overflow signal will be asserted High when the phase shift is decremented beyond 255 and incremented beyond 255 for VARIABLE CENTER mode incremented beyond 255 for VARIABLE POSITIVE mode or decremented beyond 0 and incremented beyond 1023 for DIRECT mode The DCM is phase shifted beyond the absolute range of the phase shift delay line In this case the phase shift overflow signal will be assert High when the phase shift in time ns exceeds the xFINE SHIFT RANGE 2 in the VARIABLE CENTER mode the
33. At time Torck before Clock Event 1 the 3 state signal becomes valid high at the T input of the 3 state register returning the pad to high impedance at time Tocxg after Clock Event 1 Clock Event 2 At time Tosgcy before Clock Event 2 the SR signal configured as synchronous reset in this case becomes valid high resetting the 3 state register at time Tro after Clock Event 2 Figure 7 29 illustrates IOB DDR 3 state register timing This example is shown using DDR in opposite edge mode For other modes add the appropriate latencies as shown in Figure 7 7 page 315 UGO070 v2 0 January 4 2007 www xilinx com 351 Chapter 7 SelectlO Logic Resources XILINX 1 2 3 4 5 6 T 8 9 10 11 NM au WW Aa Cm a CUm O g T oroK ug070 7 29 080104 Figure 7 29 OLOGIC ODDR 3 State Register Timing Characteristics Clock Event 1 e At time TorcrcK before Clock Event 1 the 3 state clock enable signal becomes valid High at the TCE input of the ODDR 3 state registers enabling them for incoming data Since the TCE signal is common to all ODDR registers care must be taken to toggle this signal between the rising edges and falling edges of C as well as meeting the register setup time relative to both clock edges e At time Torck before Clock Event 1 rising edge of C the 3 state signal T1 becomes valid high at the T1 input of 3 state register 1 and is reflected on the TO output at time Tockg after
34. Bit widths greater than 6 up to 10 can be supported see ISERDES Width Expansion Bitslip Operation BITSLIP The BITSLIP pin performs a Bitslip operation synchronous to CLKDIV when asserted active High Subsequently the data seen on the Q1 to Q6 output ports will shift as in a barrel shifter operation one position every time Bitslip is invoked DDR operation is different from SDR See BITSLIP Sub Module for more details Clock Enable Inputs CE1 and CE2 Each ISERDES block contains a clock enable module This module functions as a 2 1 serial to parallel converter clocked by CLKDIV The clock enable module is needed specifically for bi directional memory interfaces when ISERDES is configured for 1 4 deserialization in DDR mode When the attribute NUM CE 2 theclock enable module is enabled and both CE1 and CE2 ports are available When NUM CE 1 only CE1 is available and functions as a regular clock enable www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Input Serial to Parallel Logic Resources ISERDES When CE1 and or CE2 are used as a clock disable not all data stored within the ISERDES chain is frozen Only the first two or four flip flops in the chain are connected to CE1 and CE2 Once CE1 and CE2 are set Low data in these registers fills the rest of the chain In DDR mode the last two bits read into the ISERDES block will be transferred to the even and odd outputs In DDR mode th
35. Clock Event 4 SSR Synchronous Set Reset Operation During an SSR operation initialization parameter value SRVAL is loaded into the output latches of the block RAM The SSR operation does NOT change the contents of the memory and is independent of the ADDR and DI inputs e At time TrccK ssp before clock event 4 the synchronous set reset signal becomes valid High at the SSR input of the block RAM e At time TrcKo po after clock event 4 the SRVAL 0101 becomes valid at the DO outputs of the block RAM Clock Event 5 Disable Operation Deasserting the enable signal EN disables any write read or SSR operation The disable operation does NOT change the contents of the memory or the values of the output latches e At time Tncck EN before clock event 5 the enable signal becomes valid Low at the EN input of the block RAM e After clock event 5 the data on the DO outputs of the block RAM is unchanged Block RAM Timing Model Virtex 4 User Guide Figure 4 13 illustrates the delay paths associated with the implementation of block RAM This example takes the simplest paths on and off chip these paths can vary greatly depending on the design This timing model demonstrates how and where the block RAM timing parameters are used e NET Varying interconnect delays e Tyopy Pad to I output of IOB delay e Tyoop O input of IOB to pad delay www xilinx com 143 UG070 v2 0 January 4 2007 Chapter 4 Block RAM e Taccko o
36. IFF4 clocked by the rising edge clock is placed on the output of the falling edge register Figure 7 4 shows input DDR registers and the signals associated with the SAME_EDGE mode ug070 7 04 071404 Figure 7 4 Input DDR in SAME EDGE Mode By adding the third register data is presented into the FPGA fabric on the same clock edge However the additional register causes the data pair to be separated by one clock cycle Figure 7 5 shows the timing diagram of the input DDR using the SAME EDGE mode In the timing diagram the output pairs are no longer 0 and 1 Instead the first pair presented is pair 0 and don t care followed by pair 1 and 2 on the next clock cycle Virtex 4 User Guide www xilinx com 313 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources 314 Q1 Q2 DiA D3A D5A D7A D9A DOA D2A Don t care D1A Figure 7 5 SAME EDGE PIPELINED Mode D4A D3A D6A D5A D8A D7A Input DDR Timing in SAME_EDGE Mode D9A XILINX D11A ug070_7_05_072904 In the SAME_EDGE_PIPELINED mode a fourth register IFF3 clocked by the rising edge clock is placed on the output of the two registers Figure 7 6 shows the input DDR registers and the signals involved using the SAME_EDGE_PIPELINED mode E UPS Figure 7 6 ug070_7_06_07
37. In some cases an application requires immediate switching between clock inputs or bypassing the edge sensitivity of BUFGCTRL An example is when one of the clock inputs is no longer switching If this happens the clock output would not have the proper switching conditions because the BUFGCTRL never detected a clock edge This case uses the asynchronous mux Figure 1 13 illustrates an asynchronous mux with BUFGCTRL design example Figure 1 14 shows the asynchronous mux timing diagram V IGNORE1 D GE Vpp S1 Asynchronous MUX Design Example 11 11 o o 10 10 5o 50 v CEO DD IGNOREO Vpp lt _ lt ug070 1 13 082704 Figure 1 13 Asynchronous Mux with BUFGCTRL Design Example Tgocko o 4 TBccko o mia r o if LI Li a xL Il hs at l0 Begin l1 UGO70 1 14 033005 Figure 1 14 Asynchronous Mux Timing Diagram In Figure 1 14 The current clock is from IO S is activated High The Clock output immediately switches to I1 When Ignore signals are asserted High glitch protection is disabled www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX BUFGMUX_VIRTEX4 with a Clock Enable Global Clocking Resources A BUFGMUX_VIRTEX4 with a clock enable BUFGCTRL configuration allows the user to choose between the incoming clock inputs If needed the clock enable is used to disable the output Figure 1 15 illustrates the BUFGCTRL usage
38. January 4 2007 Virtex 4 User Guide UGO070 v2 0 January 4 2007 Additional Block RAM Primitives Table 4 6 Dual Port Block RAM Primitives Continued Primitive Port A Width Port B Width RAMBI6 S2 S2 2 2 RAMBI6 S2 S4 4 RAMBI6 S2 S9 8 1 RAMBI6 S2 S18 162 RAMBI6 S2 S36 3244 RAMBI6 S4 S4 4 4 RAMBI6 S4 S9 8 1 RAMBI6 S4 S18 162 RAMBI6 S4 S36 3244 RAMBI6 S9 S9 8 1 8 1 RAMBI6 S9 S18 162 RAMBI6 S9 S36 3244 RAMB16 S18 S18 1642 162 RAMBI6 S18 S36 3244 RAMBI6 S36 S36 3244 324 Figure 4 11 shows the generic single port block RAM primitive DI DIP ADDR DO and DOP are buses Figure 4 11 RAMB16 SX DIP 0 ADDR O DO 0 DOP 0 REGCEN ug070 4 11 071204 Single Port Block RAM Primitive Table 4 7 lists all of the available single port primitives for synthesis and simulation Table 4 7 Single Port Block RAM Primitives Primitive Port Width RAMB16 S1 1 RAMB16 S2 2 RAMB16 S4 4 RAMBI16 S9 8 1 www xilinx com 139 Chapter 4 Block RAM XILINX Table 4 7 Single Port Block RAM Primitives Continued Primitive Port Width RAMBI16 S18 16 2 RAMB16 S36 324 4 Instantiation of Additional Block RAM Primitives The RAM Ax templates with x 1 2 4 9 18 or 36 are single port modules and instantiate the corresponding RAMBI16 Sx mod
39. LOW NORMAL LOW NORMAL CAPACITANCE DONT CARE NORMAL DONT CARE CSE Differential IVPECL Low Voltage Positive Emitter Coupled Logic LVPECL is a very popular and powerful high speed interface in many system applications Virtex 4 I Os are designed to comply with the EIA TIA electrical specifications for 2 5V Virtex 4 User Guide LVPECL to make system and board design easier UGO070 v2 0 January 4 2007 www xilinx com 285 Chapter 6 SelectlO Resources XILINX LVPECL Transceiver Termination The Virtex 4 LVPECL transmitter and receiver requires the termination shown in Figure 6 77 illustrating a Virtex 4 LVPECL transmitter and receiver on a board with 50 Q transmission lines The LVPECL driver is composed of two LVCMOS drivers that when combined with the three resistor output termination circuit form a compliant LVPECL output vwPECL25 108 0 0 bd 1 1 lo Rg E IN Dy LVPECL_25 700 z I R LVPECL_25 ea Fopma Data in uu Rg Zo 500 mis nu NX 1 I ka ug070 6 75 071904 Figure 6 77 LVPECL Transmitter Termination Table 6 37 summarizes all the possible LVPECL I O standards and attributes supported Table 6 37 Available LVPECL Primitives Primitives Attributes IBUFDS IBUFGDS OBUFDS OBUFTDS IOBUFDS IOSTANDARD LVPECL LOW NORMAL LOW NORMAL CAPACITANCE DONT CARE NORMAL DONT CARE Rules for Combining I O Standards in the Sam
40. LVCMOSIB 2 slow 58 LVCMOSIB 4 slow 35 LVCMOSIS 6 slow 25 LVCMOSIS 8 slow 19 IVCMOSI8 12 slow 13 LVCMOSIB 16 slow 10 LVCMOSIB 2 fast 34 LVCMOSIB 4 fast 20 LVCMOSIS 6 fast 15 LVCMOSIS 8 fast n LVCMOSI8 12 fast 9 LVCMOSIS 16 fast 7 IVDCI 18500 m LVDCI DV2 1825 Q 5 HSLVDCI 18 50 Q n HSTL I 18 16 HSTL I DCI 18 16 HSTL II 18 8 HSTL II DCI 18 8 HSTL III 18 6 HSTL III DCI 18 6 HSTL IV 18 3 HSTL IV DCI 18 3 SSTLI8 I 20 SSTLI8 I DCI 20 SSTLI8 II 13 SSTLI8 II DCI 13 DIFF HSTL II 18 8 DIFF HSTL II DCI 18 8 DIFF SSTLI8 II 12 DIFF SSTLI8 II DCI 12 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Table 6 42 Non Sparse Chevron Simultaneously Switching Output Limits per Equivalent Vcco GND Pair Continued Simultaneous Switching Output Limits Voltage 2 5V Virtex 4 User Guide UGO070 v2 0 January 4 2007 Non Sparse Chevron Limit Iostandard SF363 and FF668 Packages LVCMOS 25 2 slow 68 LVCMOS25 4 slow Al LVCMOS 5 6 slow 29 LVCMOS25 8 slow 22 LVCMOS25 12 slow 15 LVCMOS5 16 slow n LVCMOS25 24 slow 7 LVCMOS 25 2 fast 40 LVCMOS25 A fast 24 LVCMOS 5 6 fast 17 LVCMOS25 8 fast 13 LVCMOSO5 12 fast 10 LVCMOS5 16 fast 8 LVCMOS25_24_ fast 5 LVDCI 25500 13 LVDCI DV2 25250 6 HSLVDCI 25500 13 SSTL2 I 15 SSTL2 I DCI 15 SSTL2 II 10 SSTL2 II DCI 10 DIFF SSTI2 II 10 DIFF SSTL2 II DCI 10 LVPECL
41. LVTTL Low Voltage Transistor Transistor Logic The low voltage TTL LVTTL standard is a general purpose EIA JESDSA standard for 3 3V applications using an LVTTL input buffer and a push pull output buffer This standard requires a 3 3V input and output supply voltage Vcco but does not require the use of a reference voltage Vpgp or a termination voltage Vtr Sample circuits illustrating both unidirectional and bidirectional LVTTL termination techniques are shown in Figure 6 25 and Figure 6 26 Note V is any voltage from OV to Veco ug070 6 25 071904 Figure 6 25 LVTTL Unidirectional Termination 238 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards IOB LOB LVTTL LVTTL gt hk m gt iB Vr Vit l d0B LVTTL Rp Zo Rp Zy LVTTL P4 VED X gt 3 gt wan Note V is any voltage from OV to Veco ug070 6 26 071904 Figure 6 26 LNTTL Bidirectional Termination Table 6 1 lists the LVTTL DC voltage specifications Table 6 1 LVTTL DC Voltage Specifications Parameter Min Typ Max Vcco 3 0 3 3 3 45 VREF x E Vir s E Vini 2 0 8 45 Vir 0 2 0 8 Vou 2 4 z VoL 0 4 Iou at Von mA Note 2 Ior at Vor mA Note 2 Notes 1 Vor and Vog for lower drive currents are sample tested
42. NO CHANGE When inactive a read operation occurs and the contents of the memory cells referenced by the address bus reflect on the data out bus regardless of the write mode attribute Write enable polarity is configurable active High by default Register Enable REGCE AIB The register enable pin REGCE controls the optional output register When the RAM is in register mode REGCE 1 registers the output into a register at a clock edge The polarity of REGCE is configurable active High by default Set Reset SSH AIB The SSR pin forces the data output latches to contain the value SRVAL see Block RAM Attributes page 124 The data output latches are synchronously asserted to 0 or 1 including the parity bit In a 36 bit width configuration each port has an independent SRVALJA B attribute of 36 bits This operation does not affect RAM memory cells and does not disturb write operations on the other port Similar to the read and write operation the set reset function is active only when the enable pin of the port is active Set reset polarity is configurable active High by default This pin is not available when optional output registers are used Address Bus ADDR AIB lt 14 gt The address bus selects the memory cells for read or write The width of the port determines the required address bus width for a single RAMB16 as shown in Table 4 2 Table 4 2 Port Aspect Ratio Port Data Width Port A
43. Rynw Rynp Zo ug070 6 81 012106 Figure 6 84 HSLVDCI Controlled Impedance Driver with Bidirectional Termination For output DC voltage specifications refer to the LVDCI Voy and Voy entries in Table 6 5 LVCMOS LVDCI and LVDCI_DV2 DC Voltage Specifications at Various Voltage References Table 6 6 lists the input DC voltage specifications when using HSLVDCI 244 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Valid values of Veco are 1 5V 1 8V 2 5V and 3 3V Select Vpgg to provide the optimum noise margin in specific use conditions Table 6 6 HSLVDCI Input DC Voltage Specifications Standard Min Typ Max VREF E Vcco 2 Vin Vggr 0 1 Vin Vref 0 1 Table 6 7 details the allowed attributes that can be applied to the LVDCI HSLVDCI and LVDCI_DV2 I O standards Table 6 7 Allowed Attributes of the LVDCI HSLVDCI and LVDCI DV2 I O Standards Primitives Attributes IBUF IBUFG OBUF OBUFT IOBUF IOSTANDARD LVDCI 15 LVDCI 18 LVDCI 25 LVDCI 33 LVDCI DV2 15 LVDCI DV2 18 LVDCI DV2 25 HSLVDCI 15 HSLVDCI 18 HSLVDCI 25 HSLVDCI 33 CAPACITANCE LOW NORMAL DONT CARE PCIX PCI33 PCI66 Peripheral Component Interface Virtex 4 User Guide The PCI standard specifies support for 33 MHz 66 MHz and 133 MHz PCI bus applications It uses an LVTTL input buffer and a push pul
44. TBRDCK_CE CET CLR _TBRCKO_O TBRDO_CLRO di E TBRCKO_O 2 OT f Figure 1 21 In Figure 1 21 Virtex 4 User Guide UGO070 v2 0 January 4 2007 BUFR Timing Diagrams with BUFR_DIVIDE Values At time Tgrpck ck before clock event 1 CE is asserted High UGO070 1 21 030806 Four clock cycles and Tgrcxo o after CE is asserted the output O begins toggling at the divide by three rate of the input I Tggcko o and other timing numbers are best found in the speed specification Note The duty cycle is not 50 50 for odd division The Low pulse is one cycle of I longer At time event 2 CLR is asserted After Tgrpo crgo from time event 2 O stops toggling At time event 3 CLR is deasserted At time Tgncko o after clock event 4 O begins toggling again at the divided by three rate of I www xilinx com 41 Chapter 1 Clock Resources XILINX BUFR Use Models BUFRs are ideal for source synchronous applications requiring clock domain crossing or serial to parallel conversion Unlike BUFIOs BUFRs are capable of clocking logic resources in the FPGAs other than the IOBs Figure 1 22 is a BUFR design example To Adjacent Region lO Tile 4 E VOTile 4 TY 5i CLBs lO Tile lt E c VOTile 4 RENE E CES lO Tile 4 EE E VO Tile 4 EE BRAM DSP VOTile 4 a eres be Clock yoTile SS P j To Center DSP Tile E E EU ie II w Wy W ojojo EE NE wv gt V
45. The CLK FEEDBACK attribute determines the type of feedback applied to the CLKFB The possible values are 1X or NONE The default value is 1X When set to 1X CLKFB pin must be driven by CLKO When set to NONE leave the CLKFB pin unconnected DESKEW ADJUST Attribute The DESKEW ADJUST attribute affects the amount of delay in the feedback path The possible values are SYSTEM S YNCHRONOUS SOURCE SYNCHRONOUS 0 1 2 8 or 31 The default value is SYSTEM_SYNCHRONOUS For most designs the default value is appropriate In a source synchronous design set this attribute to SOURCE SYNCHRONOUS The remaining values should only be used after consulting with Xilinx For more information consult the Source Synchronous Setting section DFS FREQUENCY MODE Attribute The DF5 FREQUENCY MODE attribute specifies the frequency mode of the digital frequency synthesizer DFS The possible values are Low and High The default value is Low The frequency ranges for both frequency modes are specified in the Virtex 4 Data Sheet DF55 FREQUENCY MODE determines the frequency range of CLKIN CLKFX and CLKFX180 DLL FREQUENCY MODE Attribute The DLL FREQUENCY MODE attribute specifies either the High or Low frequency mode of the delay locked loop DLL The default value is Low The frequency ranges for both frequency modes are specified in the Virtex 4 Data Sheet DUTY CYCLE CORRECTION Attribute The DUTY CYCLE CORRECTION attribute controls the duty cyc
46. To From Slice on Bottom UGO070 5 02 071504 Figure 5 2 Diagram of SLICEM 170 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX CLB Overview COUT A COUTUSED B YB YBUSED so NCYMuxa o 1 F5MUX FXINB E po FXINA 4 so P FK GYMUX FXUSED FX end B gt YMUX XORG YMUXUSED e A4 gt i di mir A3 D YMUX YUSED me A2 Y D a va Ai p FE BY g LATCH DYMUX a INITI INITO SRHIGH FFY_INIT_ATTR SRLOW SR REV FFY SR ATTR CY0G FEY BY G2 gt PROD G3 Ls FF GAND 1 o BYINV By BY c pi P BY_B REVUSED B xB CYMUXF XBUSED So o 1 N b FBUSED IL so F5 F5 F5MUX XMUXUSED B gt XMUX FXOR f XUSED FXMUX 5 5x p m D gt DXMUX c A3 D lt MUX do XORF x D or o xa LH Al CE BX LATCH CK F OINITI OINITO OSRHIGH FFX_INIT_ATTR OSRLOW SR REV FFX_SR_ATTR FFX BX F2 PROD 2 F3 a ee BXCIN FAND D cvor cyinit BX BX BX_B E BXINV CE CE gt SC lt CEINV pK CLK CLK B POLKINY RESET TYPE SR SR OSYNC gt SR_B C DASYNC SRINV SYNC ATTR CIN ug070 5 03 071504 Figure 5 3 Diagram of SLICEL Virte
47. WRCLK gt WRCLK 1 bit write clock input WREN gt WREN 1 bit write enable input End of FIFO16 inst instantiation FIFO Verilog Template FIFO16 To incorporate this function into the design the Verilog following instance declaration needs to be placed in instance the body of the design code The instance name declaration FIFO16 1kx18 inst and or the port declarations code within the parenthesis can be changed to properly reference and connect this function to the design All inputs and outputs must be connected 0 Cut code below this line gt FIFO16 Virtex 4 Block RAM Asynchrnous FIFO configured for 1k deep x 18 wide Virtex 4 User Guide FIFO16 ALMOST FULL OFFSET 12 h000 Sets almost full threshold ALMOST EMPTY OFFSET 12 h000 Sets the almost empty threshold DATA WIDTH 36 Sets data width to 4 9 18 or 36 FIRST WORD FALL THROUGH FALSE Sets the FIFO FWFT to TRUE or FALSE FIFO16 inst ALMOSTEMPTY ALMOSTEMPTY 1 bit almost empty output flag ALMOSTFULL ALMOSTFULL 1 bit almost full output flag DO DO 32 bit data output DOP DOP 4 bit parity data output EMPTY EMPTY 1 bit empty output flag FULL FULL 1 bit full output flag RDCOUNT RDCOUNT 12 bit read count output RDERR RDERR 1 bit read error output WRCOUNT WRCOUNT
48. Z z Z z amp Z Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 215 Chapter 5 Configurable Logic Blocks CLBs case SELECT I 2 downto 0 is 1 DATA 000 001 010 oid 100 roi 110 hen 111 when others gt end case DATA MSB DATA MSB DATA MSB DATA MSB DATA MSB DATA MSB DATA MSB DATA MSB DATA MS when nen nen nen nen nen nen zzzzrzzt end process SELECT PROCESS MSI MUXF7 instantiation U MUXF7 MUXF7 lt lt lt lt lt lt lt B lt port map IQ gt Il gt DATA_LSB DATA_MSB S O IE gt SELECT_I DATA_O 3 gt end MUX 16 1 SUBM arch Verilog Template Ed Module MUX 16 1 SUBM module MUX 16 1 SUBM DATA I input 15 0 DATA I input 3 0 SELECT I output DATA O wire 2 0 SELECT reg reg DATA LSB DATA MSB EL SEI assign S always ECT 2 0 Lil case SEI 3 1 3 b001 3 b010 3 b011 3 1 3 b101 3 b110 3 b111 default endcase always DAT DATA_LSB lt 1 bx Li ECT 5000 DAT DAT DAT b10 DAT DAT DATA_LSB lt TA LSB lt DATA I A LSB lt DATA I A LSB lt DATA I 0 DATA LSB A LSB lt DATA I l A LSB lt DATA I lt DATA DATA_ DATA DATA
49. or 10 If 4 width This value also depends on the DATA RATE OQ DDR DATA RATE OQ value value is limited to 4 6 8 or 10 If DATA RATE OQ SDR value is limited to 2 3 4 5 6 7 or 8 SERDES MODE Defines whether the OSERDES moduleisa String MASTER or SLAVE MASTER master or slave when using width expansion TRISTATE WIDTH Defines the parallel to serial 3 state converter Integer 1 2 or 4 4 width If DATA RATE TQ DDR value is limited to 2 and 4 If DATA RATE TO SDR or BUF value is limited to 1 DATA RATE OQ Attribute The DATA RATE OQ attribute defines whether data is processed as single data rate SDR or double data rate DDR The allowed values for this attribute are SDR and DDR The default value is DDR DATA RATE TOQ Attribute The DATA RATE TO attribute defines whether 3 state control is to be processed as single data rate SDR or double data rate DDR The allowed values for this attribute are SDR 376 and DDR The default value is DDR www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX Output Parallel to Serial Logic Resources OSERDES DATA_WIDTH Attribute The DATA WIDTH attribute defines the parallel data input width of the parallel to serial converter The possible values for this attribute depend on the DATA RATE OQ attribute When DATA RATE OQ is set to SDR the possible values for the DATA WIDTH attribute are 2 3 4 5
50. output PMOS transistor Py and NMOS transistor Ng is connected essentially to Veco and ground respectively The amount of undershoot allowed without overstressing the PMOS transistor Po is the gate voltage minus the gate oxide limit or Veco 4 05V Similarly the absolute maximum overshoot allowed without overstressing the NMOS transistor Ny is the gate voltage plus the gate oxide limit or Ground 4 05V Ground Clamp Diode Dg Output Driver Input Buffer lt SSS Ss pk SS SS SSS SS Veco l l Vcco l l l l l Po I I l F I ED Power External i I Clamp Pin I I Diode Dp l l l l l 2 t T nd e t l l l l l l l No I l l l l l l l l l l l l l l l I l l l l i I l VIII SSS 7S GND J ug070_6_76_072704 Figure 6 78 Virtex 4 I O 3 State Output Driver Table 6 39 Absolute Maximum Undershoot and Overshoot Vcco V Maximum Undershoot V Maximum Overshoot V 3 75 0 30 4 05 3 6 0 45 4 05 3 45 0 60 4 05 3 3 0 75 4 05 3 0 1 05 4 05 The clamp diodes offer protection against transient voltage beyond approximately Veco 0 5V and Ground 0 5V The voltage across the diode increases proportionally to the current going through it Therefore the clamped level is not fixed and can vary depending on the board design The absolute maximum I O limits might be exceeded even if the clamp diode is activ
51. read before write See Figure 4 3 hie A X 44 CON oye Ne LM ao WE Data In Address Data Out ENABLE DISABLED READ i WRITE i WRITE READ MEM bb 1111 MEM cc 2222 ug070 4 03 071204 Figure 4 3 READ FIRST Mode Waveforms NO CHANGE Mode In NO CHANGE mode the output latches remain unchanged during a write operation As shown in Figure 4 4 data output is still the last read data and is unaffected by a write operation on the same port NO CHANGE mode is not supported in 32K x 1 RAM configuration Data In XXXX 1111 2222 XXXX Address Data Out ENABLE l DISABLED READ WRITE WRITE READ MEM bb 1111 MEM cc 2222 dd ug070 4 04 071204 Figure 4 4 NO CHANGE Mode Waveforms Conflict Avoidance Virtex 4 block RAM memory is a true dual port RAM where both ports can access any memory location at any time When accessing the same memory location from both ports the user must however observe certain restrictions specified by the clock to clock set up time window There are two fundamentally different situations The two ports either have a common clock synchronous clocking or the clock frequency or phase is different for the two ports asynchronous clocking Virtex 4 User Guide www xilinx com 115 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX Asynchronous Clocking Asynchronous clocking is the more general case where the active edges of both clocks do not oc
52. standard mode 148 status flags 148 timing parameters 153 G GCLK 36 global clocks clock buffers 23 clock I O inputs 24 GSR defined 123 GTL 246 defined 246 GTL_DCI 246 GTLP 247 GTLP_DCI 248 Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 387 XILINX H HSTL 249 defined 249 class I 250 class I 1 8V 259 class II 251 class II 1 8V 260 class III 256 class III 1 8V 265 class IV 257 class IV 1 8V 266 CSE differential HSTL class II 253 260 262 DIFF HSTL 268 HyperTransport LDT 284 I O standards 220 bank rules 286 compatibility 287 differential I O 220 single ended I O 220 I O tile 219 ILOGIC 219 IOB 219 OLOGIC 219 IBUF 232 PULLUP PULLDOWN KEEPER 236 IBUFDS 233 IBUFG 24 232 IBUFGDS 24 233 IDDR 311 OPPOSITE EDGE mode 312 ports 315 primitive 315 SAME EDGE mode 313 SAME EDGE PIPELINED mode 314 IDELAY 320 defined 320 353 attributes 322 delay mode fixed 320 variable 321 zero hold time 320 IDELAYCTRL 329 increment decrement 322 ports 321 primitive 321 reset 322 switching characteristics 323 timing 323 IDELAYCTRL 329 instantiating 332 334 RDY port 333 location 331 primitive 329 REFCLK 329 340 ILOGIC 219 309 IDDR 311 SR 309 switching characteristics 319 timing 317 IOB 219 defined 220 ISERDES Bitslip 371 IOBDELAY 359 IOBUF 233 PULLUP PULLDOWN KEEPER 236 IOBUFDS 234 ISERDES 353 defined 353 attributes 357 bitslip 354 356
53. 0 January 4 2007 XILINX CLB Slice Timing Models Arithmetic Logic The arithmetic logic includes an XOR gate that allows a 2 bit full adder to be implemented within a slice In addition a dedicated AND FAND or GAND gate shown in Figure 5 2 improves the efficiency of multiplier implementation CLB Slice Timing Models Virtex 4 User Guide Due to the large size and complexity of Virtex 4 FPGAs understanding the timing associated with the various paths and functional elements has become a difficult and important task Although it is not necessary to understand the various timing parameters to implement most designs using Xilinx software a thorough timing model can assist advanced users in analyzing critical paths or planning speed sensitive designs Three timing model sections are described e Functional element diagram basic architectural schematic illustrating pins and connections e Timing parameters definitions of Virtex 4 Data Sheet timing parameters e Timing Diagram illustrates functional element timing parameters relative to each other Use the models in this chapter in conjunction with both the Xilinx Timing Analyzer software TRCE and the section on switching characteristics in the Virtex 4 Data Sheet All pin names parameter names and paths are consistent with the post route timing and pre route static timing reports Most of the timing parameters found in the section on switching characteristics
54. 0 0 0 occ cece e ee 377 Guidelines for Expanding the Parallel to Serial Converter Bit Width 378 OSERDES Latencies 422 reccreRDer ur dA ipu a LESE sed ne bee sewed 378 OSERDES Timing Model and Parameters 060 000 379 Timing Characteristics assii viis vx EX os Siege b CEPR RE Fuge wae vad 379 OSERDES VHDL and Verilog Instantiation Templates 55 382 OSERDES VHDL Templates 222 me neas IE Y dod qe erbe CER Lame ees 382 OSERDES Verilog Template cesses he hh hn 383 Chapter 9 Temperature Sensing Diode Temperature Sensing Diode TDP TDN s esses 385 Temperature Sensor Examples sse een 385 Maxim Remote Local Temperature Sensors eeeeeeeeeee eee ee 385 National Semiconductor LM83 or LM86 0 0 0 cece eee eee eee nee 385 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 lt XILINX Preface About This Guide This document describes the Virtex 4 architecture Complete and up to date documentation of the Virtex 4 family of FPGAs is available on the Xilinx web site at http www xilinx com virtex4 Guide Contents Chapter 1 Clock Resources Chapter 2 Digital Clock Managers DCMs Chapter 3 Phase Matched Clock Dividers PMCDs Chapter 4 Block RAM Chapter 5 Configurable Logic Blocks CLBs Chapter 6 SelectIO Resources Chapter 7 SelectIO Logic Resources Chapter 8 Advanced
55. 1 n X 0 1 1 n 1 1 1 1 Old Input Notes 1 Old input refers to the valid input clock before this state is achieved 2 For all other states the output becomes the value of INIT OUT and does not toggle Although both S and CE are used to select a desired output each one of these pins behaves slightly different When using CE to switch clocks the change in clock selection can be faster than when using S Violation in Setup Hold time of the CE pins causes a glitch at the clock output On the other hand using the S pins allows the user to switch between the two clock inputs without regard to Setup Hold times It will not result in a glitch See the discussion of BUFGMUX VIRTEX4 The CE pin is designed to allow backward compatibility from Virtex II and Virtex II Pro FPGAs The timing diagram in Figure 1 2 illustrates various clock switching conditions using the BUFGCTRL primitives Exact timing numbers are best found using the speed specification 1 2 3 4 5 6 T Ci t I amp f 3E d tf e N t_ l 77 74 eee ll Hn a sal etl Hesens E he E eee ree TBCcCCK CE a dA SER eo IGNOREO E IGNORE1 9 TBcck T l l l T CCKO O BCCKQ_O BCCKO O CO d Tl pl T CEPIT Bc qp 1 1h xX l l l HN at 10 Begin l1 Begin lO UGO70 1 02 082704 Figure 1 2 BUFGCTRL Timing Diagram Virtex 4 User Guide www xilinx com 27 UGO070 v2 0 January 4 2007
56. 12 bit write count output WRERR WRERR 1 bit write error DI DI 32 bit data input DIP DIP 4 bit partity input RDCLK RDCLK 1 bit read clock input RDEN RDEN 1 bit read enable input RST RST 1 bit reset input WRCLK WRCLK 1 bit write clock input WREN WREN 1 bit write enable input End of FIFO16 1kx18 inst instantiation 152 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX FIFO Timing Models and Parameters FIFO Timing Models and Parameters Table 4 14 shows the FIFO parameters Table 4 14 FIFO Timing Parameters Parameter Function Setup and Hold Relative to Clock CLK Control Signal Description Tgxck Setup time before clock edge Trgckx Hold time after clock edge The following descriptions are for setup times only Trpck pi Data inputs DI Time before WRCLK that data must be stable at the DI TrckDp DI inputs of the FIFO TECCK_RDEN Read enable RDEN Time before RDCLK that Read Enable must be stable Trcck wREN Write enable WREN Time before WRCLK that write enable must be stable Sequential Delays Trcko po Clock to data output DO Time after RDCLK that the output data is stable at the DO outputs of the FIFO Trcko AEMPTY Clock to almost empty AEMPTY Time after RDCLK that the Almost Empty signal is output stable at the ALMOSTEMPTY outputs of the FIFO
57. 13 1 25 1 38 Ver Vreer NO 1 09 1 25 1 42 Vig 2 Vggp 0 15 1 28 1 40 3 0 2 Vi Veep 0 15 0 30 1 1 127 Vou Vggr 0 8 1 93 2 03 2 13 VoL Vrer 0 80 0 36 0 46 0 55 Ion at Vou mA 16 2 272 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Table 6 27 SSTL2 DC Voltage Specifications Class II Continued Min Typ Max lor at VoL mA 16 2 rex Notes 1 N must be greater than or equal to 0 04 and less than or equal to 0 04 2 Viy maximum is Veco 0 3 3 Vy minimum does not conform to the formula 4 Because SSTL2 I DCI uses a controlled impedance driver Voy and Voy are different Complementary Single Ended CSE Differential SSTL2 Class II 2 5V Figure 6 62 shows a sample circuit illustrating a valid termination technique for CSE differential SSTL2 Class II 2 5V with unidirectional termination External Termination Vyr 1 25V Vyr 1 25V IOB H m lOB l DIFF SSTL2 II l Rg 20 500 sa Dq v ED X i l DIFF SSTL2 I Vag 1 25V Vir 1 25V l DIFF SSTL2 II l ee 500 soo Rg 250 Dg QA X l l l i ug070 6 60 071904 Figure 6 62 Differential SSTL2 Class II Unidirectional Termination Virtex 4 User Guide www xilinx com 273 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Figure 6 63 shows a sam
58. 2 Supported DRIVE strengths are 2 4 6 8 12 16 24 mA Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 239 Chapter 6 SelectlO Resources 2 XILINX Table 6 2 details the allowed attributes that can be applied to the LVTTL I O standard Table 6 2 Allowed Attributes for the LVTTL I O Standard Primitives Attributes IBUF IBUFG OBUF OBUFT IOBUF IOSTANDARD LVTIL IVTIL LVTTL CAPACITANCE LOW NORMAL DONT_CARE DRIVE UNUSED 2 4 6 8 12 16 24 2 4 6 8 12 16 24 SLEW UNUSED FAST SLOW FAST SLOW LVCMOS Low Voltage Complementary Metal Oxide Semiconductor LVCMOS is a widely used switching standard implemented in CMOS transistors This standard is defined by JEDEC JESD 8 5 Sample circuits illustrating both unidirectional and bidirectional LVCMOS termination techniques are shown in Figure 6 27 and Figure 6 28 LVCMOS LVCMOS t m IOB IOB LVCMOS LVCMOS Rs Zg Rp Kw m gt MEE IOB Ym 08 ooo LVCMOS LVCMOS Rp Zo x 54 gt Note V is any voltage from OV to Veco ug070 6 27 071904 Figure 6 27 LVCMOS Unidirectional Termination www xilinx com UG070 Virtex 4 User Guide v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards IOB IOB LVCMOS LVCMOS gt x ED m S lop Ym Yi IOB LVCMOS LVCMOS Rp Zg Rp Zo Pd 2 X Figure 6 28 L
59. 25 8 BLVDS 25 8 www xilinx com 299 Chapter 6 SelectlO Resources 300 XILINX Table 6 42 Non Sparse Chevron Simultaneously Switching Output Limits per Equivalent Vcco GND Pair Continued Voltage 3 3V Non Sparse Chevron Limit lostamdard SF363 and FF668 Packages LVCMOS33 2 slow 68 LVCMOS33 4 slow 41 LVCMOS33 6 slow 29 LVCMOS33 8 slow 22 LVCMOS323 12 slow 15 LVCMOS33 16 slow 11 LVCMOS33 24 slow 7 LVCMOS33 2 fast 40 LVCMOS33 4 fast 24 LVCMOS33 6 fast 17 LVCMOS33 8 fast 13 LVCMOS323 12 fast 10 LVCMOS323 16 fast 8 LVCMOS33 24 fast 5 LVDCI 33 50 Q 13 HSLVDCI 33 50 O 13 IVTTL2 slow 68 LVTILA slow 41 IVTTL6 slow 29 LVTILS slow 22 LVTTLI12 slow 15 LVTTL16 slow 11 LVTTL24 slow 7 LVTII2 fast 40 LVTIIA fast 24 LVTIL6O fast 17 LVTTLS fast 13 LVTTILI2 fast 10 LVTTLI16 fast 8 LVTTL24 fast 5 PCI33 3 PCI66 3 PCIX 9 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Simultaneous Switching Output Limits Table 6 42 Non Sparse Chevron Simultaneously Switching Output Limits per Equivalent Vcco GND Pair Continued votage IOSlandar SS 3 3V GTL 4 GTL_DCI 4 GTLP 4 GTLP_DCI 4 Equivalent Vcco GND Pairs Non Sparse Chevron Since ground pins and Vcco pins are connected to common structures inside the package the number of effective Vcco
60. 371 BITSLIP ENABLE attribute 358 IDELAY IDELAYCTRL 329 ports 355 356 374 primitive 355 SDR 366 serial to parallel converter 353 361 switching characteristics 364 timing models 364 width expansion 360 L LDT See HyperTransport 284 LVCMOS 240 defined 240 LVDCI 242 defined 242 LVDCI DV2 242 source termination 292 LVDS 282 defined 282 LVDS 25 DCI 283 LVDSEXT 25 DCI 283 LVPECL 285 defined 285 LVTTL 238 defined 238 N NO CHANGE mode 115 O OBUF 232 OBUFDS 233 OBUFT 232 PULLUP PULLDOWN KEEPER 236 OBUFTDS 234 ODDR 343 clock forwarding 345 OPPOSITE EDGE mode 343 ports 346 primitive 346 SAME EDGE mode 345 OLOGIC 219 340 timing 348 OSERDES 372 parallel to serial converter 373 switching characteristics 379 timing 379 P parallel to serial converter 372 DDR 373 SDR 373 PCI 245 PCI33 246 PCI66 246 PCIX 246 PFDM 302 PMCD defined 95 attributes 98 clock frequencies 104 clocking wizard 105 connecting parallel PMCDs 102 connecting to a DCM 102 connecting to other clocks 101 connecting without a DCM 103 control signals reset and release 99 388 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX delay clocks 95 W divided clocks 95 98 frequency divider 98 WRITE_FIRST mode 114 location 96 ports 97 primitive 97 PSCLK 58 R READ FIRST mode 115 REFCLK 330 340 regional clock buffers 23 37 regional clocks clock buffers 39 clock nets 42 R
61. 5V only ug070 6 16 071904 Figure 6 16 LVDS DCI Usage Examples Virtex 4 SelectlO Primitives The Xilinx software library includes an extensive list of primitives to support a variety of I O standards available in the Virtex 4 I O primitives The following are five generic primitive names representing most of the available single ended I O standards IBUF input buffer IBUFG clock input buffer OBUF output buffer OBUFT 3 state output buffer IOBUF input output buffer These five generic primitive names represent most of the available differential I O standards Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 231 Chapter 6 SelectlO Resources XILINX e IBUFDS input buffer e IBUFGDS clock input buffer e OBUFDS output buffer e OBUFTDS 3 state output buffer e IOBUFDS input output buffer IBUF and IBUFG Signals used as inputs to Virtex 4 devices must use an input buffer IBUF The generic Virtex 4 IBUF primitive is shown in Figure 6 17 IBUF IBUFG Input O Output From device pad into FPGA ug070 6 17 071904 Figure 6 17 Input Buffer IBUF IBUFG Primitives The IBUF and IBUFG primitives are the same IBUFGs are used when an input buffer is used as a clock input In the Xilinx software tools an IBUFG is automatically placed at clock input sites OBUF An output buffer OBUF must be used to drive signals from Virtex 4 devices to external output pads A generic Vir
62. 6 7 and 8 When DATA RATE OQ is set to DDR the possible values for the DATA WIDTH attribute are 4 6 8 and 10 When the DATA WIDTH is set to widths larger than six a pair of OSERDES must be configured into a master slave configuration See OSERDES Width Expansion SERDES MODE Attribute The SERDES MODE attribute defines whether the OSERDES module is a master or slave when using width expansion The possible values are MASTER and SLAVE The default value is MASTER See OSERDES Width Expansion TRISTATE WIDTH Attribute The TRISTATE WIDTH attribute defines the parallel 3 state input width of the 3 state control parallel to serial converter The possible values for this attribute depend on the DATA RATE TO attribute When DATA RATE TO is set to SDR or BUF the TRISTATE WIDTH attribute can only be set to 1 When DATA RATE TO is set to DDR the possible values for the TRISTATE WIDTH attribute are 2 or 4 TRISTATE WIDTH can not be set to widths larger than four OSERDES Width Expansion Virtex 4 User Guide Two OSERDES modules are used to build a parallel to serial converter larger than 6 1 In every I O tile there are two OSERDES modules one master and one slave By connecting the SHIFTIN ports of the master OSERDES to the SHIFTOUT ports of the slave OSERDES the parallel to serial converter can be expanded to up to 10 1 DDR and 8 1 SDR If the output is differential the master OSERDES must be on the positive side of the
63. 9 5 Table 9 6 Table 9 9 Table 9 11 Table 9 12 Table 9 14 and Table 9 15 Changes to the entire System Monitor Calibration System Monitor VHDL and Verilog Design Example sections 02 01 05 1 2 In Chapter 1 Clock Resources revised Global Clock Buffers Clock Regions and Clock Capable I O sections In Chapter 4 Block RAM revised Reset page 148 description and Table 4 13 In Chapter 6 SelectIO Resources removed the device configuration section The Virtex 4 Configuration Guide describes this information in detail Edited SSTL Stub Series Terminated Logic page 268 Replaced LVDS_25_DCI with LVDCI_25 in Compatible example page 286 Added rule 7 to DCI in Virtex 4 Hardware page 227 Added Simultaneous Switching Output Limits page 294 Removed Chapter 9 System Monitor 04 11 05 1 3 Chapter 1 Revised Table 1 1 page 24 Figure 1 14 and BUFR Attributes and Modes section including Figure 1 21 page 41 Chapter 2 Revised FACTORY JF value in Table 2 7 page 67 Added Phase Shift Overflow section Clarified global clock discussion in Global Clock Buffers Clock Regions and Clock Capable I O Chapter 4 Added Built in Block RAM Error Correction Code section Revised Figure 4 6 and Figure 4 8 page 120 Chapter 5 Revised Table 5 1 and Table 5 2 page 168 Chapter 6 Revised Table 6 29 page 278 Chapter 7 Rev
64. 9 bit write address input 1 bit write clock input 1 bit write enable input End of RAMB32 S64 ECC inst instantiation Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 165 Chapter 4 Block RAM XILINX 166 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Chapter 5 Configurable Logic Blocks CLBs CLB Overview Virtex 4 User Guide The Configurable Logic Blocks CLBs are the main logic resource for implementing sequential as well as combinatorial circuits Each CLB element is connected to a switch matrix to access to the general routing matrix shown in Figure 5 1 A CLB element contains four interconnected slices These slices are grouped in pairs Each pair is organized as a column SLICEM indicates the pair of slices in the left column and SLICEL designates the pair of slices in the right column Each pair in a column has an independent carry chain however only the slices in SLICEM have a common shift chain The Xilinx tools designate slices with the following definitions An X followed by a number identifies a column of slices The number counts up in sequence from the left to the right A Y followed by a number identifies the position of each slice in a pair as well as the CLB row The Y number counts slices starting from the bottom in sequence 0 1 0 1 the first CLB row 2 3 2 3 the second CLB row etc Figure 5 1 shows the CLB located in the
65. A1 A0 Q Q15 SRLC16_1 16 bits CLK A3 A2 A1 A0 Q Q15 SRLCI6E 1 16 bits CLK CE A3 A2 A1 A0 Q O15 In addition to the 16 bit primitives 32 bit and 64 bit cascadable shift registers can be implemented in VHDL and Verilog Table 5 14 lists the available submodules Table 5 14 Shift Register Submodules Submodule Length Control Address Inputs Output SRLC32bE MACRO 32bits CLK CE A4 A3 A2 A1 A0 Q Q31 SRLC64E_MACRO 64bits CLK CE A5 A4 A3 A2 A1 A0 Q Q63 The submodules are based on SRLC16E primitives and are associated with dedicated multiplexers MUXF5 MUXF6 and so forth This implementation allows a fast static and dynamic length mode even for very large shift registers Figure 5 29 represents the cascadable shift registers 32 bit and 64 bit implemented by the submodules in Table 5 14 206 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX A4 Add 34 A3 A2 A1 AO Q15 SRLC16E Q15 SRLC16E 32 bit Shift Register Shift Registers SRLs Primitives and Verilog VHDL Example Add 84 MUXF5 A5 A4 A5 X A3 A2 A1 AO Q15 SRLC16E Q15 SRLC16E Q15 SRLC16E A4 Q15 SRLC16E v MUXF5 MUXF5 MUXF6 gt Q63 64 bit Shift Register Figure 5 29 Shift Register Submodules 32 bit 64 bit UG070_5_29 071504 All clock enable CE and c
66. Attributes Default Attribute Name Description Value Value BITSLIP ENABLE Allows the user to use the Bitslip sub module 5 joan TRUE or FALSE FALSE or bypass it Enables incoming data stream to be M ing M DATA_RATE processed as SDR or DDR data String SDR or DDR DDR Integer 2 3 4 5 6 7 8 or 10 Defines the width of the serial to parallel If DATA RATE DDR value is DATA WIDTH converter The legal value depends on the limited to 4 6 8 or 10 4 DATA RATE attribute SDR or DDR If DATA RATE SDR value is limited to 2 3 4 5 6 7 or 8 String MEMORY or INTERFACE TYPE Chooses the ISERDES use model NETWORKING MEMORY Virtex 4 User Guide www xilinx com 357 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources XILINX Table 8 2 SERDES Attributes Continued Default Attribute Name Description Value Value Applies delay to combinatorial or registered String NONE IBUF IFD IOBDELAY paths both or neither or BOTH NONE Sets the type of delay See Input Delay String DEFAULT FIXED TOBDELAY IXE Element IDELAY or VARIABLE DESEE Specifies the initial delay See Input Delay IOBDELAY VALUE Element IDELAY Integer 0 to 63 0 NUM CE Defines the number of clock enables Integer 1 or 2 2 SERDES MODE Heninga whether ihe BERDESmoduleis simp MASTER
67. BUFGCTRL BUFIO VHDL and Verilog Templates The following examples illustrate the instantiation of the BUFIO module in VHDL and Verilog VHDL Template Example BUFIO declarati on Virtex 4 User Guide www xilinx com 49 UGO070 v2 0 January 4 2007 Chapter 1 Clock Resources XILINX component BUFIO port O out std ulogic I in std ulogic end component Example BUFIO instantiation U BUFIO BUFIO Port map O user o I0 gt user i Declaring constraints in VHDL file attribute LOC string attribute LOC of U BUFIO label is BUFIO_X Y where is valid integer locations of BUFIO Verilog Template Example BUFIO module declaration module BUFIO O I output O input I endmodule Example BUFIO instantiation BUFIO U BUFIO O user o0 I user i Declaring constraints in Verilog synthesis attribute LOC of U BUFIO is BUFIO_X Y where is valid integer locations of BUFIO Declaring Constraints in UCF File INST U BUFIO LOC BUFIO_X Y where is valid integer locations of BUFIO BUFR VHDL and Verilog Templates The following examples illustrate the instantiation of the BUFR module in VHDL and Verilog 50 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX VHDL and Verilog Templates VHDL Template Example BUFR declaration component BUFR generic BUFR_DIVIDE string BYPASS
68. BUFGCTRL outputs are already accessing a clock region and a DCM is in that region then no additional BUFGCTRL can be used in that region including a connection to the FB pin of the DCM DCM To and From PMCD Refer to the PMCD chapter Phase Matched Clock Dividers PMCDs Application Examples The Virtex 4 DCM can be used in a variety of creative and useful applications The following examples show some of the more common applications 78 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Application Examples Standard Usage The circuit in Figure 2 7 shows DCM_BASE implemented with internal feedback and access to RST and LOCKED pins This example shows the simplest use case for a DCM DCM_BASE BUFG IBUFG CLKO CLK90 CLK180 CLK270 IBUF CLK2X CLK2X180 CLKDV CLKFX CLKFX180 V V LOCKED UGO70 2 07 071204 Figure 2 7 Standard Usage Board Level Clock Generation The board level clock generation example in Figure 2 8 illustrates how to use a DCM to generate output clocks for other components on the board This clock can then be used to interface with other devices In this example a DDR register is used with its inputs connected to GND and Vcc Because the output of the DCM is routed to BUFG the clock stays within global routing until it reaches the output register The quality of the clock is maintained If the design requires global buffers in other areas u
69. Back to initial O 002 at OO ake k oo a ae 0 O 00 Ee 4A0o0OoO 300 0 00 00 cos00 Bitslip signal from system BITSLIP SERDES_MODE SLAVE BITSLIP_ENABLE TRUE Note 1 This is a repeating pattern ug070 8 17 072904 Figure 8 9 Circuit Diagram for Bitslip Configuration Guidelines for Using the Bitslip Sub Module Set the BITSLIP ENABLE attribute to TRUE When BITSLIP ENABLE is set to FALSE the Bitslip pin has no effect In a master slave configuration the BITSLIP ENABLE attribute in both modules must be set to TRUE To invoke a Bitslip operation the BITSLIP port must be asserted High for one and only one CLKDIV cycle In both SDR and DDR mode the output pattern will be stable after two CLKDIV cycles Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 371 Chapter 8 Advanced SelectlO Logic Resources XILINX Bitslip Timing Model and Parameters This section discusses the timing models associated with the Bitslip controller Figure 8 10 shows the Bitslip timing diagram 1 2 ex TLTITLTLTLITLTLITLILTITLTLITLTLTITLITTLITLITL CLKDIV DL DL Q1 to Q6 Q3 and Q4 Tisckoo 41 of Master of Slave 10010011 11001001 MSB LSB T ISCCK BITSLIP BITSLIP ee MM ug070 8 18 072904 Figure 8 10 Bitslip Timing Diagram Clock Event 1 e At time TisccKx prrsr ip before CLKDIV Event 1 the Bitslip signal is asserted High On the next CLKDIV cy
70. CASCADEOUT of Bottom WE 3 0 Interconnect X RAM EXTENSION P LOWER 1 Block RAM FIFO Support Optional Output FF DO Not Used gt CASCADEIN Connect to logic High or Low UG070_4_06_033005 Figure 4 6 Cascadable Block RAM The block RAM can be configured as an asynchronous FIFO different clock on read and write ports or a synchronous FIFO In the FIFO mode the block RAM Port A is the FIFO read port while the block RAM Port B is the FIFO write port The supported configurations are 4K x 4 2K x 9 1K x 18 and 512 x 36 Figure 4 7 shows the block RAM 118 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Additional Block RAM Features in Virtex 4 Devices I Os used for the FIFO implementation The Built in FIFO Support section contains further details l Os not used in FIFO Mode DIA AA 13 0 DO WEA 3 0 EMPTY RD EN ENA SSR SSRA RD CLK gt CLKA Port A DI DIB ALMOST_EMPTY AB 13 0 DOB WR_EN WEB 3 0 FULL ALMOST FULL RDCOUNT WRCOUNT WR CLK UGO70 4 07 071204 Figure 4 7 Block RAM Implemented as a FIFO Byte Wide Write Enable The byte wide write enable feature of the block RAM gives the capability to write eight bit one byte portions of incoming data There are four independent byte write enable inputs Each byte write enable is associated with one byte of input data and
71. CLKO CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV CLKFX CLKFX180 Status and Data Output LOCKED PSDONE DO 15 0 DRDY There are four types of DCM ports available in the Virtex 4 architecture e Clock Input Ports e Control and Data Input Ports e Clock Output Ports e Status and Data Output Ports Clock Input Ports Source Clock Input CLKIN Virtex 4 User Guide The source clock CLKIN input pin provides the source clock to the DCM The CLKIN frequency must fall in the ranges specified in the Virtex 4 Data Sheet The clock input signal comes from one of the following buffers 1 IBUFG Global Clock Input Buffer The DCM compensates for the clock input path when an IBUFG on the same edge top or bottom of the device as the DCM is used 2 BUFGCTRL Internal Global Clock Buffer Any BUFGCTRL can drive any DCM in the Virtex 4 device using dedicated global routing A BUFGCTRL can drive the DCM CLKIN pin when used to connect two DCMs in series www xilinx com UGO070 v2 0 January 4 2007 58 Chapter 2 Digital Clock Managers DCMs XILINX 3 IBUF Input Buffer When an IBUF drives the CLKIN input the PAD to DCM input skew is not compensated Feedback Clock Input CLKFB The feedback clock CLKFB input pin provides a reference or feedback signal to the DCM to delay compensate the clock outputs and align them with the clock input To provide the necessary feedback to the DCM connect onl
72. Chapter 4 Block RAM Table 4 14 FIFO Timing Parameters Continued XILINX Parameter Function anol Description Signal Trco FULL Reset to full output FULL Time after reset that the Full signal is stable at the FULL outputs of the FIFO TECO_RDERR Reset to read error RDERR Time after reset that the Read error signal is stable at output the RDERR outputs of the FIFO Trco wRERR Reset to write error WRERR Time after reset that the Write error signal is stable at output the WRERR outputs of the FIFO Trco RDCOUNT Reset to read pointer RDCOUNT Time after reset that the Read pointer signal is stable output at the RDCOUNT outputs of the FIFO Trco WRCOUNT Reset to write pointer WRCOUNT Time after reset that the Write pointer signal is stable output at the WRCOUNT outputs of the FIFO Notes 1 Tpcko po includes parity output Tecko pop 2 In the Virtex 4 Data Sheet TecKo_AEMPTY TFCKO AFULL TrCKo EMPTY Trcko FULL TFCKO_RDERR TFCKO_WRERR re combined into TrCKO FLAGS 3 In the Virtex 4 Data Sheet TrCKO RDCOUNT and TECKO_WRCOUNT are combined into TECKO_POINTERS Pe Trcpcx pr includes parity inputs Tecpck prp 5 In the Virtex 4 Data Sheet WRITE and READ enables are combined into Tgcck gw FIFO Timing Characteristics 154 The various timing parameters in the FIFO are described in this section There is also additional data on FIFO functionality The timing diagrams describe the be
73. Clock Event 1 Clock Event 2 e Attime Torck before Clock Event 2 falling edge of C the 3 state signal T2 becomes valid high at the T2 input of 3 state register 2 and is reflected on the TO output at time Tocko after Clock Event 2 no change at the TQ output in this case Clock Event 9 e At time Tosgcy before Clock Event 9 rising edge of C the SR signal configured as synchronous reset in this case becomes valid high resetting 3 state Register 1 reflected at the TO output at time Tg after Clock Event 9 no change at the TO output in this case and resetting 3 state Register 2 reflected at the TQ output at time Trg after Clock Event 10 no change at the TO output in this case 352 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Chapter 6 Advanced SelectIO Logic Resources Introduction The Virtex 4 I O functionality is described in Chapter 6 through Chapter 8 of this user guide e Chapter 6 covers the electrical characteristics of input receivers and output drivers and their compliance with many industry standards e Chapter 7 describes the register structures dedicated for sending and receiving SDR or DDR data e This chapter covers additional new Virtex 4 resources Input serial to parallel converters ISERDES and output parallel to series converters OSERDES support very fast I O data rates and allow the internal logic to run up to ten times slower than the I O The B
74. Common mode voltage Vem Vp Vp Vx 2 2 Crossover point Vx where Vp Vy 0 AC coupled Virtex 4 User Guide www xilinx com 255 UGO070 v2 0 January 4 2007 XILINX Chapter 6 SelectlO Resources HSTL Class Ill Figure 6 46 shows a sample circuit illustrating a valid termination technique for HSTL Class III External Termination IOB l IOB HSTL Ill l HSTL_III Rp Zo 500 b3 0 2 yx Vper 0 9V CR E ee ei L DCI BEER IOB IOB Rypp Zg 500 HSTL_III_DCI HSTL III DCI ug070 6 44 071904 Figure 6 46 HSTL Class III Termination Table 6 17 lists the HSTL Class III DC voltage specifications Table 6 17 HSTL Class Ill DC Voltage Specifications Min Typ Max Veco 1 40 1 50 1 60 Vreer 2 z 0 90 F Vir S Veco Vu Vpr 0 1 a E Vir Vrer 0 1 Vou Veco 0 4 a Var a 0 4 Tox at Voy mA 8 Io at Vor mA 24 Notes 1 Vor and Voy for lower drive currents are sample tested 2 Per EIA JESD8 6 The value of Vggp is to be selected by the user to provide optimum noise margin in the use conditions specified by the user Virtex 4 User Guide UGO070 v2 0 January 4 2007 256 www xilinx com XILINX Specific Guidelines for Virtex 4 I O Supported Standards HSTL Class IV Figure 6 47 shows a sample circuit illustrating a valid unidirectional termination technique for HSTL Class IV External
75. DEFAULT FIXED VARIABLE IOBDELAY VALUE integer 0 0 to 63 ys port O out STD LOGIC I in STD LOGIC C in STD LOGIC CE in STD LOGIC INC in STD LOGIC RST in STD LOGIC Js end component Component Attribute specification for IDELAY should be placed after architecture declaration but before the begin keyword Architecture Section attribute IOBDELAY TYPE string attribute IOBDELAY VALUE integer Component Instantiation for IDELAY should be placed in architecture after the begin keyword Instantiation Section Ul IDELAY generic map IOBDELAY TYPE VARIABLE Set to VARIABLE for Variable Delay Mode Lj IOBDELAY VALUE gt 0 port map O gt data output I data input C clkdiv CE gt dlyce INC dlyinc RST dlyrst Verilog Code for Variable Delay Mode The IDELAYCTRL primitive must be instantiated in conjunction with the IDELAY primitive when used in Variable Delay Mode 328 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX ILOGIC Resources Module IDELAY Description Verilog instantiation template Variable Delay Mode Device Virtex 4 Family Instantiation Section IDELAY U1 O data output I data input C clkdiv CE dlyce INC dlyinc RST dlyrst Set IOBDELAY TYPE attribute to VARIABLE for Variable
76. Decrement Signals CE INC The increment decrement enable signal CE controls when an increment decrement function is to be performed As long as CE remains High IDELAY will increment or decrement by TIDELAYRESOLUTION every clock C cycle The state of INC determines whether IDELAY will increment or decrement INC 1 increments INC 0 decrements synchronously to the clock C If CE is Low the delay through IDELAY will not change regardless of the state of INC When CE is raised the increment decrement operation begins on the next positive clock cycle When CE is lowered the increment decrement operation ceases on the next positive clock cycle A wait period of 8 clock cycles CLKDIV if ISERDES CLK if IDDR is required prior to sampling the output of the IDELAY after an increment or decrement operation This provides sufficient time for the output to settle IDELAY is a wrap around programmable delay element When the end of the delay element is reached tap 63 a subsequent increment function will return to tap 0 The same applies to the decrement function decrementing below zero moves to tap 63 The increment decrement operation is summarized in Table 7 7 Table 7 7 Increment Decrement Operations Operation RST CE INC Reset to IOBDELAY_VALUE 1 x x Increment tap count 0 1 1 Decrement tap count 0 1 0 No change 0 0 x Notes 1 RST takes precedence over CE and INC IDELAY Attributes Table 7
77. Delay Mode synthesis attribute IOBDELAY TYPE of Ul is VARIABLE synthesis attribute IOBDELAY VALUE of U1 is 0 IDELAYCTRL Overview If the IDELAY or ISERDES primitive is instantiated with the IOBDELAY_TYPE attribute set to FIXED or VARIABLE the IDELAYCTRL module must be instantiated The IDELAYCTRL module continuously calibrates the individual delay elements IDELAY in its region see Figure 7 15 page 332 to reduce the effects of process voltage and temperature variations The IDELAYCTRL module calibrates IDELAY using the user supplied REFCLK IDELAYCTRL Primitive Virtex 4 User Guide Figure 7 13 shows the IDELAYCTRL primitive IDELAYCTRL REFCLK RDY RST ug070 7 13 080104 Figure 7 13 IDELAYCTRL Primitive www xilinx com 329 UGO070 v2 0 January 4 2007 330 Chapter 7 SelectlO Logic Resources XILINX IDELAYCTRL Ports RST Reset The reset input pin RST is an active High asynchronous reset IDELAYCTRL must be reset after configuration and the REFCLK signal has stabilized to ensure proper IDELAY operation A reset pulse width TIDELAYCTRL_RPW is required IDELAYCTRL must be reset after configuration REFCLK Reference Clock The reference clock REFCLK provides a time reference to IDELAYCTRL to calibrate all IDELAY modules in the same region This clock must be driven by a global clock buffer BUFGCTRL REFCLK must be Frpgr AycTRI REF the specified ppm tolerance IDELA
78. Dynamic length read operations are asynchronous Q output Static length read operations are synchronous Q output The data input has a setup to clock timing specification In a cascadable configuration the Q15 output always contains the last bit value The Q15 output changes synchronously after each shift operation Multiplexers Virtex 4 function generators and associated multiplexers can implement the following 4 1 multiplexer in one slice 8 1 multiplexer in two slices 16 1 multiplexer in one CLB element 4 slices 32 1 multiplexer in two CLB elements 8 slices 2 adjacent CLBs Wide input multiplexers are implemented in one level of logic or LUT and by dedicated MUXFYX These multiplexers are fully combinatorial Each Virtex 4 slice has one MUXF5 multiplexer and one MUXFX multiplexer The MUXFX multiplexer implements the MUXF6 MUXF7 or MUXES according to the slice position in the CLB as shown in Figure 5 13 Each CLB element has two MUXF6 multiplexers one MUXF7 multiplexer and one MUXF8 multiplexer MUXFX are designed to allow LUT combinations of up to 16 LUTs in two adjacent CLBs Any LUT can implement a 2 1 multiplexer Examples of multiplexers are shown in the Designing Large Multiplexers section Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 181 Chapter 5 Configurable Logic Blocks CLBs XILINX MUXF8 combines SLICE S3 the two MUXF7 outputs Two CLBs MUXF6 co
79. FINE SHIFT RANGE in the VARIABLE POSITIVE mode or exceeds 0 to FINE SHIFT RANGE in the DIRECT mode The phase shift overflow signal can toggle once it is asserted The condition determining if the delay line is exceeded is calibrated dynamically Therefore at the boundary of exceeding the delay line it is possible for the phase shift overflow signal to assert and de assert without a change in phase shift Once asserted it will remain asserted for at least 40 CLKIN cycles If the DCM is operating near the FINE SHIFT RANGE limit do not use the phase shift overflow signal as a flag to reverse the phase shift direction When the phase shift overflow is asserted de asserted then asserted again in a short phase shift range it can falsely reverse the phase shift direction Instead use a simple counter to track the phase shift value and reverse the phase shift direction PSINCDEC only when the counter reaches a previously determined maximum minimum phase shift value For example if the phase shift must be within 0 to 128 set the counter to toggle PSINCDEC when it reaches 0 or 128 Phase Shift Characteristics e Offers fine phase adjustment with a resolution of 1 256 of the clock period or one DCM_TAP whichever is greater It can be dynamically changed under user control e The phase shift settings affect all nine DCM outputs e Vcc and temperature do not affect the phase shift except in direct phase shift mode e neither fixed or variab
80. Figure 5 24 Simplified Virtex 4 Slice SRL 196 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX CLB Slice Timing Models Slice SRL Timing Parameters Table 5 7 shows the SLICEM SRL timing parameters for a majority of the paths in Figure 5 24 Table 5 7 Slice SRL Timing Parameters Parameter Function Description Sequential Delays for Slice LUT Configured as SRL Select Shift Register TREG CLK to X Y outputs Time after the Clock CLK of a Write operation that the data written to the SRL is stable on the X Y outputs of the slice TCKsH CLK to Shift_out Time after the Clock CLK of a Write operation that the data written to the SRL is stable on the Shift_out or XB YB outputs of the slice TREGES CLK to F5 output Time after the Clock CLK of a Write operation that the data written to the SRL is stable on the F5 output of the slice Trecxp CLK to XB YB outputs Time after the Clock CLK of a Write operation that the data written to TREGYB the SRL is stable on the XB YB outputs of the slice Setup Hold for Slice LUT Configured as SRL Select Shift Register Tys Setup time before clock edge The following descriptions are for setup times only Tyxu7 Hold time after clock edge Tws CE input WE Time before the clock that the write enable signal must be stable at the TwH WE input of the slice LUT configured as SRL Tps BX BY configured as data Time before the clock
81. Figure 6 4 Controlled Impedance Driver Controlled Impedance Driver with Half Impedance Source Termination DCI also provides drivers with one half of the impedance of the reference resistors This doubling of the reference resistor value reduces the static power consumption through Virtex 4 User Guide www xilinx com 223 UGO070 v2 0 January 4 2007 224 Chapter 6 SelectlO Resources XILINX these resistors by a factor of half The DCI I O standards supporting controlled impedance drivers with half impedance are LVDCI DV2 15 LVDCI DV2 18 and LVDCI DV2 25 Figure 6 5 illustrates a controlled driver with half impedance inside a Virtex 4 device The reference resistors R must be 2 x Zp in order to match the impedance of Zo IOB m2 b NT Zo Virtex 4 DCI UGO070_6_05_071404 Figure 6 5 Controlled Impedance Driver with Half Impedance Input Termination to Veco Single Termination Some I O standards require an input termination to Vcco see Figure 6 6 Vcco VREF Virtex 4 UGO70 6 06 071404 Figure 6 6 Input Termination to Vcco without DCI DCI can also provide input termination to Vcco using single termination The termination resistance is set by the reference resistors Both GTL and HSTL standards are controlled by 50 O reference resistors The DCI I O standards supporting single termination are GTL DCI GTLP DCI HSTL III DCI HSTL III DCI 18 HSTL IV DCI and HSTL IV DCI 18 Figu
82. GND pin pairs in a bank can differ from the number of physical Vcco GND pin pairs Table 6 43 shows the number of equivalent Vcco GND pin pairs in each bank of each non sparse chevron package Some of the numbers are not integers as these banks share GND pins with other resources Table 6 43 Equivalent Vcco GND Pairs per Bank Non Sparse Chevron Bank Number Package Virtex 4 LX Family 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 SF363 1 05 05 1 A pn n bo ap p o e o em FF668 2 Virtex 4 SX Family FF668 2 2 2 2 2 45 5 5 4 3 3 eee esser eee E S e Notes 1 These numbers are based on the package files and device pinout Some of the numbers are not integers as these banks share their GND pin with other banks Most of the limitations are based on the availability of GND pins in the vicinity of the bank There are a few instances where the limitation is due to Vcco pins 2 Bank 0 in all devices contains no user I O Therefore SSO analysis is unnecessary for Bank 0 Actual SSO Limits versus Nominal SSO Limits The Virtex 4 SSO limits are defined in for a set of nominal system conditions in Table 6 40 and Table 6 42 To compute the actual limits for a specific user s system the automated Parasitic Factors Derating Method PFDM must be used The PFDM allows the user to account for differences b
83. Global Clock Inputs Virtex 4 FPGAs contain specialized global clock input locations for use as regular user I Os if not used as clock inputs The number of clock inputs varies with the device size Smaller devices contain 16 clock inputs while larger devices have 32 clock inputs Table 1 1 summarizes the number of clock inputs available for different Virtex 4 devices Table 1 1 Number of Clock I O Inputs by Device Device Number of Clock I O Inputs XCAVLXI5 XCAVLX25 16 XCAVSX25 XCAVSX35 XCAVFX12 XC4VFX20 XC4VFX40 XC4VFX60 XC4VLX400 XCAVLX60 XC4VLX80 XC4VLX100 32 XC4VLX160 XC4VLX200 XC4VSX55 XCAVEX1000 XC4VEX140 Notes 1 The XC4VLX40 and XC4VLX60 in the FF668 package only have 16 clock input pins 2 The XC4VFX100 in the FF1152 package only has 16 clock input pins Clock inputs can be configured for any I O standard including differential I O standards Each clock input can be either single ended or differential All 16 or 32 clock inputs can be differential if desired When used as outputs global clock input pins can be configured for any output standard except LVDS and HT output differential standards Each global clock input pin supports any single ended output standard or any CSE output differential standard Global Clock Input Buffer Primitives The primitives in Table 1 2 are different configurations of the input clock I O input buffer Table 1 2 Clock Buffer Primitives Primi
84. IBUFDS IBUFGDS OBUFDS Figure 6 22 shows the differential output buffer primitive OBUFDS O l o utput to Device Pads Input from FPGA OB ug070_6_22_071904 Figure 6 22 Differential Output Buffer Primitive OBUFDS Virtex 4 User Guide www xilinx com 233 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX OBUFTDS Figure 6 23 shows the differential 3 state output buffer primitive OBUFTDS 3 state Input I o Output to i Device Pads Input from FPGA OB ug070 6 23 071904 Figure 6 23 Differential 3 state Output Buffer Primitive OBUFTDS IOBUFDS Figure 6 24 shows the differential input output buffer primitive IOBUFDS T 3 state Input 10 VO Input to from from FPGA 6 OB device pad O Output to FPGA ug070 6 24 071904 Figure 6 24 Differential Input Output Buffer Primitive IOBUFDS Virtex 4 SelectlO Attributes Constraints Access to some Virtex 4 I O resource features e g location constraints input delay output drive strength and slew rate is available through the attributes constraints associated with these features For more information a Constraints Guide is available on the Xilinx web site with syntax examples and VHDL Verilog reference code This guide is available inside the Software Manuals at http www support xilinx com support software manuals htm Location Constraints The location constra
85. INIT xx ceeeeeeeee RR RR s 124 Content Initialization INITP xx sseeeeeee RR RR n 125 Output Latches Initialization INIT INIT A amp INIT B ssssesse 125 Output Latches Synchronous Set Reset SRVAL SRVAL A amp SRVAL B 125 Optional Output Register On Off Switch DO A B _LREG 126 Clock Inversion at Output Register Switch INVERT CLK DO A B REG 126 Extended Mode Address Determinant RAM EXTENSION AB 126 Read Width READ WIDTH A B ssseeseeemRRR e 126 Write Width WRITE WIDTH A B seeseeen m eee eee eee eee 126 Write Mode WRITE MODE A B ssssseee RR 126 Block RAM Location Constraints 0 0 0 00000 cece cece s 126 Block RAM Initialization in VHDL or Verilog Code 127 Block RAM VHDL and Verilog Templates 005 127 RAMB16 VHDL Template 22 0000 m Reb hk perm vielen ees 127 RAMB16 Verilog Template 1 0 0 0 000 eee eee eee 131 Additional RAMB16 Primitive Design Considerations 136 Data Parity Buses DIP A B and DOP A B csse 136 Optional Output Registers 0 en 136 Independent Read and Write Port Width 0 00 00 136 RAMB16 Port Mapping Design Rules 0 00 ccc eens 136 Cascadeable Block RAM 1 ccc cee eee I I rues 137 Byte Write Enable csc cce eenctida ce biner tini Bed wad eee Aig eae a
86. IV DCI HSTL Il DCI 18 HSTL IV DCI 18 Usage HSTL II DCI provides on chip split thevenin termination powered from Veco creating an equivalent termination voltage of Vcco 2 HSTL_IV_ DCI provides single termination to Veco Vr HSTL II DCI and HSTL IV DCI are intended to be used in bidirectional links DIFF HSTL l DIFF HSTL Il 18 Differential HSTL class II pairs complimentary single ended HSTL II type drivers with a differential receiver Differential HSTL Class II is intended to be used in bidirectional links Virtex 4 User Guide www xilinx com 249 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Differential HSTL can also be used for differential clock and DQS signals in memory interface designs DIFF HSTL II DCI DIFF HSTL Il DCI 18 Differential HSTL class II pairs complimentary single ended HSTL II type drivers with a differential receiver including on chip differential termination Differential HSTL Class II is intended to be used in bidirectional links Differential HSTL can also be used for differential clock and DOS signals in memory interface designs HSTL Class Figure 6 39 shows a sample circuit illustrating a valid termination technique for HSTL Class I External Termination SSS Se c Vr 0 75V IOB HSTL Rp Zo 500 x X Vngr 0 75V IOB IOB Veco 1 5V 2Rygp 2Zg 1002 HSTL I DCI HSTL I DCI DJ 0O 20 fP40 4 Vper 0 75V 3
87. O Clock Buffer BUFIO e Regional Clock Buffer BUFR e Regional Clock Nets Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 37 38 Chapter 1 Clock Resources XILINX Clock Capable I O In a typical clock region there are two clock capable I O pin pairs there are exceptions in the center column Clock capable I O pairs are regular I O pairs where the LVDS output drivers have been removed to reduce the input capacitance All global clock inputs are clock capable I Os i e they do not have LVDS output drivers There are four dedicated clock capable I O sites in every bank When used as clock inputs clock capable pins can drive BUFIO and BUFR They can not directly connect to the global clock buffers When used as single ended clock pins then as described in Global Clock Buffers the P side of the pin pair must be used because a direct connection only exists on this pin I O Clock Buffer BUFIO The I O clock buffer BUFIO is a new clock buffer available in Virtex 4 devices The BUFIO drives a dedicated clock net within the I O column independent of the global clock resources Thus BUFIOs are ideally suited for source synchronous data capture forwarded receiver clock distribution BUFIOs can only be driven by clock capable I Os located in the same clock region BUFIOs can drive the two adjacent I O clock nets for a total of up to three clock regions as well as the regional clock buffers BUFR in
88. PCB PDS inductance Lpps usr The PCB PDS inductance is determined based on a set of board geometries board thickness via diameter breakout trace width and length and any other additional structures including sockets The Second Scaling Factor accounts for the maximum allowable power system disturbance It is determined by dividing the user s maximum allowable power system disturbance VpISTURBANCE USER by the nominal maximum power system disturbance VDpISTURBANCE USER is usually determined by taking the lesser of input undershoot voltage and input logic low threshold The Third Scaling Factor accounts for the capacitive loading of outputs driven by the FPGA It is based on the transient current impact of every additional picofarad of load capacitance above the assumed nominal For every additional 1 pF of load capacitance over the nominal approximately 9 mV of additional power system disturbance will occur The additional power system disturbance is compared to the nominal power system disturbance and a scale factor is derived from the relationship Cj oAp user is the user s average load capacitance p Example calculations show how each scale factor is computed as well as the SSO allowance The system parameters used in this example are Lpps_user 1 1 nH www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX Simultaneous Switching Output Limits VDISTURBANCE_USER 990 mV CLOAD_USER 22 pF First Scal
89. R No Yes RSDS 25 9 N R N R N R No Yes BLVDS 25 N R N R N R Yes Yes LVPECL 25 N R N R N R Yes Yes SSTL2 I 1 25 N R N R Yes Yes SSTL2 II 1 25 N R N R Yes Yes DIFF SSTL2 II N R N R N R Yes Yes LVCMOS25 2 5 N R N R N R Yes Yes LVDCI 25 N R Series N R Yes Yes HSLVDCI 25 Veco 2 Series N R Yes Yes LVDCI DV2 25 N R Series N R Yes Yes LVDS 25 DCI N R N R Split No Yes LVDSEXT 25 DCI N R N R Split No Yes SSTL2 I DCI 1 25 N R Split Yes Yes SSTL2 II DCI 1 25 Split Split Yes Yes DIFF SSTL2 II DCI N R Split Split Yes Yes www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Rules for Combining I O Standards in the Same Bank Table 6 38 VO Compatibility Continued Vcco VREF Termination Type Lower Capacitance IOB O Standard Output Input Input Output Input Output Input HSITL III 18 1 8 Note 2 1 1 N R N R Yes Yes HSTL IV 18 1 1 N R N R Yes Yes HSTL_I_18 0 9 N R N R Yes Yes HSTL_II_18 0 9 N R N R Yes Yes DIFF HSTL II 18 N R N R N R Yes Yes SSTL18_I 0 9 N R N R Yes Yes SSTL18_II 0 9 N R N R Yes Yes DIFF SSTL18 II N R N R N R Yes Yes LVCMOS18 1 8 N R N R N R Yes Yes LVDCI 18 N R Series N R Yes Yes HSLVDCI 18 Veco 2 Series N R Yes Yes LVDCI DV2 18 N R Series N R Yes Yes HSTL III 18 DCI 1 1 N R Single Yes Yes HSTL_IV_18_DCI 1 1 Single Single Yes Yes HSTL I 18 DCI 0 9 N R Split Yes Ye
90. SASS SASS SASS eS SRS RS SaaS Se SS e ee ieee Sn See iens defparam SRLC16E U_SRLC16E D AO Al www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Multiplexer Primitives and Verilog VHDL Examples Multiplexer Primitives and Verilog VHDL Examples This section provides generic VHDL and Verilog reference code implementing multiplexers These submodules are built from LUTs and the dedicated MUXF5 MUXF6 MUXEF7 and MUXF8 multiplexers To automatically generate large multiplexers using these dedicated elements use the CORE Generator Bit Multiplexer and Bus Multiplexer modules For applications such as comparators encoder decoders or case statement in VHDL or Verilog these resources offer an optimal solution Multiplexer Primitives and Submodules Virtex 4 User Guide Four primitives are available for access to the dedicated MUXFX in each slice In the example shown in Table 5 16 MUXF7 is available only in slice S2 Table 5 16 MUXFX Resources Primitive Slice Control Input Output MUXF5 S0 S1 2 S3 S I0 I1 O MUXF6 S0 S1 S I0 I1 O MUXF7 S2 S I0 I1 O MUXF8 S3 S I0 I1 O In addition to the primitives five submodules to implement multiplexers from 2 1 to 32 1 are provided in VHDL and Verilog code Synthesis tools can automatically infer these primitives MUXF5 MUXF6 MUXF7 and MUXF8 however the submodules described in this section use
91. SelectIO Logic Resources Chapter 9 Temperature Sensing Diode Additional Documentation The following documents are also available for download at http www xilinx com virtex4 Virtex 4 User Guide UGO070 v2 0 January 4 2007 DS112 Virtex 4 Family Overview The features and product selection of the Virtex 4 family are outlined in this overview DS302 Virtex 4 Data Sheet DC and Switching Characteristics This data sheet contains the DC and Switching Characteristic specifications for the Virtex 4 family UG073 XtremeDSP Design Considerations This guide describes the XtremeDSP slice and includes reference designs for using DSP48 math functions and various FIR filters UG071 Virtex 4 Configuration Guide This all encompassing configuration guide includes chapters on configuration interfaces serial and SelectMAP bitstream encryption boundary scan and JTAG configuration reconfiguration techniques and readback through the SelectMAP and JTAG interfaces www xilinx com 19 Preface About This Guide XILINX UG072 PCB Designers Guide This guide decribes PCB guidelines for the Virtex 4 family It covers SelectIO signaling RocketIO signaling power distribution systems PCB breakout and parts placement UG075 Virtex 4 Packaging Specification This specification includes the tables for device package combinations and maximum I Os pin definitions pinout tables pinout diagrams mechanical drawing
92. TRUE FALSE the configuration startup sequence waits in the specified cycle until the DCM locks DCM Design Guidelines 68 This section provides a detailed description on using the Virtex 4 DCM and design guidelines Clock Deskew The Virtex 4 DCM offers a fully digital dedicated on chip clock deskew The deskew feature provides zero propagation delay between the source clock and output clock low clock skew among output clock signals distributed throughout the device and advanced clock domain control The deskew feature also functions as a clock mirror of a board level clock serving multiple devices This is achieved by driving the CLKO output off chip to the board and to other devices on the board and then bringing the clock back in as a feedback clock See the Application Examples section Taking advantage of the deskew feature greatly simplifies and improves system level design involving high fanout high performance clocks Clock Deskew Operation The deskew feature utilizes the DLL circuit in the DCM In its simplest form the DLL consists of a single variable delay line containing individual small delay elements or buffers and control logic The incoming clock drives the delay line The output of every delay element represents a version of the incoming clock CLKIN delayed at a different point The clock distribution network routes the clock to all internal registers and to the clock feedback CLKFB pin The
93. Thus using dedicated routing is required to achieve predictable deskew All nine DCM output clocks are deskewed when the CLKFB pin is used Input Clock Requirements The clock input of the DCM can be driven either by an IBUFG IBUFGDS IBUF BUFGMUx or a BUFGCNTL Since there is no dedicated routing between an IBUF and a DCM clock input using an IBUF causes additional input delay that is not compensated by the DCM The DCM output clock signal is essentially a delayed version of the input clock signal It reflects any instability on the input clock in the output waveform The DCM input clock requirements are specified in the Virtex 4 Data Sheet Once locked the DCM can tolerate input clock period variations of up to the value specified by CLKIN PER JITT DLL HF at high frequencies or CLKIN PER JITT DLL LF at low frequencies Larger jitter period changes can cause the DCM to lose lock indicated by the LOCKED output deasserting The user must then reset the DCM The cycle to cycle input jitter must be kept to less than CLKIN CYC JITT DLL LF in the low frequencies and CLKIN CYC JITT DLL HF for the high frequencies Input Clock Changes Virtex 4 User Guide Changing the period of the input clock beyond the maximum input period jitter specification requires a manual reset of the DCM Failure to reset the DCM produces an unreliable LOCKED signal and output clock It is possible to temporarily stop the input clock and feedba
94. Tospck p before Clock Event 2 CLKDIV data on the D1 and D2 inputs become valid e Attime Toscko oc after Clock Event 2 CLK data appears at the OQ output Clock Event 3 e At Clock Event 3 the reset signal is asserted High an asynchronous reset e At time Tosco oo after Clock Event 3 the OQ output is asynchronous reset to zero The timing diagrams in Figure 8 15 and Figure 8 16 illustrate the OSERDES data I O ports and their relationship with CLK and CLKDIV cx ILL UU UU UU UU UU UU kL CLKDV d Lb 1 Ld D1 D1A D1B D1C ug070 8 14 033105 Figure 8 15 Example SDR 6 1 OSERDES Operation 380 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Output Parallel to Serial Logic Resources OSERDES Di a e e e De a e gt popppponppppmpnnng ug070_8_15_033105 Figure 8 16 Example DDR 6 1 OSERDES Operation In Figure 8 17 the timing of a 2 1 SDR 3 state control serialization is illustrated The timing parameter names and behavior do not change for different bus widths including when two OSERDES are cascaded together The same examples apply for DDR mode with the exception that OQ switches at every CLK edge rising and falling 1 2 3 CLKDIV Ll l oscck TCE T TCE SR _ lt Tospck_t q Toscko 1a Tosco ra F TQ ug070 8 16 080204 Figure 8 17
95. User Guide www xilinx com 203 UGO070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX Creating Larger RAM Structures Wider and or deeper memory structures can be created using multiple distributed RAM instances Table 5 12 shows the generic VHDL and Verilog distributed RAM examples provided to implement n bit wide memories Table 5 12 VHDL and Verilog Submodules Submodules Primitive Size Type XC4V_RAM16XN_S RAM16X1S 16 words x n bit single port XC4V_RAM32XN_S RAM32X1S 32 words x n bit single port XC4V_RAM64XN_S RAM64X1S 64 words x n bit single port XC4V_RAM16XN_D RAM16X1D 16 words x n bit dual port By using the read write port for the write address and the second read port for the read address a FIFO that can read and write simultaneously is easily generated Simultaneous access doubles the effective throughput of the memory VHDL and Verilog Templates VHDL and Verilog templates are available for all single port and dual port primitives The number in each template indicates the number of bits for example RAM 165 is the template for the 16 x 1 bit RAM S indicates single port and D indicates dual port In VHDL each template has a component declaration section and an architecture section Each part of the template should be inserted within the VHDL design file The port map of the architecture section should include the design signal names The single port templates
96. V e jus o Capable I O of Die Clock y o Tile Capable I O lt E VO Tile 4 a a oe DSP VOTile 4 EN HEEB pum UO Tie 4 TS Yd feces VOTile 4 o ia VOTile ERE E Eie I O Tile 4 a ss PBCLBs l O Tile 4 DSP Tile UJ JJ gt UJ wv gt UJ C TI D UJ a To Adjacent Reg ion ug070 1 22 080204 Figure 1 22 BUFR Driving Various Logic Resources Regional Clock Nets In addition to global clock trees and nets Virtex 4 devices contain regional clock nets These clock trees are also designed for low skew and low power operation Unused 42 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX VHDL and Verilog Templates branches are disconnected The clock trees also manage the load fanout when all the logic resources are used Regional clock nets do not propagate throughout the whole Virtex 4 device Instead they are limited to only one clock region One clock region contains two independent regional clock nets To access regional clock nets BUFRs must be instantiated A BUFR can drive regional clocks in up to two adjacent clock regions Figure 1 23 BUFRs in the top or bottom region can only access one adjacent region below or above respectively BUFRs vw ug070 1 23 071404 Figure 1 23 BUFR Driving Multiple Regions VHDL and Verilog Templates The VHDL and Verilog code follows for all clocking resource primitives BUFGCTRL VHD
97. XILINX VHDL and Verilog Templates attribute INIT OUT of U BUFGMUX VIRTEX4 label is 0 attribute PRESELECT IO of U BUFGMUX VIRTEX4 label is FALSE attribute PRESELECT I1 of U BUFGMUX VIRTEX4 label is FALSE attribute LOC of U BUFGMUX VIRTEX4 label is BUFGCTRL_X Y where is valid integer locations of BUFGCTRL Verilog Template Example BUFGMUX_VIRTEX4 module declaration module BUFGMUX VIRTEXA O IO I1 S output O input I0 input I1 input S parameter INIT OUT parameter PRESELECT_I parameter PRESELECT I endmodule 1 b0 0 TRUE 1 FALSE Example BUFGCTRL instantiation BUFGMUX_VIRTEX4 U_BUFGMUX_VIRTEX4 O user_o IO user i0 Il user i1 S user s Declaring constraints synthesis attribute IN synthesis attribute PR synthesis attribute PR synthesis attribute LO where is valid integ in Verilog IT OUT of U BUFGMUX VIRTEXA is 0 ESELECT IO of U BUFGMUX VIRTEXA4 is FALSE ESELECT I1 of U BUFGMUX VIRTEXA4 is FALSE C of U BUFGMUX VIRTEXA4 is BUFGCTRL_X Y er locations of BUFGCTRL I Declaring Constraints in UCF File INST U_BUFGMUX_VIRTEX4 INST U_BUFGMUX_VIRTEX4 INST U_BUFGMUX_VIRTEX4 INST U_BUFGMUX_VIRTEX4 where is valid integer INIT OUT 0 PRESELECT IO FALSE PRESELECT I1 FALSE LOC BUFGCTRL_X Y locations of
98. Z 509 SED x l Vege 1 1V DCI IOB IOB Veco 1 8V Veco 1 8V Rypp Zg 500 Rypp Zg 502 HSTL IV DCI 18 D Q 4 _X Vper 1 1V 4 Virtex 4 User Guide Vper 11V D gt ug070_6_56_071904 Figure 6 58 HSTL Class IV 1 8V with Bidirectional Termination Table 6 23 lists the HSTL Class IV 1 8V DC voltage specifications Table 6 23 HSTL Class IV 1 8V DC Voltage Specifications UGO070 v2 0 January 4 2007 Min Typ Max Veco 1 7 1 8 1 9 Veer O 1 1 Ver Veco Vin Vert 0 1 Vir Veer 0 1 Vou Veco 0 4 Vor 0 4 Tox at Voy mA 8 www xilinx com 267 268 Chapter 6 SelectlO Resources XILINX Table 6 23 HSTL Class IV 1 8V DC Voltage Specifications Continued Min Typ Max Io at Vor mA 48 _ Notes 1 Vor and Voy for lower drive currents are sample tested 2 Per EIA JESD8 6 The value of Vggp is to be selected by the user to provide optimum noise margin in the use conditions specified by the user Table 6 24 details the allowed attributes that can be applied to the HSTL I O standards Table 6 24 Allowed Attributes of the HSTL I O Standards Primitives Attributes IBUF IBUFG OBUF OBUFT IOBUF IOSTANDARD All possible HSTL standards CAPACITANCE LOW NORMAL DONT_CARE Table 6 25 details the allowed attributes t
99. a clock region independent from the global clock tree Each BUFR can drive the two regional clock nets in the region it is located and the two clock nets in the adjacent clock regions up to three clock regions Virtex 4 User Guide www xilinx com 39 UGO070 v2 0 January 4 2007 40 Chapter 1 Clock Resources XILINX Unlike BUFIOs BUFRs can drive the I O logic and logic resources CLB block RAM etc in the existing and adjacent clock regions BUFRs can be driven by either the output from BUFIOs or local interconnect In addition BUFR is capable of generating divided clock outputs with respect to the clock input The divide values are an integer between one and eight BUFRs are ideal for source synchronous applications requiring clock domain crossing or serial to parallel conversion There are two BUFRs in a typical clock region two regional clock networks The center column does not have BUFRs BUFR Primitive BUFR is a clock in clock out buffer with the capability to divide the input clock frequency CE CLR ug070 1 20 071204 Figure 1 20 BUFR Primitive Table 1 8 BUFR Port List and Definitions Port Name Type Width Definition O Output 1 Clock output port CE Input 1 Clock enable port Cannot be used in BYPASS mode CLR Input 1 Asynchronous clear for the divide logic and sets the output Low Cannot be used in BYPASS mode I Input 1 Clock input port Additional Notes on the CE Pin
100. a diode connected transistor which creates a remote temperature sensor TDP and TDN are dedicated pins attached to the substrate die and cannot be accessed through the software tools TDP and TDN are always available and no special design is necessary The TDP and TDN pins are unconnected when this feature is not used The temperature sensing diode is one part of a two part system A temperature sensor interface device is also required Most temperature sensor interface devices provide corresponding pins to connect directly to the Virtex 4 TDP and TDN pins Once the upper and lower temperature limits are set an output signal is created when these bounds are exceeded This output can be an interrupt to turn off the clock turn on a fan or perform another operation to reduce heat The accuracy of the temperature measurement achieved by this two part system does not depend on the temperature sensing diode TDN TDP pins The voltage versus temperature curve is determined by the physical nature of the diode Numerical readout accuracy relies on the temperature sensor interface device to translate the IV versus temperature curves into an actual temperature reading The accuracy specifications are listed in the specific temperature sensor data sheets Temperature Sensor Examples Maxim Remote Local Temperature Sensors General information on these devices is available from Maxim at http www maxim ic com Links to the specific data shee
101. are clock inputs to the PMCD These clock are not divided by the CLKC PMCD however they are delayed by the PMCD to maintain the phase alignment and phase CLKD relationship at the input clocks RST Input RST is the reset input to the PMCD Asserting the RST signal asynchronously forces all outputs Low Deasserting RST synchronously allows all outputs to toggle REL Input REL is the release input to the PMCD Asserting the REL signal releases the divided output synchronous to CLKA CLKA1 Output The CLKA1 output has the same frequency as the CLKA input It is a delayed version of CLKA CLKA1D2 Output The CLKA1D2 output has the frequency of CLKA divided by two CLKA1D2 is rising edge aligned to CLKA1 CLKA1D4 Output The CLKA1D4 output has the frequency of CLKA divided by four CLKA1D4 is rising edge aligned to CLKA1 CLKA1D8 Output The CLKA1D8 output has the frequency of CLKA divided by eight CLKA1D8 is rising edge aligned to CLKA1 CLKB1 Output The CLKB1 output has the same frequency as the CLKB input a delayed version of CLKB CLKC1 The skew between CLKB1 and CLKA1 is the same as the skew between CLKB and CLKA CLKD1 inputs Similarly CLKC1 is a delayed version of CLKC and CLKD1 is a delayed version of CLKD Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 97 Chapter 3 Phase Matched Clock Dividers PMCDs XILINX Table 3 3 lists the PMCD attributes Table 3 3 PMCD Attributes
102. are optimized when they are based on one level of LUTs and dedicated MUXFX resources of the Virtex 4 CLBs VHDL and Verilog Instantiation The primitives MUXF5 MUXF6 and so forth can be instantiated in VHDL or Verilog code to design wide input functions The submodules MUX 2 1 SUBM MUX 4 1 SUBM and so forth can be instantiated in VHDL or Verilog code to implement multiplexers However the corresponding submodule must be added to the design directory as hierarchical submodule For example if a module is using the MUX 16 1 SUBM the MUX 16 1 SUBM vhd file VHDL code or MUX 16 1 SUBM v file Verilog code must be compiled with the design source code The submodule code can also be copied into the designer source code VHDL and Verilog Submodules VHDL and Verilog submodules are available to implement multiplexers up to 32 1 They illustrate how to design with the MUXFX resources When synthesis infers the corresponding MUXFX resource s the VHDL or Verilog code is behavioral code case statement Otherwise the equivalent case statement is provided in comments and the correct MUXFX are instantiated However most synthesis tools support the inference of all of the MUXFX The examples are guidelines for designing other wide input functions The available submodules are www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX Multiplexer Primitives and Verilog VHDL Examples MUX 2 1 SUBM beha
103. asserted at the WREN input of the FIFO e At clock event 4 DO output pins of the FIFO remains at 00 since no read has been performed In the case of standard mode data 00 will never appear at the DO output pins of the FIFO e At time Trcko Agypry after clock event 4 RDCLK almost empty is deasserted at the AEMPTY pin In the case of standard mode AEMPTY deasserts in the same way as in FWFT mode If the rising WRCLK edge is close to the rising RDCLK edge AEMPTY could be deasserted one RDCLK period later Case 2 Writing to a Full or Almost Full FIFO Prior to the operations performed in Figure 4 18 the FIFO is almost completely full In this example the timing diagram reflects of both standard and FWFT modes 1 2 3 4 WRCLK l l l l l l l TFCCK WREN TEcCK WREN m WREN I TrFDCK DI FDCK_DI lt Trock DI Lr DI 00 X 01 02 06 RDCLK l l l l l l l RDEN TFcko_ FuLL gt K FULL AFULL TEcko wERR e TFcko wERR k WRERR Treko FULL ug070 4 18 071204 Figure 4 18 Writing to a Full Almost Full FIFO Clock Event 1 Write Operation and Assertion of Almost FULL Signal During a write operation to an almost full FIFO the Almost FULL signal is asserted e At time Tppck pr before clock event 1 WRCLK data 00 becomes valid at the DI inputs of the FIFO e At time Trcck wren before
104. asynchronous reset Note the diagram is not shown to scale For the DCM to operate properly the reset signal must be asserted for at least three CLKIN periods e Clock Event 2 Clock event 2 occurs a few cycles after reset is asserted and deasserted At clock event 2 the lock process begins At time LOCK DLL after clock event 2 if no fixed phase shift was selected then all clock outputs are stable and in phase LOCKED is also asserted to signal completion Virtex 4 User Guide www xilinx com 89 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs XILINX Fixed Phase Shifting In Figure 2 20 the DCM outputs the correct frequency However the clock outputs are not in phase with the desired clock phase The clock outputs are phase shifted to appear sometime later than the input clock and the LOCKED signal is asserted 1 ceko PL ceo 1 Ll F cds ll CLK2X Lock Ti LOCKED ug070 2 20 083105 Figure 2 20 Phase Shift Example Fixed e Clock Event 1 Clock event 1 appears after the desired phase shifts are applied to the DCM In this example the shifts are positive shifts CLKO and CLK2X are no longer aligned to CLKIN However CLKO and CLK2X are aligned to each other while CLK90 and CLK180 remain as 90 and 180 versions of CLKO The LOCK signal is also asserted once the clock outputs are ready Variable Phase Shifting In Figure 2 21 the CLKO o
105. at the EMPTY output pin of the FIFO In the event that the FIFO is empty and a write followed by a read is performed the EMPTY signal remains asserted Clock Event 3 Read Operation and Assertion of Read Error Signal The read error signal pin is asserted when there is no data to be read because the FIFO is in an empty state e Read enable remains asserted at the RDEN input of the FIFO Virtex 4 User Guide www xilinx com 159 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX At time Trcko rpERR after clock event 3 RDCLK read error is asserted at the RDERR output pin of the FIFO Data 04 remains unchanged at the DO outputs of the FIFO Clock Event 4 Read Operation and Deassertion of Read Error Signal The read error signal pin is deasserted when a user stops trying to read from an empty FIFO At time Tgcck RDEN before clock event 4 RDCLK read enable is deasserted at the RDEN input of the FIFO At time Trcko RDERR after clock event 4 RDCLK read error is deasserted at the RDERR output pin of the FIFO The read error signal is asserted deasserted at every read clock positive edge As long as both the read enable and empty signals are true read error will remain asserted Case 5 Resetting All Flags RST l WRCLK l L L L LO Eas RDCLK L L L L L _ l TEco EMPTY EMPTY gt __ K Trco AEMPTY AEMPTY gt _ I Trco FuLL FULL gt l __ m Trco AFULL AFULL DO ug0
106. be used also for RAM16X1S 1 Device Virtex 4 Family I 4 eene ae SS Sa Sn a cemere eec ea See Distributed RAM Instantiation RAM16X1S U RAM16X1S D insert input signal WE insert Write Enable signal WCLK insert Write Clock signal A0 insert Address 0 signal Al insert Address 1 signal Virtex 4 User Guide www xilinx com 205 UGO070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX A2 insert Address 2 signal A3 insert Address 3 signal O insert output signal Shift Registers SRLs Primitives and Verilog VHDL Example This section provides generic VHDL and Verilog submodules and reference code examples for implementing from 16 bit up to 64 bit shift registers These submodules are built from 16 bit shift register primitives and from dedicated MUXF5 MUXF6 MUXF7 and MUXF8 multiplexers SRL Primitives and Submodules Eight primitives are available that offer optional clock enable CE inverted clock CLK and cascadable output O15 combinations Table 5 13 lists all of the available primitives for synthesis and simulation Table 5 13 Shift Register Primitives Primitive Length Control Address Inputs Output SRL16 16 bits CLK A3 A2 A1 A0 Q SRL16E 16 bits CLK CE A3 A2 A1 A0 Q SRL16 1 16 bits CLK A3 A2 A1 A0 Q SRL16E 1 16 bits CLK CE A3 A2 A1 A0 Q SRLC16 16 bits CLK A3 A2 A1 A0 Q O15 SRLC16E 16 bits CLK CE A3 A2
107. begin sampling data starting on the first clock edge after the CLKDIV rising edge www xilinx com Virtex 4 User Guide 366 UGO070 v2 0 January 4 2007 XILINX Input Serial to Parallel Logic Resources ISERDES CLK Event 1 e At time Tispck p before CLK event 1 the input data becomes valid at the ISERDES D input pin For 8 1 SERDES the eighth data on the bus is sampled at CLK event 2 This process is repeated for subsequent incoming data CLKDIV Event 2 e Attime Trscko Q after CLKDIV event 2 two CLKDIV cycles after the first data is sampled into ISERDES the data appears on the D1 D8 bus Reset Event 1 At Reset event 1 the O1 to Q8 outputs asynchronously become zero ISERDES VHDL and Verilog Instantiation Template Virtex 4 User Guide VHDL and Verilog instantiation templates are available in the Libraries Guide for all primitives and submodules In VHDL each template has a component declaration section and an architecture section Each part of the template should be inserted within the VHDL design file The port map of the architecture section should include the design signal names ISERDES VHDL Instantiation Module ISERDES Description VHDL instantiation template Device Virtex 4 Family Component Declaration for ISERDES should be placed after architecture statement but before begin keyword component ISERDES generic BI
108. bit D1 DO A3 A2 A1 AO O1 O0 RAM32X2S 32 x 2 bit D1 DO A4 A3 A2 A1 A0 O1 O0 RAMI16X4S 16 x 4 bit D3 D2 D1 DO A3 A2 A1 A0 03 O2 O1 O0 UGO070 v2 0 January 4 2007 www xilinx com 201 Chapter 5 Configurable Logic Blocks CLBs XILINX VHDL and Verilog Instantiations VHDL and Verilog instantiation templates are available as examples see VHDL and Verilog Templates In VHDL each template has a component declaration section and an architecture section Each part of the template should be inserted within the VHDL design file The port map of the architecture section should include the design signal names The RAM 7 templates with 16 32 64 are single port modules and instantiate the corresponding RAM X1S primitive RAM 16D templates are dual port modules and instantiate the corresponding RAMI6XID primitive Port Signals Each distributed RAM port operates independently of the other while reading the same set of memory cells Clock WCLK The clock is used for the synchronous write The data and the address input pins have setup time referenced to the WCLK pin Enable WE The enable pin affects the write functionality of the port An inactive Write Enable prevents any writing to memory cells An active Write Enable causes the clock edge to write the data input signal to the memory location pointed to by the address inputs Address AO A1 A2 A3 A4 A5 The address inputs sele
109. bit ROM Four configurations are available ROM16x1 ROM32x1 ROM64x1 and ROM128x1 The ROM elements are cascadable to implement wider and or deeper ROM ROM contents are loaded at device configuration Table 5 4 shows the number of LUTs occupied by each configuration Table 5 4 ROM Configuration ROM Number of LUTs 16x1 1 32x1 2 64x1 4 128x 1 8 256 x 1 16 2 CLBs 176 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX CLB Overview Shift Registers Available in SLICEM only Virtex 4 User Guide A SLICEM function generator can also be configured as a 16 bit shift register without using the flip flops available in a slice Used in this way each LUT can delay serial data anywhere from one to 16 clock cycles The SHIFTIN and SHIFTOUT lines cascade LUTS to form larger shift registers The four left hand LUTs in SLICEM of a single CLB are thus cascaded to produce delays up to 64 clock cycles It is also possible to combine shift registers across more than one CLB The resulting programmable delays can be used to balance the timing of data pipelines Applications requiring delay or latency compensation use these shift registers to develop efficient designs Shift registers are also useful in synchronous FIFO and content addressable memory CAM designs To quickly generate a Virtex 4 shift register without using flip flops i e using the SRL16 element s use the CORE Generator
110. bottom left corner of the die Slices X0YO and XOY1 constitute the SLICEM column pair and slices X1Y0 and X1Y1 constitute the SLICEL column pair For each CLB SLICEM indicates the pair of slices labeled with an even number SLICE 0 or SLICE 2 and SLICEL designates the pair of slices with an odd number SLICE 1 or SLICE 3 SLICEM SLICEL Logic or Distributed RAM or Shift Register Logic Only SHIFTIN COUT A SLICE 1 X1Y0 Interconnect to Neighbors SLICE 2 X0Y1 SLICE 0 XOYO Y SHIFTOUT CIN l ug070_5_01_071504 Figure 5 1 Arrangement of Slices within the CLB www xilinx com 167 UGO070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX Slice Description The elements common to both slice pairs SLICEM and SLICEL are two logic function generators or look up tables two storage elements wide function multiplexers carry logic and arithmetic gates These elements are used by both SLICEM and SLICEL to provide logic arithmetic and ROM functions SLICEM supports two additional functions storing data using distributed RAM and shifting data with 16 bit registers SLICEM shown in Figure 5 2 page 170 represents a superset of elements and connections found in all slices SLICEL is shown in Figure 5 3 page 171 CLB Slice Configurations Table 5 1 summarizes the logic resources in one CLB All of the CLBs are identical and each CLB or slice
111. can be implemented in one of the configurations listed Table 5 2 shows the available resources in all CLBs Table 5 1 Logic Resources in One CLB Slices LUTs Flip Flops MULT ANDs oben pin c PEUT 4 8 8 8 2 64 bits 64 bits Notes 1 SLICEM only Table 5 2 Virtex 4 Logic Resources Available in All CLBs Device Mehta Mee ME DisvbuteaRAmor punea Shift Registers Kb XC4VLX15 64 x 24 6 144 12 288 96 12 288 XC4VLX25 96 x 28 10 752 21 504 168 21 504 XC4VLX40 128 x 36 18 432 36 864 288 36 864 XC4VLX60 128 x 52 26 624 53 248 416 53 248 XCAVLX80 160 x 56 35 840 71 680 560 71 680 XC4VLX100 192 x 64 49 152 98 304 768 98 304 XCAVLX160 192 x 88 67 584 135 168 1056 135 168 XC4VLX200 192 x 116 89 088 178 176 1392 178 176 XCAVSX25 64 x 40 10 240 20 480 160 20 480 XCAVSX35 96 x 40 15 360 30 720 240 30 720 XC4VSX55 128 x 48 24 576 49 152 384 49 152 XCAVFX12 64 x 24 5 472 10 944 86 10 944 XC4VFX20 64 x 36 8 544 17 088 134 17 088 XC4VFX40 96 x 52 18 624 37 248 291 37 248 XCA4AVFX60 128 x 52 25 280 50 560 395 50 560 168 Virtex 4 User Guide UG070 v2 0 January 4 2007 www xilinx com XILINX Table 5 2 Virtex 4 Logic Resources Available in All CLBs Continued CLB Overview Maximum Device nathan de oiue Distributed RAMor A Shift Registers Kb pen XCAVFEX100 160 x 68 42 176 84 352 659 84 352 X
112. click on View HDL Source or View HDL Instantiation Template The HDL source or instantiation template will be generated These are read only files for inclusion or instantiation in a design To return to the Clocking Wizard double click on the XAW file The Clocking Wizard appears with the previously selected settings These settings can be changed and the XAW file updated to accommodate design changes DCM Timing Models The following timing diagrams describe the behavior of the DCM clock outputs under four different conditions 1 Reset Lock 88 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX DCM Timing Models 2 Fixed Phase Shifting 3 Variable Phase Shifting 4 Status Flags Reset Lock In Figure 2 19 the DCM is already locked After the reset signal is applied all output clocks are stabilized to the desired values and the LOCKED signal is asserted 1 2 E goote CLKFX180 eee r ee ere ee I jk LOCK LOCKED 2l To DLL ug070 2 19 083105 Figure 2 19 RESET LOCK Example e Prior to Clock Event 1 Prior to clock event 1 the DCM is locked All clock outputs are in phase with the correct frequency and behavior e Clock Event 1 Some time after clock event 1 the reset signal is asserted at the RST pin While reset is asserted all clock outputs become a logic zero The reset signal is an
113. clock event 1 WRCLK write enable becomes valid at the WREN input of the FIFO e At time Trcko Arurr one clock cycle after clock event 1 WRCLK Almost Full is asserted at the AFULL output pin of the FIFO 156 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX FIFO Timing Models and Parameters Clock Event 2 Write Operation and Assertion of FULL Signal The FULL signal pin is asserted when the FIFO is full e At time Tppcy pr before clock event 2 WRCLK data 04 becomes valid at the DI inputs of the FIFO e Write enable remains asserted at the WREN input of the FIFO e At time Trcko FULL one clock cycle after clock event 2 WRCLK Full is asserted at the FULL output pin of the FIFO If the FIFO is full and a read followed by a write is performed the FULL signal remains asserted Clock Event 3 Write Operation and Assertion of Write Error Signal The write error signal pin is asserted when data going into the FIFO is not written because the FIFO is in a Full state e At time Tppcy pr before clock event 3 WRCLK data 05 becomes valid at the DI inputs of the FIFO e Write enable remains asserted at the WREN input of the FIFO e At time Trcko wrerr after clock event 3 WRCLK a write error is asserted at the WRERR output pin of the FIFO Data 05 is not written into the FIFO Clock Event 4 Write Operation and Deassertion of Write Error Signal The write error signal pin is deasserted when a
114. conditions specified by the user HSTL Class II 1 8V Figure 6 50 shows a sample circuit illustrating a valid termination technique for HSTL Class II 1 8V with unidirectional termination External Termination En E IOB Veco 1 8V IOB 2Rypp 2Zo 1002 i 2Rygp 2Zg 1000 HSTL Il DCI 18 5 2Rygw 2Zo 1000 E HSTL Il DCI 18 Q D Vper 0 9V E 2Rypy 2Zo 1002 ul L ug070 6 48 071904 Figure 6 50 HSTL Class II 1 8V with Unidirectional Termination Virtex 4 User Guide 260 www xilinx com UGO070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Figure 6 51 shows a sample circuit illustrating a valid termination technique for HSTL Class II 1 8V with bidirectional termination External Termination Vy 0 9V Vr 0 9V OB IOB HSTL Il 18 HSTL Il 18 Rp Z 502 Rp Zg 50n gt x 70 3 Veer 0 9V L 0 9V DCI IOB IOB Veco 1 8V Veco 1 8V 2Rypp 2Zg 1000 2Rypp 2Zg 1000 HSTLEII DOI 1S HSTL_II_DCI_18 gt t IH Vper 0 9V 2Rygw 2Zg 1002 i 4 Virtex 4 User Guide Figure 6 51 Vper 0 9V E 2Rypy 2Zo 1000 a d HSTL Class II 1 8V with Bidirectional Termination Table 6 20 lists the HSTL Class II 1 8V DC voltage specifications Table 6 20 HSTL Class Il 1 8V DC
115. control logic contains a phase detector and a delay line selector The phase detector compares the incoming clock signal CLKIN against a feedback input CLKFB and steers the delay line selector essentially adding delay to the DCM output until the CLKIN and CLKFB coincide putting the two clocks 360 out of phase thus in phase When the edges from the input clock line up with the edges from the feedback clock the DCM achieves a lock The two clocks have no discernible difference Thus the DCM output clock compensates for the delay in the clock distribution network effectively removing the delay between the source clock and its loads The size of www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX DCM Design Guidelines each intrinsic delay element is a DCM_TAP see the AC Characteristics table in the Virtex 4 Data Sheet Figure 2 3 illustrates a simplified DLL circuit Clock Distribution Network Variable CLKOUT Delay Line ug070 2 03 071204 Figure 2 83 Simplified DLL Circuit To provide the correct clock deskew the DCM depends on the dedicated routing and resources used at the clock source and feedback input An additional delay element see Deskew Adjust is available to compensate for the clock source or feedback path The Xilinx ISE tools analyze the routing around the DCM to determine if a delay must be inserted to compensate for the clock source or feedback path
116. design relies on free running write and read clocks of identical or different frequencies up to the specified maximum frequency limit The design avoids any ambiguity glitch or metastable problems even when the two frequencies are completely unrelated The write operation is synchronous writing the data word available at DI into the FIFO whenever WREN is active a set up time before the rising WRCLK edge The read operation is also synchronous presenting the next data word at DO whenever the RDEN is active one set up time before the rising RDCLK edge Data flow control is automatic the user need not be concerned about the block RAM addressing sequence although WRCOUNT and RDCOUNT are also brought out if needed for unusual applications The user must however observe the FULL and EMPTY flags and stop writing when FULL is High and stop reading when EMPTY is High If these rules are violated an active WREN while FULL is High will activate the WRERR flag and an active RDEN while 144 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Built in FIFO Support EMPTY is High will activate the RDERR flag In either violation the FIFO content will however be preserved and the address counters will stay valid Programmable ALMOSTFULL and ALMOSTEMPTY flags are brought out to give the user an early warning when the FIFO is approaching its limits Both these flag values can be set by configuration to al
117. differential output pair If the output is not differential the output buffer associated with the slave OSERDES is not available for use Figure 8 4 illustrates a block diagram of a 10 1 DDR parallel to serial converter using the master and slave OSERDES modules Ports Q3 Q6 are used for the last four bits of the parallel interface on the slave OSERDES LSB to MSB www xilinx com 377 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources XILINX SERDES_MODE MASTER Data Out OSERDES Data Inputs 0 5 Master 6 SHIFTIN1 SHIFTIN2 OSERDES Data Inputs 6 9 Slave SERDES MODE SLAVE ug070 8 20 073004 Figure 8 13 Block Diagram of OSERDES Width Expansion Table 8 8 lists the data width availability for SDR and DDR mode Table 8 8 OSERDES SDR DDR Data Width Availability SDR Data Widths 2 3 4 5 6 7 8 DDR Data Widths 4 6 8 10 Guidelines for Expanding the Parallel to Serial Converter Bit Width 1 Both the OSERDES modules must be adjacent master and slave pairs 2 Setthe SERDES MODE attribute for the master OSERDES to MASTER and the slave OSERDES to SLAVE see SERDES MODE Attribute 3 The user must connect the SHIFTIN ports of the MASTER to the SHIFTOUT ports of the SLAVE The SLAVE only uses the ports D3 to D6 as an input Master and Slave have the same DATA WIDTH attribute value OSERDES Latencies The input to output latencies of OSERDES block
118. due to the presence of clamp diodes to Veco 3 N R no requirement 4 RSDS 25 has the same DC specifications as LVDS 25 All information pertaining to LVDS 25 is applicable to RSDS 25 5 I O standard is selected using the IOSTANDARD attribute 3 3V I O Design Guidelines To achieve maximum performance in Virtex 4 devices several 3 3V I O design guidelines and techniques are highlighted in this section This includes managing overshoot undershoot with termination techniques regulating Vcco at 3 0V with a voltage regulator using external bus switches reviewing configuration methods and other design considerations I O Standard Design Rules 290 Overshoot Undershoot Undershoot and overshoot voltages on I Os operating at 3 3V should not exceed the absolute maximum ratings of 0 3V to 4 05V respectively when Vcco is 3 75V These www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Rules for Combining I O Standards in the Same Bank absolute maximum limits are stated in the absolute maximum ratings table in Table 6 38 of the Virtex 4 Data Sheet However the maximum undershoot value is directly affected by the value of Vcco Table 6 38 describes the worst case undershoot and overshoot at different Vcco levels The voltage across the gate oxide at any time must not exceed 4 05V Consider the case in which the I O is either an input or a 3 stated buffer as shown in Figure 6 78 The gate of the
119. entries in the FIFO queue the read pointer will be frozen The Empty flag is deasserted at three in standard mode or four in FWFT mode read clocks after new data is written into the FIFO 148 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX FIFO Operations Almost Empty Flag The Almost Empty flag is set when the FIFO contains the number of entries specified by the ALMOST EMPTY OFFSET value or fewer The Almost Empty flag warns the user to stop reading It will deassert when the number of entries in the FIFO is greater than the ALMOST EMPTY OFFSET value and is synchronous to RDCLK Read Error Flag Once the Empty flag has been asserted any further read attempts will not increment the read address pointer but will trigger the Read Error flag The Read Error flag is deasserted when Read Enable or Empty is deasserted Low The Read Error flag is synchronous to RDCLK Full Flag The Full flag is synchronous with WRCLK and is asserted one WRCLK after there are no more available entries in the FIFO queue Because of this latency it is recommended to use the ALMOST FULL signal to stop further writing When the FIFO is full the write pointer will be frozen The Full flag is deasserted three write clock cycles after any read operation Write Error Flag Once the Full flag has been asserted any further write attempts will not increment the write address pointer but will trigger the Write Error flag The Wri
120. even more input variables Storage Elements The storage elements in a Virtex 4 slice can be configured as either edge triggered D type flip flops or level sensitive latches The D input can be driven directly by a LUT output via the DX or DY multiplexer or by the slice inputs bypassing the function generators via the BX or BY input The control signals clock CLK clock enable CE and set reset SR are common to both storage elements in one slice All of the control signals have independent polarity Any inverter placed on a control input is automatically absorbed The clock enable signal CE is active High by default If left unconnected the clock enable defaults to the active state In addition to clock CLK and clock enable CE signals each slice has set and reset signals SR and BY slice inputs SR forces the storage element into the state specified by the attribute SRHIGH or SRLOW SRHIGH forces a logic High when SR is asserted SRLOW forces a logic Low When SR is used an optional second input BY forces the storage element into the opposite state via the REV pin The reset condition is predominant over the set condition See Figure 5 4 The truth tables for SR are described in ILOGIC Resources in Chapter 7 The initial state after configuration or global initial state is defined by a separate INITO and INIT1 attribute By default setting the SRLOW attribute sets INITO and setting the SRHIGH attribute sets INIT1 For e
121. flag can be used to stop reading However this would make it impossible to read the very last entries remaining in the FIFO The user can ignore the Almost Empty signal and continue to read until EMPTY is asserted 150 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX FIFO VHDL and Verilog Templates The Almost Full and Almost Empty offsets can also be used in unstoppable block transfer applications to signal that a new block of data can be written or read When setting the offset ranges in the design tools use hexadecimal notation FIFO VHDL and Verilog Templates VHDL and Verilog templates are available in the Libraries Guide FIFO VHDL Template FIFO16 To incorporate this function into the design the VHDL following instance declaration needs to be placed in instance the architecture body of the design code The instance declaration name FIFO16 inst and or the port declarations code after the gt assignment can be changed to properly connect this function to the design All inputs and outputs must be connected Library In addition to adding the instance declaration a use declaration statement for the UNISIM v components library needs for to be added before the entity declaration This Xilinx library contains the component declarations for all primitives Xilinx primitives and points to the models that will be used for simulat
122. following devices do not support DCI in Banks 1 and 2 XC4VLX15 XC4VLX25 XC4VSX25 XC4VSX35 XC4VFX12 XC4VFX20 XC4VFX40 and XCA4VEX60 The behavior of a DCI 3 state outputs is as follows If a LVDCI or LVDCI DV2 driver is in 3 state the driver is 3 stated If a driver with single or split termination is in 3 state the driver is 3 stated but the termination resistor remains The following section lists actions that must be taken for each DCI I O standard DCI Usage Examples 228 Figure 6 14 provides examples illustrating the use of the HSTL I DCI HSTL II DCI HSTL III DCI and HSTL IV DCII O standards Figure 6 15 provides examples illustrating the use of the SSTL2 I DCI and SSTL2 II DCI I O standards Figure 6 16 provides examples illustrating the use of the LVDS 25 DCI and LVDSEXT 25 DCII O standards www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX SelectlO Resources General Guidelines HSTL I Conventional HSTL Il HSTL Ill HSTL IV DCI Transmit Conventional Vccol Vcco 2 Receive Virtex 4 DCI Conventional 2R RE a patra 2R wa Virtex 4 POI Voco Veco Holy Virtex 4 Virtex 4 DCI DCI p Vcco Vcco Slit Virtex 4 DCI VRN VRP R Zo VRN VRP R Zo VRN VRP R Zo Transmit DCI Receive Virtex 4 Der 2R DCI Transmit gt DCI Receive oH Virtex 4
123. in conjunction with IDELAY primitive when used in Fixed Delay Mode Module IDELAY Description Verilog instantiation template Fixed Delay Mode i IDE 8 Device Virtex 4 Family Instantiation Section LAY U1 O data output I data input C 1 b0 CE 1 b0 INC 1 b0 RST 1 b0 et IOBDELAY TYPE attribute to FIXED for Fixed Delay Mode synthesis attribute IOBDELAY TYPE of Ul is FIXED S s et IOBDELAY VALUE attribute to 31 for center of delay element ynthesis attribute IOBDELAY VALUE of U1 is 31 Variable Delay Mode The following code shows how to instantiate the IDELAY module in variable delay mode IDELAYCTRL must also be instantiated when operating in this mode see IDELAYCTRL Overview page 329 VHDL Code for Variable Delay Mode The IDELAYCTRL primitive must be instantiated in conjunction with the IDE LAY primitive when used in Variable Delay Mode Module IDELAY Description VHDL instantiation template Variable Delay Mode Device Virtex 4 Family Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 327 Chapter 7 SelectlO Logic Resources XILINX Components Declarations Component Declaration for IDELAY should be placed after architecture statement but before begin keyword component IDELAY generic IOBDELAY TYPE string DEFAULT
124. in the following equation Phase Shift ns PHASE SHIFT x DCM_TAP In DIRECT modes the full range of the PHASE SHIFT attribute is 0 to 1023 The FINE SHIFT RANGE component represents the total delay achievable by the phase shift delay line Total delay is a function of the number of delay taps used in the circuit The absolute range is specified in the DCM Timing Parameters section of the Virtex 4 Data Sheet across process voltage and temperature The different absolute ranges are outlined in this section The fixed mode allows the DCM to insert a delay line in the CLKFB or the CLKIN path This gives access to the FINE SHIFT RANGE when the PHASE SHIFT attribute is set to a positive value and FINE SHIFT RANGE when the PHASE SHIFT attribute is set to a negative value Absolute Range Variable Center Mode FINE SHIFT RANGE 2 The variable center mode allows symmetric dynamic sweeps from 255 256 to 255 256 by having the DCM set the zero phase skew point in the middle of the delay line This divides the total delay line range in half Absolute Range Fixed FINE SHIFT RANGE In the fixed mode a phase shift is set during configuration in the range of 255 256 to 255 256 Absolute Range Variable Positive and Direct Modes FINE_SHIFT_RANGE In the variable positive and direct modes the phase shift only operates in the positive range The DCM sets the zero phase skew point at the beginning of the delay line This pro
125. individually for each storage element in an OLOGIC block Most of the control signals have optional inverter Any inverter placed on a control input is automatically absorbed www xilinx com 341 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources XILINX Figure 7 20 illustrates the various logic resources in the OLOGIC block Ti zl gt TIINV L rFF1 TFFDDRI r 1 rrF2 c ES TFFDDRA T2INV TFF1 TFFDDR TFF2 TFFDDRB TCE d gt TCEINV CLK1INV CLK o CLK2INV D1 gt oFF10FFDDR OFF D2 OFFDDRA E OFF10FFDDR OFF OFFDDRA gt OCEINV SR d gt SRINV REV gt REVINV ug070_7_20_080104 Figure 7 20 OLOGIC Block Diagram This section of the documentation discusses the various features available using the OLOGIC resources All connections between the OLOGIC resources are managed in Xilinx software 342 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX OLOGIC Resources Combinatorial Output Data and 3 State Control Path The combinatorial output paths create a direct connection from the FPGA fabric to the output driver or output driver control These paths is used when 1 There is direct unregistered connection from logic resources in the FPGA fabric to
126. inst instantiation Additional RAMB16 Primitive Design Considerations The RAMB16 primitive is new to the Virtex 4 block RAM solution Data Parity Buses DIP A B and DOP A B The data parity buses are additional pins used for data parity with incoming data into the block RAM The block RAM does not generate the parity bits for incoming data These are supplied by the user If not supplying parity bits the pins can be used for incoming data Optional Output Registers Optional output registers can be used at either or both A B output ports of RAMB16 The choice is made using the DO A B REG attribute There is also an option to invert the clocks for either or both of the A B output registers using the INVERT CLK DO A B REG attribute The two independent clock enable pins are REGCE A B When using the optional output registers at port A B the synchronous set reset SSR pin of ports A B can not be used Figure 4 5 shows a optional output register Independent Read and Write Port Width RAMB16 136 To specify the port widths designers must use the READ_WIDTH_ A B and WRITE_WIDTH_ A B attributes The following rules should be considered e Designing a single port block RAM requires the port pair widths of one write and one read to be set e g READ WIDTH A and WRITE WIDTH A e Designing a dual port block RAM requires all port widths to be set e When using these attributes if both write ports or both read por
127. is the divisor denominator The frequency synthesized outputs can drive the global clock routing networks within the device The well buffered global clock distribution network minimizes clock skew due to differences in distance or loading Frequency Synthesis Operation The DCM clock output CLKFX is any M D factor of the clock input to the DCM Specifications for M and D as well as input and output frequency ranges for the frequency synthesizer are provided in the Virtex 4 Data Sheet Only when feedback is provided to the CLKFB input of the DCM is the frequency synthesizer output phase aligned to the clock output CLKO The internal operation of the frequency synthesizer is complex and beyond the scope of this document As long as the frequency synthesizer is within the range specified in the Virtex 4 Data Sheet it multiplies the incoming frequencies by the pre calculated quotient M Dand generates the correct output frequencies www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX DCM Design Guidelines For example assume an input frequency of 50 MHz M 25 and D 8 M and D values do not have common factors and cannot be reduced The output frequency is 156 25 MHz although separate calculations 25 x 50 MHz 1 25 GHz and 50 MHz 8 6 25 MHz seem to produce separate values outside the range of the input frequency Frequency Synthesizer Characteristics e The frequency synthesizer provides an
128. lt 100 Bank9 SSO 12 lt 100 Bank10 SSO 22 lt 100 Bank11 SSO 80 lt 100 Bank12 SSO 0 lt 100 Bank13 SSO 5 lt 100 Bank14 SSO 60 lt 100 OK If the SSO of any bank exceeds 100 apply ground bounce reduction techniques to the bank until the SSO of all individual banks is less than 100 Step 2 Calculate the Adjacent Bank SSO Average for All Adjacent Bank Pairs Ensure the adjacent bank averages do not exceed 105 of the SSO allowance First calculate the adjacent bank SSO average for Banks 7 and 11 and check against 105 of SSO allowance Adjacent Bank SSO Average 7 11 SSO of bank 7 SSO of bank 11 2 15 80 2 47 5 SSO allowance x 105 gt adjacent bank SSO average 7 11 79 2 gt 47 5 OK Then calculate adjacent bank SSO average for all adjacent bank pairs If the average SSO of two adjacent banks exceeds 105 of the SSO allowance apply ground bounce reduction www xilinx com 305 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX techniques to one or both of these two banks until the average SSO of all adjacent bank pairs is less than or equal to 105 of the SSO allowance Step 3 Calculate the Package SSO Ensure the package SSO does not exceed the SSO allowance All Bank SSO average Sum of SSO from all banks number of banks available in the package 51 51 0 60 35 40 15 30 12 22 80 0 5 60 14 32 2 SSO allowance
129. monitored for phase shift status Virtex 4 User Guide www xilinx com 91 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs X XILINX Status Flags The example in Figure 2 22 shows the behavior of the status flags in the event of a phase shift overflow and CLKIN CLKFB CLKFX failure 4 CLKIN 3 cke L 2 a E DO 0 DO 1 257 260 Cycles DO 2 esci _ K esN PSDONE DO 3 ug070_2_22_071504 Figure 2 22 Status Flags Example e Clock Event 1 Prior to the beginning of this timing diagram CLKO not shown is already phase shifted at its maximum value At clock event 1 PSDONE is asserted However since the DCM has reached its maximum phase shift capability no phase adjustment is performed Instead the phase shift overflow status pin DO 0 is asserted to indicate this condition e Clock Event 2 The CLKFX output stops toggling Within 257 to 260 clock cycles after this event the CLKFX stopped status DO 2 is asserted to indicate that the CLKFX output stops toggling e Clock Event 3 The CLKFB input stops toggling Within 257 to 260 clock cycles after this event the CLKFB stopped status DO 3 is asserted to indicate that the CLKFB output stops toggling e Clock Event 4 The CLKIN input stops toggling Within 257 to 260 clock cycles after this event DO 1 is asserted to indicate that the CLKIN output stops toggling 92 www xilinx com Virtex 4 User Guide UG070 v2 0
130. not deskew properly Do not use the DCM output clock signals until after activation of the LOCKED signal Prior to the activation of the LOCKED signal the DCM output clocks are not valid DCM During Configuration and Startup During the FPGA configuration the DCM is in reset and starts to lock at the beginning of the startup sequence A DCM requires both CLKIN and CLKFB input clocks to be present and stable when the DCM begins to lock If the device enters the configuration startup sequence without an input clock or with an unstable input clock then the DCM must be reset after configuration with a stable clock The following startup cycle dependencies are of note 1 The default value is g LCK cycle NoWait When this setting is used the startup sequence does not wait for the DCM to lock WHen the LCK cycle is set to other values the configuration startup remains in the specified startup cycle until the DCM is locked 2 Before setting the LCK cycle option to a startup cycle in BitGen the DCM s STARTUP WAIT attribute must be set to TRUE www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX DCM Design Guidelines 3 If the startup sequence is altered by using the BitGen option do not place the LCK cycle wait for the DCM to lock before the GTS cycle deassert GTS Incorrect implementation will result in the DCM not locking and an incomplete configuration Deskew Adjust Virtex 4 User Guide T
131. one parity bit All four byte write enable inputs must be driven in all data width configurations This feature is useful when using block RAM to interface with the PPC405 Byte write enable is not available in the Multi rate FIFO Byte write enable is further described in the Additional RAMB16 Primitive Design Considerations section Figure 4 8 shows the byte wide write enable logic When configured for a 36 bit or 18 bit wide data path any port can restrict writing to specified byte locations within the data word If configured in READ FIRST mode the DO bus shows the previous content of the whole addressed word In WRITE FIRST mode with identical Read and Write port widths DO shows only the enabled newly written byte s The other byte values must be ignored In WRITE FIRST mode with different widths for Read and Write ports all data on DO must be ignored Virtex 4 User Guide www xilinx com 119 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX DI DO A 13 0 A14 RAM EXTENSION NONE 0 WE Control 4 WE 3 0 Z UGO070 4 08 033005 Figure 4 8 Byte Wide Write Enable In Block RAM Block RAM Library Primitives RAMB16 is the block RAM library primitive It is the basic building block for all block RAM configurations Other block RAM primitives and macros are based on this primitive Some block RAM attributes can only be configured using this primitive e g pip
132. or SLAVE MASTER master or slave when using width expansion BITSLIP_ENABLE Attribute The BITSLIP_ENABLE attribute enables the Bitslip sub module The possible values are TRUE and FALSE default BITSLIP ENABLE must be set to TRUE when INTERFACE TYPE is NETWORKING and FALSE when INTERFACE TYPE is MEMORY When set to TRUE the Bitslip sub module responds to the BITSLIP signal When set to FALSE the Bitslip sub module is bypassed See BITSLIP Sub Module DATA RATE Attribute The DATA RATE attribute defines whether the incoming data stream is processed as single data rate SDR or double data rate DDR The allowed values for this attribute are SDR and DDR The default value is DDR DATA WIDTH Attribute The DATA WIDTH attribute defines the parallel data output width of the serial to parallel converter The possible values for this attribute depend on the DATA RATE attribute When DATA RATE is set to SDR the possible values for the DATA WIDTH attribute are 2 3 4 5 6 7 and 8 When DATA RATE is set to DDR the possible values for the DATA WIDTH attribute are 4 6 8 and 10 When the DATA WIDTH is set to widths larger than six a pair of ISERDES must be configured into a master slave configuration See ISERDES Width Expansion INTERFACE TYPE Attribute 358 The INTERFACE TYPE attribute determines whether the ISERDES is configured in memory or networking mode The allowed values for this attribute are MEMO
133. output frequency equal to the input frequency multiplied by M and divided by D e The outputs CLKFX and CLKFX180 always have a 50 50 duty cycle e Smaller M and D values achieve faster lock times Whenever possible divide M and D by the largest common factor to get the smallest values e g if the required CLKFX 9 6 x CLKIN instead of using M 9 and D 6 use M 3 and D 2 e When CLKFB is connected CLKFX is phase aligned with CLKO every D cycles of CLKO and every M cycles of CLKFX if M D is a reduced fraction e Inthe case where only DFS outputs are used and when CLKIN of the DCM is outside of the range for DLL outputs a macro must be used to properly monitor the LOCKED signal Verilog and VHDL versions of the macro can be downloaded from www xilinx com bvdocs userguides ug070 zip Phase Shifting The DCM provides coarse and fine grained phase shifting For coarse phase control the CLKO CLK90 CLK180 and CLK270 outputs are each phase shifted by 1 4 of the input clock period relative to each other Similarly CLK2X180 and CLKFX180 provide a 180 coarse phase shift of CLK2X and CLKFX respectively The coarse phase shifted clocks are produced from the delay lines of the DLL circuit The phase relationship of these clocks is retained when CLKFB is not connected Fine grained phase shifting uses the CLKOUT PHASE SHIFT and PHASE SHIFT attributes to phase shift DCM output clocks relative to CLKIN Since the CLKIN is used as
134. receives two to six bits of parallel data from the fabric 10 1 if using OSERDES Width Expansion serializes the data and presents it to the IOB via the OQ outputs Parallel data is serialized from lowest order data input pin to highest i e data on the D1 input pin is the first bit transmitted at the OQ pins The data parallel to serial converter is available in two modes single data rate SDR and double data rate DDR The OSERDES uses two clocks CLK and CLKDIV for data rate conversion CLK is the high speed serial clock CLKDIV is the divided parallel clock It is assumed that CLK and CLKDIV are phase aligned It is recommended to apply a reset to the OSERDES prior to use The OSERDES contains an internal counter that controls dataflow and failure to synchronize the reset with the CLKDIV will result in unexpected output Table 8 5 describes the relationship between CLK and CLKDIV in all modes Table 8 5 CLK CLKDIV Relationship of the Data Parallel to Serial Converter Input Data Width Output in SDR Input Data Width Output in DDR CLK CLKDIV Mode Mode 2 4 2X X 3 6 3x X 4 8 4X X 5 10 5X X 6 6x X 7 7X X 8 8X X www xilinx com 373 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources 3 State Parallel to Serial Conversion 2 XILINX In addition to parallel to serial conversion of data an OSERDES module also contains a parallel to serial converter for 3 s
135. storage element in the same slice The distributed RAM and the Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 173 Chapter 5 Configurable Logic Blocks CLBs XILINX storage element share the same clock input For a write operation the Write Enable WE input driven by the SR pin must be set High Table 5 3 shows the number of LUTs two per slice occupied by each distributed RAM configuration Table 5 3 Distributed RAM Configuration RAM Number of LUTs 16x 1S 1 16x 1D 2 32x1S 2 64 x 1S 4 Notes 1 S single port configuration D dual port configuration For single port configurations distributed RAM memory has a common address port for synchronous writes and asynchronous reads For dual port configurations distributed RAM memory has one port for synchronous writes and asynchronous reads and another port for asynchronous reads The function generator LUT has separated read address inputs and write address inputs In single port mode read and write addresses share the same address bus In dual port mode one function generator R W port is connected with shared read and write addresses The second function generator has the A inputs Read connected to the second read only port address and the W inputs Write shared with the first read write port address Figure 5 5 Figure 5 6 and Figure 5 7 illustrate various example distributed RAM configurations occupying one slic
136. that the data must be stable at the BX BY input TpH input DI of the slice Slice SRL Timing Characteristics Figure 5 25 illustrates the timing characteristics of a 16 bit shift register implemented in a Virtex 4 slice LUT configured as SRL CLK Write Enable SR Shift In DI Address Data Out D TREGxB ee MSB MC15 x X Xo UG070_5_25 080204 Figure 5 25 Slice SRL Timing Characteristics Virtex 4 User Guide www xilinx com 197 UG070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX Clock Event 1 Shift In During a Write Shift In operation the single bit content of the register at the address on the ADDR inputs is changed as data is shifted through the SRL The data written to this register is reflected on the X Y outputs synchronously if the address is unchanged during the clock event If the ADDR inputs are changed during a clock event the value of the data at the addressable output D is invalid e At time Twss before clock event 1 the write enable signal SR becomes valid high enabling the SRL for the Write operation that follows e At time Tps before clock event 1 the data becomes valid 0 at the DI input of the SRL and is reflected on the X Y output after a delay of length Tggg after clock event 1 Since the address 0 is specified at clock event 1 the data on the DI input is reflected at the D output because it is written to regi
137. the Dynamic Reconfiguration chapter of the Virtex 4 Configuration Guide The DADDR 6 0 DI 15 0 DWE DEN DCLK inputs and DO 15 0 and DRDY outputs are available to dynamically reconfigure select DCM functions With dynamic reconfiguration DCM attributes can be changed to select a different phase shift multiply M or divide D from the currently configured settings Figure 2 1 shows a simplified view of the Virtex 4 center column resources including all DCM locations Table 2 1 summarizes the availability of DCMs in each Virtex 4 device DCMs Top Half PMCDs Top Half I Os BUFGCTRLs Top Half Virtex 4 Center Column BUFGCTRLs Bottom Half I Os PMCDs Bottom Half DCMs Bottom Half UG070_2_01_071204 Figure 2 1 DCM Location 54 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX DCM Summary Table 2 1 Available DCM Resources Device Available DCMs Site Names XC4VLX15 4 Bottom Half XCAVSX25 DCM_ADV_X0Y0 DCM ADV X0Y1 XCAVEX12 XC4VFX20 Top Half DCM_ADV_X0Y2 DCM_ADV_X0Y3 XC4VLX25 XC4VLX40 XC4VLX60 8 Bottom Half XC4VSX35 XC4VSX55 DCM_ADV_X0Y0 DCM_ADV_X0Y1 DCM ADV X0Y2 XC4VEX40 Top Half DCM_ADV_X0Y3 DCM_ADV_X0Y4 DCM_ADV_X0Y5 DCM ADV X0Y6 DCM_ADV_X0Y7 XCAVLX80 XCAVLX100 XCAVLX160 XCAVLX200 XCAVFX60 XC4VFX100 12 Bottom Half DCM ADV X0YO DCM ADV X0Y1 DCM ADV XO0Y2 DCM ADV X0Y3 DCM ADV X0Y4 DCM ADV X0Y5 Top Half D
138. the reference clock the feedback CLKFB connection is required for the phase shifting circuit to compare the incoming clock with the phase shifted clock The rest of this section describes fine grained phase shifting in the Virtex 4 DCM Phase Shifting Operation Virtex 4 User Guide All nine DCM output clocks are adjusted when fine grained phase shifting is activated The phase shift between the rising edges of CLKIN and CLKFB is a specified fraction of the input clock period or a specific amount of DCM_TAP All other DCM output clocks retain their phase relation to CLKO Phase Shift Range The allowed phase shift between CLKIN and CLKFB is limited by the phase shift range There are two separate phase shift range components e PHASE SHIFT attribute range e FINE SHIFT RANGE DCM timing parameter range In the FIXED VARIABLE POSITIVE and VARIABLE CENTER phase shift mode the PHASE SHIFT attribute is in the numerator of the following equation Phase Shift ns PHASE SHIFT 256 x PERIODci KIN where PERIODc qn denotes the effective CLKIN frequency www xilinx com 73 UGO070 v2 0 January 4 2007 74 Chapter 2 Digital Clock Managers DCMs XILINX In VARIABLE CENTER and FIXED modes the full range of the PHASE SHIFT attribute is always 255 to 255 In the VARIABLE POSITIVE mode the range of the PHASE SHIFT attribute is 0 to 255 In the DIRECT phase shift mode the PHASE SHIFT attribute is the multiplication factor
139. the same tile group of two Thus only CLKA1D8 can directly connect two PMCDs in series PMCD GCLK PMen BUFG IOB CLKA CLKA1D8 CLKA CLKA1D8 f 64 RST RST REL REL RST_DEASSERT_CLK CLKA RST_DEASSERT_CLK CLKA EN_REL FALSE EN_REL FALSE UG070_3_12_071404 Figure 3 12 PMCD to PMCD for Clock Frequency Division VHDL and Verilog Templates and the Clocking Wizard The VHDL Template page 107 and Verilog Template page 108 are also available in the Libraries Guide for all primitives In addition VHDL and Verilog files are generated by the Clocking Wizard in the ISE software The Clocking Wizard sets appropriate DCM and single parallel PMCD configurations The Clocking Wizard is accessed using the Xilinx ISE software in the Project Navigator Refer to the Xilinx Software Manuals for more information on Xilinx ISE software 1 From the Project Navigator menu select Project gt New Source The New Source window appears 2 Enter a file name and select IP CoreGen and Architecture Wizard Click Next The Select Core Type window appears Select Clocking gt Single DCM ADV click next The New Source Information window appears 5 Click Finish 6 The Xilinx Clocking Wizard starts Figure 3 13 and Figure 3 14 show the settings in the Clocking Wizard for using the DCM with the PMCD To access further information on available settings choose the More Info button in each window Virtex 4 User Guide
140. the value specified by the PHASE SHIFT attribute The non zero PHASE SHIFT value for DIRECT mode can only be loaded to the DCM when a specific load phase shift value command is given by Dynamic Reconfiguration Refer to the Techniques section in the Virtex 4 Configuration Guide for more information The phase of DCM output clock will be incremented decremented according to the interaction of PSEN PSINCDEC PSCLK and PSDONE from the initial or dynamically reconfigured phase PSEN PSINCDEC and PSDONE are synchronous to PSCLK When PSEN is asserted for one PSCLK clock period a phase shift increment decrement is initiated When PSINCDEC is High an increment is initiated and when PSINCDEC is Low a decrement is initiated Each increment adds to the phase shift of DCM clock outputs by 1 256 of the CLKIN period Similarly each decrement decreases the phase shift by 1 256 of the CLKIN period PSEN must be active for exactly one PSCLK period otherwise a single phase shift increment decrement is not guaranteed PSDONE is High for exactly one clock period when the phase shift is complete The time required to complete a phase shift operation varies As a result PSDONE must be monitored for phase shift status Between enabling PSEN and PSDONE is flagged the DCM output clocks will gradually change from their original phase shift to the incremented decremented phase shift The completion of the increment or decrement is signaled when PSDONE asserts High
141. ulogic S in std ulogic IE end component Example IDDR instantiation U IDDR Port map IDDR 316 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX ILOGIC Resources Q1 gt user_ql Q2 gt user q2 C gt user C CE gt user_ce D gt user_d R gt user_r S gt user_s MF IDDR Verilog Template Example IDDR module declaration module IDDR Q1 Q2 C CE D R S output Q1 output Q2 input C input CE input D tri0 GSR glbl GSR input R input S parameter DDR CLK EDGE OPPOSITE EDGE parameter INIT Q1 1 bo parameter INIT_Q2 1 bo parameter SRTYPE SYNC endmodule Example IDDR instantiation IDDR U_IDDR Q1 user q1 Q2 user a2 C user c CE user ce D user d R user r S user s ILOGIC Timing Models This section describes the timing associated with the various resources within the ILOGIC block Virtex 4 User Guide www xilinx com 317 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources XILINX ILOGIC Timing Characteristics Figure 7 9 illustrates I LOGIC register timing When IDELAY is used T pocx is replaced by Trpockp i lipock B licE1CK CE1 A Ex l isRck SH a NYT NY ug070 7 09 072904 Figure 7 9 ILOGIC Input Register Timing Characteristics Clock Event 1
142. with respect to CLK Tospck T Tosckp T T input Setup Hold with respect to CLKDIV Toscck oce Tosckc oce OCE input Setup Hold with respect to CLK Toscck Tce Tosckc TCE TCE input Setup Hold with respect to CLK Sequential Delays Toscko oo Clock to Out from CLK to OQ Toscko TO Clock to Out from CLK to TO Combinatorial Tosco oo Asynchronous Reset to OQ Tosco ro Asynchronous Reset to TO Timing Characteristics In Figure 8 14 the timing of a 2 1 SDR data serialization is illustrated The timing parameter names and behavior do not change for different bus widths including when Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 379 Chapter 8 Advanced SelectlO Logic Resources XILINX two OSERDES are cascaded together The same examples apply for DDR mode with the exception that OQ switches at every CLK edge rising and falling 1 2 t CLKDIV l loscck oce OCE KENN VIL ok SR ospck p q loscko oa Tosco oa 0 KO ug070 8 22 073004 Figure 8 14 OSERDES 2 1 SDR Data Serialization Timing Diagram Clock Event 1 e At time Toscck ocr before Clock Event 1 CLK the output clock enable pin becomes valid high at the OCE input of the OSERDES enabling the output register to transmit data to the OQ output Clock Event 2 e At time
143. www xilinx com 105 UGO070 v2 0 January 4 2007 Chapter 3 Phase Matched Clock Dividers PMCDs Z XILINX ug070 3 13 071204 Figure 3 13 Xilinx Clocking Wizard General Setup PMCD 106 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX VHDL and Verilog Templates and the Clocking Wizard ug070 3 14 071204 Figure 3 14 Xilinx Clocking Wizard Phase Matched Clock Divider PMCD VHDL Template Example PMCD Component Declaration component PMCD generic EN_REL boolean FALSE RST_DEASSERT_CLK string CLKA 24 port CLKA1 out std ulogic CLKA1D2 out std_ulogic CLKA1D4 out std_ulogic CLKA1D8 out std_ulogic CLKB1 out std_ulogic CLKC1 out std_ulogic CLKD1 out std_ulogic Virtex 4 User Guide www xilinx com 107 UGO070 v2 0 January 4 2007 Chapter 3 Phase Matched Clock Dividers PMCDs XILINX CLKA in std ulogic CLKB in std ulogic CLKC in std ulogic CLKD in std ulogic REL in std ulogic RST in std ulogic end component Example PMCD instantiation U PMCD PMCD Port map CLKA1 gt user clkal CLKA1D2 gt user clkaid2 CLKA1D4 gt user clkaid4 CLKA1D8 gt user clkal1d8 CLKB1 gt user_clkbl CLKC1 gt user_clkcl CLKD1 gt user clkd1 CLKA user clka CLKB user clkb CLKC user clkc CLKD user clkd REL user rel RST gt user rst Verilog Template
144. 0 0 rrr 36 Clock Regions 5d ees Pa eer Patienten ted ee pte ARCA Ha E I RR eed 36 Regional Clocking Resources sss nee eee ee 37 Clock Capable T GY ce edo derniere REE dr ates a EEE qb let eed 38 I O Clock Buffer BUFIO seeeeeeeeeeee RR RII n eee eens 38 BUBIO Primitive edt ee ie esae eve deg lee Pte dece eena ee han e e ations 38 BUFIO Use Models 0 cc ccc eee eee eee ene ene hrs 39 Regional Clock Buffer BUFR sseni siie ona i ad enie eens 39 BUFR Primitive sede eR eee gend Ra ek RR d CR RUE CR ee eee a 40 BUFR Attributes and Modes 0 0c ccc cece n eee nee 40 BUFR Use Models erreren ianei ia eee eee hrs 42 Regional Clock Nets cs eee en pee en Gp he m eee a e te ARCA sete ane Reden 42 VHDL and Verilog Templates 0 000s 43 BUFGCTRL VHDL and Verilog Templates 43 VADE Template crr etr beendet edere rers de bled avr eld bieten 43 Verilog Template i3 mro desee tr m R deter lene beue e bw ceeds eee 44 Declaring Constraints in UCF File esses 45 BUFG VHDL and Verilog Templates 0 06 6 ccc 45 VADE Template re rem Pm eet iet rete re hid ien eed de ees 45 Verilog Template cgis sete eder ie tete a edere wee gae ew deli ete diene a 45 Declaring Constraints in UCF File esses 46 BUFGCE and BUFGCE 1 VHDL and Verilog Templates 4 46 VADE Template 25521 deutch deb EIE eter decet ates d eu drei d doti 46 Verilog Template re oos pE beens
145. 0 gt indicates these three conditions Virtex 4 User Guide www xilinx com 163 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX Error Status Description The block RAM ECC is able to detect single and double bit errors from the block RAM However only the single bit error can be corrected The ECC logic does not correct the bit in the actual block RAM storage location If the block RAM location containing the bit error is not overwritten then further reads from that location causes the ECC logic to continue to correct the error Table 4 16 is the truth table for the STATUS bits Table 4 16 STATUS Bit Truth Table STATUS 1 0 Description 00 No bit error 01 Single bit error The block RAM ECC macro detects and automatically corrects a single bit error 10 Double bit error The block RAM ECC macro detects a double bit error 11 Undefined not a valid status error Block RAM ECC Attribute In addition to the built in registers in the decode and correct logic the RAMB32 564 ECC primitive allows the use of optional pipeline registers to produce higher performace with one additional latency Valid values for the DO REG attibute are 0 or 1 Block RAM ECC VHDL and Verilog Templates VHDL and Verilog templates are available in the Libraries Guide Block RAM ECC VHDL Template RAMB32 S64 ECC VHDL instance declaration code Library declaration for
146. 00 00000000 INIT r 38 256 h00000000000000000000000000000000000000000000000000000000 00000000 134 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX Block RAM VHDL and Verilog Templates INIT Tr 39 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 3A 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 3B 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 3C 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 3D 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 3E 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 3F 256 h00000000000000000000000000000000000000000000000000000000 00000000 The next set of INITP xx are for the parity bits INITP 00 256 h0000000000000000000000000000000000000000000000000000000 000000000 INITP 01 256 h0000000000000000000000000000000000000000000000000000000 000000000 INITP 02 256 h0000000000000000000000000000000000000000000000000000000 000000000 INITP 03 256 h0000000000000000000000000000000000000000000000000000000 000000000 INITP 04 256 h0000000000000000000000000000000000000000000000000000000 000000000 INITP 05 256 h0000000000000000000000000000000000000000000000000000000 000000000 INITP 0
147. 0000 INIT r 28 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 29 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 2A 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 2B 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 2C 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT lr 2D 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 2E 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 2F 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 30 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 31 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 32 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 33 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 34 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 35 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT lr 36 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 37 256 h000000000000000000000000000000000000000000000000000000
148. 00000000000000 INIT 37 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 38 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 39 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 3A gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 3B gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 3C gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 3D gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 3E gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 3F gt X 0000000000000000000000000000000000000000000000000000000000000000 INITP 00 gt X 0000000000000000000000000000000000000000000000000000000000000000 INITP 01 gt X 0000000000000000000000000000000000000000000000000000000000000000 INITP 02 gt X 0000000000000000000000000000000000000000000000000000000000000000 INITP 03 gt X 0000000000000000000000000000000000000000000000000000000000000000 INITP 04 gt X 0000000000000000000000000000000000000000000000000000000000000000 INITP 05 gt X 0000000000000000000000000000000000000000000000000000000000000000 INITP 06 gt X 0000000000000000000000000000000000000000000000000000000000000000 INITP 07 gt X 00000000000000000000000000
149. 00000000000000 00000000 INIT 19 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 1A 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 1B 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 1C 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 1D 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 1E 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 1F 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 20 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 21 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 22 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 23 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 24 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 25 256 h00000000000000000000000000000000000000000000000000000000 00000000 Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 133 Chapter 4 Block RAM XILINX INIT r_26 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 27 256 h00000000000000000000000000000000000000000000000000000000 0000
150. 0000000000000000 INIT 27 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 28 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 29 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 2A gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 2B gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 2C gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 2D gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 2E gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 2F gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 30 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 31 gt X 0000000000000000000000000000000000000000000000000000000000000000 gt gt gt gt gt www xilinx com 129 Chapter 4 Block RAM XILINX INIT_32 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 33 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 34 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 35 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 36 gt X 00000000000000000000000000000000000000000000000000
151. 0000000000000000000000000 INIT 06 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 07 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 08 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 09 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 0A gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 0B gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 0C gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 0D gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT OE gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT OF gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 10 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 11 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 12 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 13 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 14 gt X 0000000000000000000000000000000000000000000000000000000000000000 128 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX Virtex 4 User Guide UGO070 v2 0 January 4 2007 Block RAM VHDL and Verilog Templat
152. 00000000000000000000000000000000000000 port map CASCADEOUTA gt CASCADEOUTA 1 bit cascade output CASCADEOUTB gt CASCADEOUTB 1 bit cascade output DOA DOA 32 bit A port Data Output DOB DOB 32 bit B port Data Output DOPA gt DOPA 4 bit A port Parity Output DOPB gt DOPB 4 bit B port Parity Output ADDRA gt ADDRA 15 bit A port Address Input ADDRB gt ADDRB 15 bit B port Address Input CASCADEINA gt CASCADEINA 1 bit cascade A input CASCADEINB gt CASCADEINB 1 bit cascade B input CLKA gt CLKA Port A Clock CLKB gt CLKB Port B Clock DIA gt DIA 32 bit A port Data Input DIB gt DIB 32 bit B port Data Input 130 Virtex 4 User Guide UG070 v2 0 January 4 2007 www xilinx com XILINX Block RAM VHDL and Verilog Templates DIPA gt DIPA 4 bit A port parity Input DIPB gt DIPB 4 bit B port parity Input ENA gt ENA 1 bit A port Enable Input ENB gt ENB 1 bit B port Enable Input REGCEA gt REGCEA 1 bit A port register enable input REGCEB gt REGCEB 1 bit B port register enable input SSRA SSRA 1 bit A port Synchronous Set Reset Input SSRB gt SSRB 1 bit B port Synchronous Set Reset Input WEA gt WEA 4 bit A port Write Enable Input WEB gt WEB 4 bit B port Write Enable Input End of RAMB16 inst instantiation RA
153. 007 XILINX Global Clocking Resources Figure 1 7 illustrates the timing diagram for BUFGCE 1 BUFGCE 1 l T gurges TT n o ooo I BUFGCE 10 TN AA T BCCKO_O ug070_1_07_081904 Figure 1 7 BUFGCE_1 Timing Diagram BUFGMUX and BUFGMUX 1 BUFGMUX is a clock buffer with two clock inputs one clock output and a select line This primitive is based on BUFGCTRL with some pins connected to logic High or Low Figure 1 8 illustrates the relationship of BUFGMUX and BUFGCTRL A LOC constraint is available for BUFGMUX and BUFGCTRL GND IGNORE1 S CE1 1 Vpp BUFGMUX SO CEO IGNOREO Vpp GND ug070 1 08 071304 Figure 1 8 BUFGMUX as BUFGCTRL Since the BUFGMUX uses the CE pins as select pins when using the select the setup time requirement must be met Violating this setup time may result in a glitch Switching conditions for BUFGMUX are the same as the CE pins on BUFGCTRL Figure 1 9 illustrates the timing diagram for BUFGMUX T pm BCCCK CE o L N ri uo T T p BCCKO O begin gt _ BCCKO_O Figure 1 9 BUFGMUX Timing Diagram In Figure 1 9 Virtex 4 User Guide www xilinx com 31 UGO070 v2 0 January 4 2007 32 Chapter 1 Clock Resources XILINX The current clock is IO S is activated High If I0 is currently High the multiplexer waits for I0 to deassert Low Once I0 is Low the multiplexer output stays Low until I1
154. 07 XILINX Simultaneous Switching Output Limits Nominal SSO Limit Tables Non Sparse Chevron Table 6 42 provides the guidelines for the maximum number of simultaneously switching outputs allowed per output power ground pair to avoid the effects of ground bounce Refer to Table 6 43 for the number of equivalent output Vcco GND pairs for each device package and I O bank Table 6 42 Non Sparse Chevron Simultaneously Switching Output Limits per Equivalent Vcco GND Pair Voltage OStandard SF363 and FF668 Packages 1 5V LVCMOS15 2 slow 51 LVCMOS15 4 slow 31 LVCMOS15 6 slow 22 LVCMOS15 8 slow 17 LVCMOS15 12 slow 11 LVCMOS15 16 slow 8 LVCMOS15 2 fast 30 LVCMOS15 4 fast 18 LVCMOSI5 6 fast 13 LVCMOS15 8 fast 10 LVCMOS15 12 fast 8 LVCMOS15 16 fast 6 LVDCI 15 50 Q 10 LVDCI DV2 15250 5 HSLVDCI 15 50 Q 10 HSTL I 20 HSTL I DCI 20 HSTL II 10 HSTL II DCI 10 HSTL III 8 HSTL III DCI 8 HSTL IV 4 HSTL IV DCI 4 DIFF HSTL II 10 DIFF HSTL II DCI 10 Virtex 4 User Guide www xilinx com 297 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources 298 XILINX Table 6 42 Non Sparse Chevron Simultaneously Switching Output Limits per Equivalent Vcco GND Pair Continued Voltage 1 8V Non Sparse Chevron Limit lostamdara SF363 and FF668 Packages
155. 0A 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 0B 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT lr 0C 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT lr 00 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 0E 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 0F 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT lr 10 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 11 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT lr 12 256 h00000000000000000000000000000000000000000000000000000000 00000000 132 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX Block RAM VHDL and Verilog Templates INIT 13 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 14 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 15 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 16 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 17 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT 18 256 h000000000000000000000000000000000000000000
156. 227 DCL Usage Examples wise ees lead ou EL oase eu ea eq n leew beeen edere dens 228 Virtex 4 SelectIO Primitives suusesesssssssssess seh 231 IBUFand IBUEG heheh ER REED pP pe ER RAO e ERA e ee oun 232 OBUP prr 232 OBURI 4 ce eae he eaves eine he ite e eeu Aen xiva este estatuto Vatic date Ae pia No 232 IOBUP pirn m e ro ar eR RR T RO YU SACR ROC Ree a OO E s 233 IBUFDS and IBUFGDS sssseseeeeee a hh hn 233 OBUFDS ss saute eeu EE ERES RE ERE RO I a REA E ERR ch ERU 233 OBURTDS vcr P PREPUY EY REREEEYREE EUER PRONEE eal whee ERES M 234 TOBUFDS 25 45 25 3s e y stats Sade geben His bed pede ETE EU P UNE PE 234 Virtex 4 SelectIO Attributes Constraints 0 00 00 ccc ce cee eee eee 234 Location Constraints 1 0 0 cece cece eect e mh rn 234 IOStandard Attribute ss 322 4 RE Eu s se E E eee CREW eX P 235 Output Slew Rate Attributes 0 0 EEE E E hh 235 Output Drive Strength Attributes 0 cee nne 235 Lower Capacitance I O Attributes 0 0 eee eens 235 PULLUP PULLDOWN KEEPER for IBUF OBUFT and IOBUF 236 Differential Termination Attribute 0 0 0 0 ccc cee eee eeee 236 Virtex 4 I O Resource VHDL Verilog Examples 0 0000 eeeee 236 VADE Template 01 2 169a ee cete toe ob ened pe ica ty Dead eed 236 Verilog Template as sixes scuru ok bid Sees px ey See Sige aa 237 Specific Guidelines for Virtex 4 I O Supported Standards 237 LVTTL Low Voltage T
157. 2904 Input DDR in SAME_EDGE_PIPELINED Mode By adding the additional register data is presented into the FPGA fabric on the same clock edge Unlike the SAME_EDGE mode the additional registers do not cause the data pair to be separated However an additional clock latency is required to remove the separated effect of the SAME_EDGE mode Figure 7 7 shows the timing diagram of the input DDR using the SAME_EDGE_PIPELINED mode The output pairs Q1 and Q2 are presented to the FPGA fabric at the same time www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX ILOGIC Resources B oae ads oai ou DIA D3A D5A D7A D9A D10A D11A D12A D13A Q1 DOA D2A D4A D6A D8A D10A Q2 D1A D3A D5A D7A D9A D11A ug070 7 07 072904 Figure 7 7 Input DDR Timing in SAME EDGE PIPELINED Mode Input DDR Primitive IDDR Figure 7 8 shows the block diagram of the IDDR primitive Table 7 3 lists the IDDR port signals Table 7 4 describes the various attributes available and default values for the IDDR primitive S D Q1 CE Q2 C R ug070 7 08 071404 Figure 7 8 DDR Primitive Block Diagram Table 7 3 IDDR Port Signals FOIT Function Description Name Q1 and Q2 Data outputs IDDR register outputs Q1 is rising edge data Q2 is falling edge data C Clock input port The C pin represents the clock input pin CE Clock enable port The enable pin affects the loading of data i
158. 2Rypp 2Zg 1000 2Rygw 2Zg 1002 JUANA gt nw 1 02 D4 DIFF HSTL Il DCI 18 Soha 2Z9 1000 E 2Rygw 2Zg 1002 ug070 6 53 071904 Figure 6 55 Differential HSTL 1 8V Class Il DCI Bidirectional Termination 264 Table 6 21 lists the differential HSTL Class II 1 8V DC voltage specifications Table 6 21 Differential HSTL Class II 1 8V DC Voltage Specifications Min Typ Max Vcco 1 7 1 8 1 9 Vir z Veco x 0 5 Vin DC 0 30 Veco 0 30 Vprrr DC 0 20 E Veco 0 60 Vow DC 0 78 1 12 Vprrr AC 0 40 Veco 0 60 Vx Crossover 2 0 78 1 12 Notes 1 Common mode voltage Vem Vp Vp Vx 2 2 Crossover point Vx where Vp Vy 0 AC coupled www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards HSTL Class III 1 8V Figure 6 56 shows a sample circuit illustrating a valid termination technique for HSTL Class III 1 8V External Termination SS Vote SSS eS IOB IOB Veco 1 8V Rygp Zg 500 HSTL IIl DCI 18 HSTL IIl DCI 18 D4 O 4 _X Vger 1 1V ug070 6 54 071904 Figure 6 56 HSTL Class III 1 8V Termination Table 6 22 lists the HSTL Class III 1 8V DC voltage specifications Table 6 22 HSTL Class Ill 1 8V DC Voltage Specifications
159. 2Rypy 2Zo 1002 EEA E p L En e ug070 6 37 071904 Figure 6 39 HSTL Class I Termination Table 6 14 lists the HSTL Class I DC voltage specifications Table 6 14 HSTL Class I DC Voltage Specifications Min Typ Max Vcco 1 40 1 50 1 60 Veer O 0 68 0 75 0 90 Ver Veco x 0 5 Vini Veer 0 1 Vir Vggr 0 1 Vou Veco 0 4 E 250 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Table 6 14 HSTL Class DC Voltage Specifications Continued Min Typ Max VoL 0 4 Tox at Voy mA 8 2 Io at Vor mA 8 i E Notes 1 Vor and Voy for lower drive currents are sample tested 2 Per EIA JESD8 6 The value of Vggp is to be selected by the user to provide optimum noise margin in the use conditions specified by the user HSTL Class ll Figure 6 40 shows a sample circuit illustrating a valid termination technique for HSTL Class II 1 5V with unidirectional termination External Termination rere V E Vr 0 75V Var ON SS SSSR rA c ART DCI IOB IOB 2Rypp 2Zo 1002 2Rypp 2Zo 1000 Het bal De HSTL Il DCI 51 09 2 DP41 4 Vnrr 0 75V 2Rypy 2Zo 1002 E 2Rygw 2Zo 1000 L E ug070 6 38 071904 Figure 6 40 HSTL 1 5V Class Il Unidirectional Termination Virtex 4 User Guide www xilinx co
160. 33 inputs are used it is not necessary to connect VRP and VRN to external reference resistors The implementation pad report does not record VRP and VRN being used External reference resistors are required only if LVDCI 33 outputs are present in a bank e VDCI 33 is compatible with LVTTL and LVCMOS standards only In addition changing the slew rate from fast to slow and or reducing the current drive could significantly reduce overshoot and undershoot The Virtex 4 PC Board Designers Guide contains additional design information to assist PCB designers and signal integrity engineers Regulating Vcco at 3 0V The following section discusses alternatives for managing overshoot and undershoot for LVTTL LVCMOS33 and PCI applications When Veco is lowered to 3 0V the power clamp diode turns on at about 3 5V Therefore it limits any overshoot higher than 3 5V before reaching the absolute maximum level of 4 05V In addition instead of 0 3V when Vcco 3 75V the lower absolute maximum limit corresponding to Veco 3 0V is 1 05V In this case the ground clamp diode clips undershoot before reaching the lower absolute maximum limit As a result lowering Vcco to 3 0V addresses the overshoot and undershoot specifications for all supported 3 3 V standards including LVCMOS 33 LVTTL LVDCI 33 and PCI Mixing Techniques Virtex 4 User Guide Either using LVDCI 33 standard or lowering the Vcco to 3 0V is a good approach to address overshoot
161. 500 X IEEE x u VREF 1 0V ug070 6 35 071904 Figure 6 37 GTL with External Parallel Termination and Unconnected Vcco GTLP DCI Usage GTL does not require a Veco voltage However for GTLP_DCI Veco must be connected to 1 5V GILP DCI provides single termination to Vcco for inputs or outputs A sample circuit illustrating a valid termination technique for GTLP_DCI with internal parallel driver and receiver termination is shown in Figure 6 38 Voco 1 5V OB IOB voco 15V 509 i Rypp Zo 500 EX 0 20 50 D4 I Vaer 1 0V ug070 6 36 071904 Figure 6 88 GTLP DCI Internal Parallel Driver and Receiver Termination Table 6 12 lists the GTLP DC voltage specifications Table 6 12 GTLP DC Voltage Specifications Min Typ Max Vcco a P Veer N x Vrr 0 88 1 0 1 12 Ver 1 35 1 5 1 65 Vi Vggr 0 1 0 98 1 1 2 Vi Vggr 0 1 0 9 1 02 Vou i i VoL 0 3 0 45 0 6 Ion at Voy mA IoL at Vor mA at 0 6V 36 248 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Table 6 12 GTLP DC Voltage Specifications Continued Min Typ Max lor at Vor mA at 0 3V 48 Notes 1 N must be greater than or equal to 0 653 and less than or equal to 0 68 Table 6 13 details the allowed attributes that can be applied to the
162. 6 256 h0000000000000000000000000000000000000000000000000000000 000000000 INITP 07 256 h0000000000000000000000000000000000000000000000000000000 000000000 RAMB16 inst CASCADEOUTA CASCADEOUTA 1 bit cascade output CASCADEOUTB CASCADEOUTB 1 bit cascade output DOA DOA 32 bit A port data output DOB DOB 32 bit B port data output DOPA DOPA 4 bit A port parity data output DOPB DOPB 4 bit B port parity data output ADDRA ADDRA 15 bit A port address input ADDRB ADDRB 15 bit B port address input 2G DEINA CASCADEINA 1 bit cascade A input CASCADEINB CASCADEINB 1 bit cascade B input C CLKA 1 bit A port clock input Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 135 Chapter 4 Block RAM XILINX CLKB CLKB 1 bit B port clock input DIA DIA 32 bit A port data input DIB DIB 32 bit B port data input DIPA DIPA 4 bit A port parity data input DIPB DIPB 4 bit B port parity data input ENA ENA 1 bit A port enable input ENB ENB 1 bit B port enable input REGCEA REGCEA 1 bit A port register enable input REGCEB REGCEB 1 bit B port register enable input SSRA SSRA 1 bit A port set reset input SSRB SSRB 1 bit B port set reset input WEA WEA 4 bit A port write enable input WEB WEB 4 bit B port write enable input End of RAMB16
163. 7 Divided Clock Input CLKDIV 0 ccc eee eens 357 Serial Input Data from IOB D 0 cece neces 357 High Speed Clock for Strobe Based Memory Interfaces OCLK suse 357 ISERDES Attrib tes esos eee 4r ebbe T wn e UE d aae eec acies 357 BITSLIP ENABLE Attribute cc e 358 DATA RATE Attribute 2 00 ee ee an 358 DATA WIDTH Attribute 4 25 lace dee eye tht eee e ee tac Bd bed C Rees 358 INTERFACE TYPE Attribute 2 0 0 ee nee an 358 IOBDEEAY Attribute i axe aue Pee dea eoe atone tee etas OR ele e e RR ted 359 NUM CE Attribute is eed ed cae eae eae RH Re RR Ra 360 SERDES MODE Attribute 0 ce nett hrs 360 ISERDES Clocking Methods erected erigert ii eiie eee eee 360 ISERDES Width Expansion sssssesess aai een eens 360 Guidelines for Expanding the Serial to Parallel Converter Bit Width 361 Verilog Instantiation Template to use Width Expansion Feature i 361 ISERDES Latencies 14 4 446 ERE e e rae e aac rdc e Ru 364 ISERDES Timing Model and Parameters llssseeeeeeeeeeeeeese 364 Timing Characteristics edat etat aba e e eb Hs cen Pr depo ect 365 STSDRISERDEOS dereer riene desc t e eld e de dote de ea e e RD Ce Bowne a RR E 366 ISERDES VHDL and Verilog Instantiation Template 0 006 367 ISERDES VHDL Instantiation 0 0 0 0 eee cent hrs 367 ISERDES Verilog Instantiation 0 6 eee eee ens 369 BITSL IP SubsMO dle 25 te
164. 70_4_21_071204 Figure 4 21 Resetting All Flags When the reset signal is asserted all flags are reset At time Tyco Empty after reset RST empty is asserted at the EMPTY output pin of the FIFO At time Tgco AgMprYy after reset RST almost empty is asserted at the AEMPTY output pin of the FIFO At time Taco FULL after reset RST full is deasserted at the FULL output pin of the FIFO At time Taco AFULL after reset RST almost full is deasserted at the AFULL output pin of the FIFO Reset is an asynchronous signal used to reset all flags Hold the reset signal High for three read and write clock cycles to ensure that all internal states and flags are reset to the correct value FIFO Applications There are various uses for the Virtex 4 block RAM FIFO 160 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX FIFO Applications e Cascading two asynchronous FIFOs to form a deeper FIFO e Building wider asynchronous FIFO by connecting two FIFOs in parallel Cascading FIFOs to Increase Depth Figure 4 22 shows a way of cascading FIFOs to increase depth The application sets the first FIFO in FWFT mode and uses external resources to connect to the second FIFO The ALMOST_FULL_OFFSET of the second FIFO should be four or more The data latency of this application can be up to double that of a single FIFO and the maximum frequency is limited by the feedback path The NOR gate is implemented using CLB l
165. 8 2 shows the ISERDES primitive BITSLIP gt CE1 d gt CE2 gt d ECT d d CLKDIV DLYCE cS DLYING o cs DLYRST Q1 Q2 Y V gt Q3 ie V Q4 p SHIFTINI ds gt SHIFTIN2 T cR d SHIFTOUT1 TFB gt SHIFTOUT2 ug070 8 02 072904 Figure 8 2 ISERDES Primitive Table 8 1 lists the available ports in the ISERDES primitive Table 8 1 ISERDES Port List and Definitions Port Name Type Width Description O Output 1 Combinatorial output Q1 Q6 Output 1 each Registered outputs Carry out for data width expansion Connect to SHIFTIN1 of slave IOB a a One See ISERDES Width Expansion Carry out for data width expansion Connect to SHIFTIN2 of slave IOB STONE Mus A See ISERDES Width Expansion BITSLIP Input 1 Invokes the Bitslip operation CE1 CE2 Input 1 each Clock enable inputs CLK Input 1 High speed clock input Clocks serial input data stream CLKDIV Tipat 1 Divided clock input Clocks delay element deserialized data Bitslip sub module and CE unit D Input 1 Serial input data from IOB Virtex 4 User Guide www xilinx com 355 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources XILINX Table 8 1 ISERDES Port List and Definitions Continued Port Name Type Width Description DLYCE Input 1 Enable IDELAY increm
166. 8 summarizes the IDELAY attributes Table 7 8 IDELAY Attribute Summary IDELAY Attribute Description Value Default Value IOBDELAY TYPE Re d peat tap RUE TED DEPAUL IOBDELAY_VALUE Es theanmaltaP se rers orb 0 IOBDELAY TYPE Attribute The IOBDELAY TYPE attribute sets the type of delay used The attribute values are DEFAULT FIXED and VARIABLE When set to DEFAULT the zero hold time delay www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX ILOGIC Resources element is selected This delay element is used to guarantee non positive hold times when global clocks are used without DCMs to capture data pin to pin parameters When set to FIXED the tap delay value is fixed at the number of taps determined by the IOBDELAY VALUE attribute setting This value is preset and cannot be changed after configuration When set to VARIABLE the variable tap delay element is selected The tap delay can be incremented by setting CE 1 and INC 1 or decremented by CE 1 and INC 0 The increment decrement operation is synchronous to C the input clock signal IOBDELAY VALUE Attribute The IOBDELAY VALUE attribute specifies the initial number of tap delays The possible values are any integer from 0 to 63 The default value is zero The value of the tap delay reverts to IOBDELAY VALUE when the tap delay is reset IDELAY Timing Virtex 4 User Guide Table 7 9 shows the IDELAY switching character
167. 80 output clock provides a clock with the same frequency as the DCM s CLKFX only phase shifted by 180 Virtex 4 User Guide www xilinx com 61 UGO070 v2 0 January 4 2007 62 Chapter 2 Digital Clock Managers DCMs XILINX Status and Data Output Ports Locked Output LOCKED The LOCKED output indicates whether the DCM clock outputs are valid i e the outputs exhibit the proper frequency and phase After a reset the DCM samples several thousand clock cycles to achieve lock After the DCM achieves lock the LOCKED signal is asserted High The DCM timing parameters section of the Virtex 4 Data Sheet provides estimates for locking times To guarantee an established system clock at the end of the start up cycle the DCM can delay the completion of the device configuration process until after the DCM is locked The STARTUP WAIT attribute activates this feature The STARTUP WAIT Attribute description provides further information Until the LOCKED signal is asserted High the DCM output clocks are not valid and can exhibit glitches spikes or other spurious movement In particular the CLK2X output appears as a 1x clock with a 25 75 duty cycle Phase Shift Done Output PSDONE The phase shift done PSDONE output signal is synchronous to PSCLK At the completion of the requested phase shift PSDONE pulses High for one period of PSCLK This signal also indicates a new change to the phase shift can be initiated The PSDONE output si
168. AM Address inputs ADDR TRCKC_ADDR Time after the clock that address signals must be stable at the ADDR inputs of the block RAM 140 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Block RAM Timing Model Table 4 8 Block RAM Timing Parameters Continued Control Parameter Function Signal Description TRDCK DI Time before the clock that data must be stable at the DI inputs of the block RAM Data inputs DI TRCKD_DI Time after the clock that data must be stable at the DI inputs of the block RAM TRCCK_EN Time before the clock that the enable signal must be stable at the EN input of the block RAM Enable EN TRCKC_EN Time after the clock that the enable signal must be stable at the EN input of the block RAM TRCCK SSR Time before the clock that the synchronous set reset signal must be Synchronous age stable at the SSR input of the block RAM TRCKC SSR Set Reset Time after the clock that the synchronous set reset signal must be stable at the SSR input of the block RAM TRCCK_WEN Time before the clock that the write enable signal must be stable at the WEN input of the block RAM Write Enable WEN TRCKC_WEN Time after the clock that the write enable signal must be stable at the WEN input of the block RAM TRCCK_REGCE Time before the clock that the register enable signal must be stable at Optional Output SEGCE the REGCE input of th
169. AMB16 to UPPER and another to LOWER Connect the upper RAMB16 s CASCADEINA and CASCADEINB ports to the CASCADEOUTA and CASCADEOUTB ports of the lower RAMB16 The CASCADEOUT ports for the upper RAMB16 do not require a connection Connect the CASCADEIN ports for the lower RAMB16 to either logic High or Low The data output ports of the lower RAMB16 are not used These pins are unconnected If placing location constraints on the two RAMB16s they must be adjacent If no location constraint is specified the Xilinx ISE software will automatically manage the RAMB16 locations The address pins ADDR A B must be 15 bits wide Both read and write ports must be one bit wide Figure 4 6 shows the cascadeable block RAM Byte Write Enable The following rules should be considered when the following when using the byte write enable feature In x36 mode WE 3 0 is connected to the four user WE inputs In x18 mode WE 0 and WE 2 are connected and driven by the user WE 0 while WE 1 and WE 3 are driven by the user WE 1 In x9 x4 x2 x1 WE 3 0 are all connected to a single user WE Figure 4 8 shows a byte write enabled block RAM Additional Block RAM Primitives In addition to RAMB16 some added block RAM primitives are available for Virtex 4 designers allowing the implementation of various block RAM sizes with preset configurations Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 137 Chapter 4 Block
170. AME EDGE PIPELINED modes are new for the Virtex 4 architecture These new modes allow designers to transfer falling edge data to the rising edge domain within the ILOGIC block saving CLB and clock resources and increasing performance These modes are implemented using the DDR CLK EDGE attribute The following sections describe each of the modes in detail OPPOSITE EDGE Mode A traditional input DDR solution or OPPOSITE EDGE mode is accomplished via a single input signal driving two registers IFF1 and IFF2 in the ILOGIC Both registers are rising edge triggered The second register IFF2 receives an inverted version of the clock The result is that rising edge data is presented to the fabric via the first register output O1 and falling edge data via the second register output Q2 This structure is similar to the Virtex II and Virtex II Pro implementation Figure 7 2 shows a simplified input DDR register and the signals ports associated with OPPOSITE EDGE mode Figure 7 3 shows the timing diagram of the input DDR using the OPPOSITE EDGE mode ug070 7 02 072904 Figure 7 2 Input DDR in OPPOSITE EDGE Mode 312 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX ILOGIC Resources Q1 DOA D2A D4A D6A D8A D10A D12A Q2 D1A D3A D5A D7A D9A D11A ug070_7_03_072904 Figure 7 3 Input DDR Timing in OPPOSITE EDGE Mode SAME EDGE Mode In the SAME_EDGE mode a third register
171. ANCE CAPACITANCE VALUE PULLUP PULLDOWN KEEPER for IBUF OBUFT and IOBUF When using 3 state output OBUFT or bidirectional IOBUF buffers the output can have a weak pull up resistor a weak pull down resistor or a weak keeper circuit For input IBUF buffers the input can have either a weak pull up resistor or a weak pull down resistor This feature can be invoked by adding the following possible constraint values to the relevant net of the buffers e PULLUP e PULLDOWN e KEEPER Differential Termination Attribute The differential termination DIFF TERM attribute is designed for the Virtex 4 supported differential input I O standards It is used to turn the built in 100O differential termination on or off The allowed values for the DIFF TERM attribute are e TRUE e FALSE Default To specify the DIFF_TERM attribute set the appropriate value in the generic map VHDL or inline parameter Verilog of the instantiated IBUFDS or IBUFGDS component Please refer to the ISE Language Templates or the Virtex 4 HDL Libraries Guide for the proper syntax for instantiating this component and setting the DIFF_TERM attribute Virtex 4 I O Resource VHDL Verilog Examples The following examples are VHDL and Verilog syntaxes to declare a standard for Virtex 4 I O resources The example uses IOBUF VHDL Template Example IOBUF component declaration component IOBUF generic CAPACITANCE string DONT_CA
172. Bus Continued DO Bit Status Description DO 3 CLKFB stopped Asserted when the feedback clock is stopped CLKFB remains High or Low for one or more clock cycles The DO 3 CLKFB stopped status will assert within six CLKIN cycles after CLKFB is stopped CLKFB stopped will deassert within six CLKIN cycles when CLKFB resumes after being stopped momentarily An occasionally skipped CLKFB will not affect the DCM operation However stopping CLKFB for a long time can result in the DCM losing LOCKED When LOCKED is lost the DCM needs to be reset to resume operation DO 15 4 Not assigned When LOCKED is Low during reset or the locking process all the status signals deassert Low Dynamic Reconfiguration Ready Output DRDY The dynamic reconfiguration ready DRDY output pin provides the response to the DEN signal for the DCM s dynamic reconfiguration feature Further information on the DRDY pin is available in the dynamic reconfiguration section in the Virtex 4 Configuration Guide DCM Attributes A handful of DCM attributes govern the DCM functionality Table 2 7 summarizes all the applicable DCM attributes This section provides a detailed description of each attribute For more information on applying these attributes in UCF VHDL or Verilog code refer to the Constraints Guide at http www support xilinx com support software manuals htm CLKDV DIVIDE Attribute Virtex 4 User Guide The CLKDV DIVIDE a
173. C4VFX140 192 x 84 63 168 126 336 987 126 336 Virtex 4 User Guide www xilinx com 169 UG070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX To From Slice on Top SHIFTIN cour bam To Fabric 1 YBUSED 0 D D p B From YaMux p evourusen BYOUT I BYINVOUTUSED aviou FSMUX FXINB P FXUSED p FX FXINA gt FX YMUXUSED YMUX IDUAL PORT sone GXOR b Ex COSHIFT_REG MUX wie G4 gt D Y o LYB DS YMUX Sa Y Lp YQ gt BY p gt G4USED DYMUX A G3USED DINIT gt D NG2USED DINITO gt OOSRHIGH SHINN DSRLOW sm Rv rrv ALTDIG c ALTDIG BY DIG MUX GAND piers IG b BY c Le BYINV BYINV REVUSED XBMUX SLICEWE1 SLICEWE1USED BUSED Pisuceweousen CYMUXF 9 D gt xB gt D FSUSED SHIFTIN rs F5 mxo XMUXUSED sai ACID S s l gt XUSED FXMUX gt D E E4 DIF gt DE xe E2 Mu x gt x D mm x gt wF suse DRM R wr 2usep EINT EIINITO 9 WF 1USED LISRHIGH OSRLOW ODUAL_PORT SR_REV FFX COSHIFT_REG F CYINIT BXCIN x BX gt oe BXB Bxinv CE c Le CEB ogwvy CLK ok LoT RESET TYPE CLK B CLKINV SR gt ars jp p SR B SRINV SRFFMUX SYNC ATTR SHIFTOUTUSED CIN sor
174. CE SRLC16E CLK D Q Address CE CLK Q15 UGO70 5 12 071504 Figure 5 12 Simplified Shift Register and Cascadable Shift Register Shift Register Data Flow Shift Operation The shift operation is a single clock edge operation with an active High clock enable feature When enable is High the input D is loaded into the first bit of the shift register and each bit is shifted to the next highest bit position In a cascadable shift register configuration such as SRLC16 the last bit is shifted out on the Q15 output The bit selected by the 4 bit address appears on the Q output Dynamic Read Operation The Q output is determined by the 4 bit address Each time a new address is applied to the 4 input address pins the new bit position value is available on the Q output after the time delay to access the LUT This operation is asynchronous and independent of the clock and clock enable signals Static Read Operation If the 4 bit address is fixed the O output always uses the same bit position This mode implements any shift register length from one to 16 bits in one LUT Shift register length is N 1 where N is the input address The Q output changes synchronously with each shift operation The previous bit is shifted to the next position and appears on the Q output www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX CLB Overview Shift Register Summary A shift operation requires one clock edge
175. CM ADV X0Y6 DCM ADV X0Y7 DCM ADV XO0YS8 DCM ADV X0Y9 DCM ADV X0Y10 DCM ADV XO0Y11 XCAVFX140 20 Bottom Half DCM ADV X0YO DCM ADV X0Y1 DCM ADV X0Y2 DCM ADV X0Y3 DCM ADV X0Y4 DCM ADV X0Y5 DCM ADV X0Y6 DCM ADV X0Y7 DCM ADV XO0YS8 DCM ADV X0Y9 Top Half DCM ADV X0Y10 DCM ADV XO0Y11 DCM ADV X0Y12 DCM ADV X0Y13 DCM ADV X0Y14 DCM ADV X0Y15 DCM ADV X0Y16 DCM ADV X0Y17 DCM ADV X0Y18 DCM ADV X0Y19 Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 55 Chapter 2 Digital Clock Managers DCMs XILINX DCM Primitives Three DCM primitives are available DCM_BASE DCM PS and DCM_ADV See Figure 2 2 DCM BASE DCM ADV PSINCDEC PSEN PSCLK DADDR 6 0 DI 15 0 DWE CLKFX180 ze DEN LOCKED es DCLK PSDONE LOCKED se DO 15 0 DRDYL UGO070 2 02 080204 Figure 2 2 DCM Primitives DCM BASE Primitive The DCM BASE primitive accesses the basic frequently used DCM features and simplifies the user interface ports The clock deskew frequency synthesis and fixed phase shifting features are available to use with DCM BASE Table 2 2 lists the available ports in the DCM BASE primitive Table 2 2 DCM BASE Primitive Available Ports Port Names Clock Input CLKIN CLKFB Control and Data Input RST Clock Output CLKO CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV CLKFX CLKFX180 Status and Data Output LOCKED
176. Chapter 7 SelectIO Logic Resources describes the input and output data registers and their Double Data Rate DDR operation and the programmable input delay IDELAY Chapter 8 Advanced SelectIO Logic Resources describes the data serializer deserializer SERDES An I O tile contains two IOBs two ILOGICs and two OLOGICs Figure 6 1 shows a Virtex 4 I O tile ILOGIC OLOGIC Chapter 7 ILOGIC Chapter 7 or ISERDES Chapter 8 ug070 6 01 071104 Figure 6 1 Virtex 4 I O Tile Virtex 4 User Guide www xilinx com 219 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX SelectlO Resources Introduction All Virtex 4 FPGAs have configurable high performance SelectIO drivers and receivers supporting a wide variety of standard interfaces The robust feature set includes programmable control of output strength and slew rate and on chip termination using Digitally Controlled Impedance DCI All banks can support 3 3V I O Each IOB contains both input output and 3 state SelectIO drivers These drivers can be configured to various I O standards Differential I O uses the two IOBs grouped together in one tile e Single ended I O standards LVCMOS LVTTL HSTL SSTL GTL PCI e Differential I O standards LVDS LDT LVPECL BLVDS CSE Differential HSTL and SSTL Each Virtex 4 I O tile contains two IOBs and also two ILOGIC blocks and two OLOGIC blocks as described in Chapter 7 SelectIO Logic
177. D 5 multiply the frequency by 1 8 and the output rising edge is coincident with the input rising edge after every fifth input period or after every ninth output period Phase Shifting The DCM allows coarse and fine grained phase shifting The coarse phase shifting uses the 90 180 and 270 phases of CLKO to make CLK90 CLK180 and CLK270 clock outputs The 180 phase of CLK2X and CLKFX provide the respective CLK2X180 and CLKFX180 clock outputs There are also four modes of fine grained phase shifting fixed variable positive variable center and direct modes Fine grained phase shifting allows all DCM output clocks to be phase shifted with respect to CLKIN while maintaining the relationship between the coarse phase outputs With fixed mode a fixed fraction of phase shift can be defined during configuration and in multiples of the clock period divided by 256 Using the variable positive and variable center modes the phase can be dynamically and repetitively moved forward and backwards by 1 256 of the clock period With the www xilinx com 53 Chapter 2 Digital Clock Managers DCMs XILINX direct mode the phase can be dynamically and repetitively moved forward and backwards by the value of one DCM_TAP See the DCM Timing Parameters section in the Virtex 4 Data Sheet e Dynamic Reconfiguration There is a bus connection to the DCM to change DCM attributes without reconfiguring the rest of the device For more information see
178. DATA_ DATA_ DATA B SELECT I l A LSB lt DATA I SELECT or DATA I www xilinx com X Description Multiplexer 16 1 Device Virtex 4 Family SELECT_I 2 0 ECT or DATA I XILINX 8 9 10 11 12 13 14 15 DATA I 0 Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX Multiplexer Primitives and Verilog VHDL Examples case SELECT 3 b000 DATA MSB 3 b001 DATA MSB lt DATA I 3 b010 DATA MSB DATA I 3 b011 DATA MSB lt DATA I 3 b100 DATA MSB 3 b101 DATA MSB lt DATA I 3 b110 DATA MSB DATA I 3 b111 DATA MSB DATA I default DATA MSB lt 1 bx endcase MUXF7 instantiation MUXF7 U MUXF7 Il1 DATA MSB S SELECT I 3 DATA I 8 9 101 11 DATA I 12 13 14 15 IO DATA LSB O DATA O 2 endmodule ey Virtex 4 User Guide UG070 v2 0 January 4 2007 www xilinx com 217 Chapter 5 Configurable Logic Blocks CLBs XILINX 218 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Chapter 6 SelectIO Resources l O Tile Overview Input output characteristics and logic resources are covered in three consecutive chapters Chapter 6 SelectIO Resources describes the electrical behavior of the output drivers and input receivers and gives detailed examples of many standard interfaces
179. DY rdy 2 IDELAYCTRL 2 rst 2 RST REFCLK RDY rdy n IDELAYCTRL n T RS ug070 7 18 080104 Figure 7 18 Instantiate IDELAYCTRL with LOC Constraint Instantiating IDELAYCTRL With and Without LOC Constraints There are cases where the user instantiates an IDELAYCTRL module with a LOC constraint but also instantiates an IDELAYCTRL module without a LOC constraint In the case where an IP Core is instantiated with a non location constrained IDELAYCTRL module and also wants to instantiate an IDELAYCTRL module without a LOC constraint for another part of the design the implementation tools will perform the following Instantiate the LOC IDELAYCTRL instances as described in the section Instantiating IDELAYCTRL with Location LOC Constraints Replicate the non location constrained IDELAYCTRL instance to populate with an IDELAYCTRL instance in every clock region without a location constrained IDELAYCTRL instance in place The signals connected to the RST and REFCLK input ports of the non location constrained IDELAYCTRL instance are connected to the corresponding input ports of the replicated IDELAYCTRL instances If the RDY port of the non location constrained IDELAYCTRL instance is ignored then all the RDY signals of the replicated IDELAYCTRL instances are also ignored If the RDY port of the non location constrained IDELAYCTRL instance is connected then the RDY port of the non location constrained instance plus the RDY ports of t
180. ERDES interface type is MEMORY the latency is 1 CLKDIV cycle When it is NETWORKING the latency is 2 CLKDIV cycles ISERDES Timing Model and Parameters Table 8 4 describes the function and control signals of the ISERDES switching characteristics in the Virtex 4 Data Sheet Table 8 4 ISERDES Switching Characteristics Symbol Setup Hold for Control Lines Description TisccK_BITSLIP TiscKC_BITSLIP BITSLIP pin Setup Hold with respect to CLKDIV Trscck cx TiscKC_CE CE pin Setup Hold with respect to CLK for CE1 Trscck cx TiscKC_CE CE pin Setup Hold with respect to CLKDIV for CE2 TiscCK_DLYCE TiscKC_DLYCE DLYCE pin Setup Hold with respect to CLKDIV TisccK_DLYINC TiscKC_DLYINC DLYINC pin Setup Hold with respect to CLKDIV TISCCK_DLYRST TisCKC_DLYRST DLYRST pin Setup Hold with respect to CLKDIV Setup Hold for Data Lines Tispck p Trsckp p D pin Setup Hold with respect to CLK IOBDELAY IBUF or NONE D pin Setup Hold with respect to CLK IOBDELAY IFD or BOTH IOBDELAY TYPE DEFAULT D pin Setup Hold with respect to CLK IOBDELAY IFD or BOTH IOBDELAY TYPE FIXED IOBDELAY VALUE 0 364 www xil Virtex 4 User Guide UGO070 v2 0 January 4 2007 inx com XILINX Input Serial to Parallel Logic Resources ISERDES Table 8 4 ISERDES Switching Characteristics Continued Symbol Description TispCK_DDR TisCKD_DDR D pi
181. EV 309 S SelectIO IBUF 232 IBUFDS 233 IBUFG 232 IBUFGDS 233 IOBUF 233 IOBUFDS 234 OBUF 232 OBUFDS 233 OBUFT 232 OBUFTDS 234 Simultaneous Switching Output SSO 294 Slew Rate SLEW 235 SSTL 268 CSE Differential SSTL Class II 1 8V 279 CSE Differential SSTL2 Class II 2 5V 273 SSTL18 Class I 1 8V 276 SSTL18 Class II 1 8V 277 SSTL2 Class I 2 5V 270 SSTL2 Class II 2 5V 271 T Temperature Sensing Diode 385 TDN 385 TDP 385 Virtex 4 User Guide www xilinx com 389 UGO070 v2 0 January 4 2007
182. EW_VALUE gt By the default the slew rate for each output buffer is set to SLOW This is the default used to minimize the power bus transients when switching non critical signals Output Drive Strength Attributes For LVTTL and LVCMOS output buffers OBUF OBUFT and IOBUF the desired drive strength in mA can be specified with the DRIVE attribute The allowed values for the DRIVE attribute are e DRIVE 2 e DRIVE 4 e DRIVE 6 e DRIVE 8 e DRIVE 12 Default e DRIVE 16 e DRIVE 24 The DRIVE attribute uses the following syntax in the UCF file INST lt I O_BUFFER_INSTANTIATION_NAME gt DRIVE lt DRIVE_VALUE gt Lower Capacitance I O Attributes Virtex 4 User Guide To lower the effective input capacitance some I O resources do not have differential driver circuits LVDS_25 LVDSEXT_25 LVDS_25_DCI LVDSEXT_25_DCI ULVDS_25 and LDT_25 Using these I Os improves the signal integrity of high speed clock inputs Differential inputs and all output standards other than these are still supported by low capacitance I Os Refer to Clock Capable I O in Chapter 1 for further information The allowed values for the CAPACITANCE attribute are e DONT CARE Default www xilinx com 235 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX 236 e NORMAL e LOW The CAPACITANCE attribute uses the following syntax in the UCF file INST I O BUFFER INSTANTIATION NAME CAPACIT
183. FBYP SEL DLYRST DLYCE IFF2 i D e IFE4u a2 L5 CLKDIV CE1 LA Jck Rte CLKDIVINV CE1INV CLK m SR REV IFF2 CLKINV SR o gt _ zH SRINV REV m REVINV ug070 7 01 072904 Figure 7 1 ILOGIC Block Diagram Virtex 4 User Guide The following sections discuss the various resources within the ILOGIC blocks All connections between the ILOGIC resources are managed in Xilinx software Combinatorial Input Path The combinatorial input path is used to create a direct connection from the input driver to the FPGA fabric This path is used by software automatically when 1 There is a direct unregistered connection from input data to logic resources in the FPGA fabric 2 The pack I O register latches into IOBs is set to OFF Input DDR Overview IDDR Virtex 4 devices have dedicated registers in the ILOGIC to implement input double data rate DDR registers This feature is used by instantiating the IDDR primitive www xilinx com UGO070 v2 0 January 4 2007 311 Chapter 7 SelectlO Logic Resources XILINX There is only one clock input to the IDDR primitive Falling edge data is clocked by a locally inverted version of the input clock All clocks feeding into the I O tile are fully multiplexed i e there is no clock sharing between ILOGIC or OLOGIC blocks The IDDR primitive supports the following modes of operation e OPPOSITE EDGE mode e SAME EDGE mode e SAME EDGE PIPELINED mode The SAME EDGE and S
184. FGCE 29 BUFGCTRL 26 BUFGMUX 31 BUFGMUX VIRTEX4 33 with CE 35 BUFIO 38 BUFR 39 C CLB 167 array size by device 168 distributed RAM 173 maximum distributed RAM 168 number of flip flops 168 number of LUTs by device 168 number of slices by device 168 register latch configuration 173 slice description 168 SLICEL 167 SLICEM 167 CLK2X 61 CLKDV 61 CLKFB 58 CLKFX 61 clock capable I O 38 clock forwarding 345 clock regions 37 clock tree 36 clocking wizard 84 clocks global clock buffers 23 25 I O clock buffer 38 regional clock buffers 37 39 regions 36 resources 27 combinatorial input path 311 configuration DCM 70 CSE differential 249 HSTL Class II 253 HSTL Class II 1 8V 262 LVPECL 285 SSTL Class II 1 8V 279 SSTL2 Class II 2 5V 273 D DCI 222 defined 222 DCLK 59 DCM 53 allocation in device 55 attributes 63 67 clock deskew 53 68 clocking wizard 84 configuration 70 DCM to PMCD 101 DCM ADV 57 DCM BASE 56 DCM PS 56 design guidelines 68 deskew 72 dynamic reconfiguration 54 77 frequency synthesis 53 72 location 54 output ports 60 phase shifting 53 73 90 ports 57 timing models 88 DDR IDDR 311 ODDR 341 delay element See IDELAY 320 differential termination 282 DIFF TERM 236 282 diode temperature sensing 385 E Error Correction Code ECC 162 F FIFO 144 architecture 146 attributes 150 cascading 161 FWFT mode 148 operating modes 148 ports 147 primitive 146
185. GIC output register timing 1 2 3 4 5 i SN SF NSF VIF NL BF A Topck TOOCECK E f fF pe af D ee MM GER ees eee EN r Tocka E UA NEL UM Ww ON 1 ug070 7 26 080204 Figure 7 26 OLOGIC Output Register Timing Characteristics Clock Event 1 e Attime Toocgcy before Clock Event 1 the output clock enable signal becomes valid high at the CE input of the output register enabling the output register for incoming data e Attime Topcy before Clock Event 1 the output signal becomes valid high at the D1 input of the output register and is reflected at the Q output at time Tocko after Clock Event 1 Clock Event 4 At time Tosrcx before Clock Event 4 the SR signal configured as synchronous reset in this case becomes valid high resetting the output register and reflected at the Q output at time Trg after Clock Event 4 Virtex 4 User Guide www xilinx com 349 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources XILINX Figure 7 27 illustrates the OLOGIC ODDR register timing ug070 7 27 080204 Figure 7 27 OLOGIC ODDR Register Timing Characteristics Clock Event 1 e Attime Toocgcy before Clock Event 1 the ODDR clock enable signal becomes valid High at the OCE input of the ODDR registers enabling them for incoming data Since the OCE signal is common to all ODDR registers care must be taken to toggle this signal between t
186. GTLP I O standards Table 6 13 Allowed Attributes of the GTLP I O Standards Attributes Input Output Bidirectional IOSTANDARD GTLP and GTLP_DCI CAPACITANCE LOW NORMAL DONT_CARE HSTL High Speed Transceiver Logic The High Speed Transceiver Logic HSTL standard is a general purpose high speed 1 5V or 1 8V bus standard sponsored by IBM EIA JESD8 6 This standard has four variations or classes To support clocking high speed memory interfaces a CSE differential version of this standard was added Virtex 4 I O supports all four classes and the differential version This standard requires a differential amplifier input buffer and a push pull output buffer HSTL I HSTL_ Ill HSTL 18 HSTL IIl_18 Usage HSTL I uses Vcco 2 as a parallel termination voltage Vtr HSTL III uses Vcco asa parallel termination voltage Vyr HSTL I and HSTL III are intended to be used in unidirectional links HSTL l DCI HSTL Ill DCl HSTL DCI 18 HSTL Ill DCI 18 Usage HSTL I DCI provides on chip split thevenin termination powered from Vcco creating an equivalent parallel termination voltage Vr of Vcco 2 HSTL I DCI and HSTL III DCI are intended to be used in unidirectional links HSTL ll HSTL IV HSTL Il 18 HSTL IV 18 Usage HSTL II uses Vcco 2 as a parallel termination voltage Vy HSTL IV uses Vcco asa parallel termination voltage Vyr HSTL II and HSTL IV are intended to be used in bidirectional links HSTL ll DCI HSTL
187. H DE B WRITE DTH A 0 DTH B 0 Val Val FIRST FIRST Set Reset value for A port output Set Reset value for B port output WRITE FIRST READ FIRST or WRITE FIRST READ FIRST or id values are 1 2 4 9 18 or 36 id values are 1 2 4 9 18 or 36 The following INIT xx declarations specify the initial contents of the RAM Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 131 Chapter 4 Block RAM XILINX INIT r_00 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 01 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 02 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 03 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 04 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 05 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 06 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r 07 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT Tr 08 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT r_09 256 h00000000000000000000000000000000000000000000000000000000 00000000 INIT lr
188. HE ENTIRE RISK AS TO ITS FUNCTION AND IMPLEMENTATION IS WITH YOU YOU ACKNOWLEDGE AND AGREE THAT YOU HAVE NOT RELIED ON ANY ORAL OR WRITTEN INFORMATION OR ADVICE WHETHER GIVEN BY XILINX OR ITS AGENTS OR EMPLOYEES XILINX MAKES NO OTHER WARRANTIES WHETHER EXPRESS IMPLIED OR STATUTORY REGARDING THE SPECIFICATION INCLUDING ANY WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE TITLE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL INDIRECT EXEMPLARY SPECIAL OR INCIDENTAL DAMAGES INCLUDING ANY LOST DATA AND LOST PROFITS ARISING FROM OR RELATING TO YOUR USE OF THE SPECIFICATION EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES THE TOTAL CUMULATIVE LIABILITY OF XILINX IN CONNECTION WITH YOUR USE OF THE SPECIFICATION WHETHER IN CONTRACT OR TORT OR OTHERWISE WILL IN NO EVENT EXCEED THE AMOUNT OF FEES PAID BY YOU TO XILINX HEREUNDER FOR USE OF THE SPECIFICATION YOU ACKNOWLEDGE THAT THE FEES IF ANY REFLECT THE ALLOCATION OF RISK SET FORTH IN THIS AGREEMENT AND THAT XILINX WOULD NOT MAKE AVAILABLE THE SPECIFICATION TO YOU WITHOUT THESE LIMITATIONS OF LIABILITY The Specification is not designed or intended for use in the development of on line control equipment in hazardous environments requiring fail safe controls such as in the operation of nuclear facilities aircraft navigation or communications systems air traffic control life support or weapons systems Hi
189. IRST SRVAL 0101 ug070 4 12 071204 Figure 4 12 Block RAM Timing Diagram At time 0 the block RAM is disabled EN enable is Low Clock Event 1 Read Operation During a read operation the contents of the memory at the address on the ADDR inputs are unchanged e Tncck Appr before clock event 1 address 00 becomes valid at the ADDR inputs of the block RAM e At time Tgcck EN before clock event 1 enable is asserted High at the EN input of the block RAM enabling the memory for the READ operation that follows e At time Tncko po after clock event 1 the contents of the memory at address 00 become stable at the DO pins of the block RAM Clock Event 2 Write Operation During a write operation the content of the memory at the location specified by the address on the ADDR inputs is replaced by the value on the DI pins and is immediately reflected on the output latches in WRITE FIRST mode EN enable is High e Attime Tpgcck appr before clock event 2 address OF becomes valid at the ADDR inputs of the block RAM e At time TrpcK pr before clock event 2 data CCCC becomes valid at the DI inputs of the block RAM e At time Tacck wen before clock event 2 write enable becomes valid at the WEN following the block RAM 142 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX Block RAM Timing Model e At time Trcxo po after clock event 2 data CCCC becomes valid at the DO outputs of the block RAM
190. IT 1F 8191 7936 INIT 20 8447 8192 INIT 2F 12287 12032 INIT 30 12543 12288 INIT 3F 16383 16128 Content Initialization INITP xx INITP xx attributes define the initial contents of the memory cells corresponding to DIP DOP buses parity bits By default these memory cells are also initialized to all zeros The eight initialization attributes from INITP 00 through INITP 07 represent the memory contents of parity bits Each INITP xx is a 64 digit hex encoded bit vector with a regular INIT xx attribute behavior The same formula can be used to calculate the bit positions initialized by a particular INITP xx attribute Output Latches Initialization INIT INIT A amp INIT B The INIT single port or INIT A and INIT B dual port attributes define the output latches values after configuration The width of the INIT INIT A amp INIT B attribute is the port width as shown in Table 4 5 These attributes are hex encoded bit vectors and the default value is 0 Output Latches Synchronous Set Reset SRVAL SRVAL A amp SRVAL B Virtex 4 User Guide The SRVAL single port or SRVAL_A and SRVAL B dual port attributes define output latch values when the SSR input is asserted The width of the SRVAL SRVAL_A and SRVAL B attribute is the port width as shown in Table 4 5 These attributes are hex encoded bit vectors and the default value is 0 This attribute is not available when the optional output register attribute i
191. If this occurs an error is issued by the implementation tools OLOGIC Resources OLOGIC blocks include six storage elements shown in Figure 7 20 The top three registers TFF1 TFF2 and TFF3 are used for 3 state control The bottom three registers 340 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Virtex 4 User Guide OLOGIC Resources OFF1 OFF2 and OFF3 are used for data output Both sets of registers are functionally the same To build an edge triggered D type flip flop use the topmost register OFF1 TFF1 This register is also the only register that can be configured as a level sensitive latch The other two registers OFF2 TFF2 and OFF3 TFF3 are used to build various output DDR registers See Output DDR Overview ODDR page 343 for further discussion on output DDR The three data registers share a common clock enable OCE Similarly the three 3 state control registers share a different clock enable TCE The clock enable signals are default active High If left unconnected the clock enable pin for the storage element defaults to the active state All registers in OLOGIC have a common clock and synchronous or asynchronous set and reset SR and REV signals Table 7 1 and Table 7 2 describe the operation of SR in conjunction with REV For each storage element in the OLOGIC block the SRVAL attributes are independent Synchronous or asynchronous set reset SRTYPE can not be set
192. January 4 2007 XILINX Legacy Support Legacy Support The Virtex 4 device supports the Virtex II family and Virtex II Pro DCM primitives The mapping of Virtex II or Virtex II Pro DCM components to Virtex 4 DCM ADV components are as follows e CLKIN CLKFB PSCLK PSINDEC PSEN RST CLKO CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKFX CLKFX180 CLKDV PSDONE LOCKED of Virtex 4 primitives DCM BASE DCM PS DCM ADV map to the same corresponding pins of a Virtex II or Virtex II Pro DCM e Dynamic reconfiguration pins of Virtex 4 DCM ADV are not accessible when a Virtex II or Virtex II Pro DCM component is used except for DO 15 0 e DOJ 7 0 pins of Virtex 4 DCM ADV DCM PS components map to Status 7 0 of the Virtex II or Virtex II Pro DCMs DO 15 8 of DCM ADV DCM PS components are not available when using Virtex II or Virtex II Pro DCM components Virtex 4 User Guide www xilinx com 93 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs 94 www xilinx com XILINX Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Chapter 3 Phase Matched Clock Dividers PMCDs PMCD Summary The Phase Matched Clock Dividers PMCDs are one of the clock resources available in the Virtex 4 architecture PMCDs provide the following clock management features Virtex 4 User Guide UGO070 v2 0 January 4 2007 Phase Matched Divided Clocks The PMCDs create up to four frequency di
193. L DC voltage specifications Table 6 10 GTL DC Voltage Specifications Parameter Min Typ Max Vcco N A Veer N x Vrr 0 74 0 8 0 86 Vir 1 14 1 2 1 26 Vin Veer 0 05 0 79 0 85 z Viz Vggr 0 05 0 75 0 81 VoH VoL z 0 2 0 4 lon at Vog mA E E Io at Vor mA at 0 4V 32 Ior at Vor mA at 0 2V 40 Notes 1 N must be greater than or equal to 0 653 and less than or equal to 0 68 Table 6 11 details the allowed attributes that can also be applied to the GTL I O standards Table 6 11 Allowed Attributes of the GTL I O Standards Primitives Attributes IBUF IBUFG OBUF OBUFT IOBUF IOSTANDARD GTL and GTL DCI CAPACITANCE LOW NORMAL DONT CARE GTLP Gunning Transceiver Logic Plus The Gunning Transceiver Logic Plus or GTL standard is a high speed bus standard JESD8 3 first used by the Pentium Pro Processor This standard requires a differential amplifier input buffer and a open drain output buffer The negative terminal of the differential input buffer is referenced to the Vpgr pin Virtex 4 User Guide www xilinx com 247 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX A sample circuit illustrating a valid termination technique for GTL with external parallel termination and unconnected Vcco is shown in Figure 6 37 IOB i JOB Vqgpsi15V Vy 1 5V Veco Unconnected Rp Zo 509 Rp Zo
194. L OFFSET 12 bit See Table 4 13 Setting determines ALMOST FULL HEX condition Must be set using hexadecimal notation ALMOST EMPTY OFFSET 12 bit See Table 4 13 Setting determine ALMOST EMPTY HEX condition Must be set using hexadecimal notation FIRST WORD FALL THROUGH Boolean FALSE FALSE If TRUE during a write of the 1st word TRUE the word appears at the FIFO output without RDEN asserted DATA WIDTH Integer 4 9 18 36 36 LOC String Valid FIFO16 Sets the location of the FIFO16 location Notes 1 If FIFO16 is constrained to FIFO16_X Y then RAMB16 can not be constrained to RAMB16_X Y since the same location would be used FIFO Almost Full Empty Flag Offset Range The offset ranges for Almost Empty and Almost Full are listed in Table 4 13 Table 4 13 FIFO Almost Full Empty Flag Offset Range ALMOST EMPTY OFFSET Configuration ALMOST FULL OFFSET Standard FWFT Ak x4 5 to 4092 6 to 4093 4 to 4091 2kx9 5 to 2044 6 to 2045 4 to 2043 1kx 18 5 to 1020 6 to 1021 4 to 1019 512 x 36 5 to 508 6 to 509 4 to 507 Notes 1 ALMOST_EMPTY_OFFSET and ALMOST_FULL_OFFSET for any design must be less than the FIFO depth The Almost Full and Almost Empty offsets are usually set to a small value of less than 10 to provide a warning that the FIFO is about to reach its limits Since the full capacity of any FIFO is normally not critical most applications use the ALMOST_FULL flag not only as a warning but also as a signal to stop writing Similarly the ALMOST_EMPTY
195. L and Verilog Templates The following examples illustrate the instantiation of the BUFGCTRL module in VHDL and Verilog VHDL Template Example BUFGCTRL declaration component BUFGCTRL generic INIT OUT integer 0 PRESELECT IO boolean false PRESELECT I1 boolean false E Virtex 4 User Guide www xilinx com 43 UGO070 v2 0 January 4 2007 Chapter 1 Clock Resources XILINX port O out std_ulogic CEO in std ulogic CE1 in std ulogic I0 in std ulogic If in std ulogic IGNOREO in std ulogic IGNORE1 in std ulogic SO in std ulogic S1 in std ulogic Jr end component Example BUFGCTRL instantiation U BUFGCTRL BUFGCTRL Port map O user o CEO gt user ceO0 CE1 gt user cel IO gt user i0 Il gt user i1 IGNOREO gt user ignoreO IGNORE1 gt user ignorel SO gt user sO0 S1 gt user s1 Declaring constraints in VHDL file attribute INIT OUT integer attribute PRESELECT I0 boolean attribute PRESELECT I1 boolean attribute LOC string attribute INIT OUT of U BUFGCTRL label is 0 attribute PRESELECT IO of U BUFGCTRL attribute PRESELECT I1 of U BUFGCTRL attribute LOC of U BUFGCTRL label is label is FALSE label is FALSE f P P i BUFGCTRL_X Y where is valid integer locations of BUFGCTRL Verilog Template Example BUFGCTRL module declaration module BUFGCTRL
196. L2 Il DCI DIFF SSTL2 Il DCI IOB l 2Rypp 2Zg 1002 2Rypy 2Zg 1000 OB DIFF SSTL2 Il DCI 2Rypp 2Z9 1000 2Rypy 2Zg 1000 DIFF SSTL2 Il DCI DIFF SSTL2 Il DCI 1 0 2 04 Veco 2 5V 2Rypp 2Zo 1002 2Rypy 2Zo 1000 Veco 2 5V cco DIFF SSTL2 Il DCI 2 2Rypp 2Zg 1002 E 2Rynw 2Zg 1002 ug070 6 63 071904 Figure 6 65 Differential SSTL2 2 5V Class Il with DCI Bidirectional Termination Virtex 4 User Guide Table 6 28 lists the differential SSTL2 Class II DC voltage specifications Table 6 28 Differential SSTL2 Class Il DC Voltage Specifications Min Typ Max Veco 2 3 2 5 2 7 Input Parameters Ver Veco x 0 5 Vin DC 0 30 Veco 0 30 Vip DC 0 3 Veco 0 60 Vip AC 0 62 Veco 0 60 Vix AO 0 95 1 55 Output Parameters Vox AC 1 0 1 5 Notes 1 Vix DC specifies the allowable DC excursion of each differential input 2 3 4 www xilinx com UGO070 v2 0 January 4 2007 Vyp DC specifies the input differential voltage required for switching Vix AC indicates the voltage where the differential input signals must cross Vox AC indicates the voltage where the differential output signals must cross 275 Chapter 6 SelectlO Resources SSTL18 Class 1 8V XILINX Figure 6 66 shows a sample circuit illustrating a valid terminati
197. MB16 Verilog Template RAMB16 To incorporate this function into the design Verilog the following instance declaration needs to be placed instance in the body of the design code The instance name declaration RAMB_inst and or the port declarations within the code parenthesis can be changed to properly reference and connect this function to the design All inputs and outputs must be connected lt Cut code below this line gt RAMB16 Virtex 4 16k 2k Parity Paramatizable Block RAM Virtex 4 User Guide RAMB16 DOA REG 0 Optional output registers on A port 0 or 1 DOB REG 0 Optional output registers on B port 0 or 1 INIT A 36 h000000000 Initial values on A output port INIT B 36 h000000000 Initial values on B output port INVERT CLK DOA REG FALSE Invert clock on A port output registers TRUE or FALSE INVERT CLK DOB REG FALSE Invert clock on A port output registers TRUE or FALSE RAM EXTENSION A NONE UPPER LOWER or NONE when cascaded RAM EXTENSION B NONE UPPER LOWER or NONE when cascaded READ WIDTH A 0 Valid values are 1 2 4 9 18 or 36 READ WIDTH B 0 Valid values are 1 2 4 9 18 or 36 NO CHANGE SRVAL A 36 h000000000 SRVAL B 36 h000000000 WRITE MODE A WRITE NO CHANGE WRITI E gS o WRITI WRITI H Hw as
198. Max Notes 1 Vor and Voy for lower drive currents are sample tested 2 Per EIA JESD8 6 The value of Vppr is to be selected by the user to provide optimum noise margin in the use conditions specified by the user HSTL Class 1 8V Figure 6 49 shows a sample circuit illustrating a valid termination technique for HSTL Class I 1 8V External Termination EN IOB Turcos 108 HSTL 18 HSTL 18 Rp Zo 500 X X Vper 0 9V E E EEEE EEEE zi L DCI ud IOB IOB Veco 1 8V 2Rygp 2Zg 1000 HSTL I DCI 18 HSTL I DCI 18 gt Bg B Vper 0 9V 2Rypy 2Zo 1000 HE L ug070 6 47 071904 Figure 6 49 HSTL Class I 1 8V Termination Table 6 19 lists the HSTL Class I 1 8V DC voltage specifications Table 6 19 HSTL Class I 1 8V DC Voltage Specifications Min Typ Max Veco 17 1 8 1 9 Veer 2 0 8 0 9 1 1 Ver Veco x 0 5 Vin VREF 0 1 Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 259 Chapter 6 SelectlO Resources XILINX Table 6 19 HSTL Class 1 8V DC Voltage Specifications Continued Min Typ Max Vor 04 Tox at Voy mA 8 Io at Vor mA 8 Notes 1 Vor and Voy for lower drive currents are sample tested 2 Per EIA JESD8 6 The value of Vggp is to be selected by the user to provide optimum noise margin in the use
199. NX Control In SELECT T 25 56 4 rikbrucoeruR RAM ena Ep naa epe aa ee 214 Data Out DATA Qzi io zeize be exdendGdee Sp Reds eS Ag ge Pr P XU 214 Multiplexer Verilog VHDL Examples ssseseeeee eee 214 VHDL and Verilog Instantiation sseeeeeeeeee n 214 VHDL and Verilog Submodules 1 0 cece eee 214 Chapter 6 SelectlO Resources UO Tile Overview c bends i poke Re er ee PER a Ves di Kare 219 SelectIO Resources Introduction 0 cc cece eee eee eee 220 SelectIO Resources General Guidelines 0 cc cece eee eee 220 Virtex 4 I O Bank Rules 0 ce RII 220 BBV I O SUDDOEE ce a e etat e e a et cama gad edged nee d 221 Reference Voltage Vppp Pins 2 ee nn 221 Output Drive Source Voltage Vcco Pins eee eee 221 Virtex 4 Digitally Controlled Impedance DCI sessessueeesse 222 Introduction i4 eee dead Hea eae eee ee Rara s 222 AUDA DC PRETI mn 222 Controlled Impedance Driver Source Termination 0 0000 c eee eee 223 Controlled Impedance Driver with Half Impedance Source Termination 223 Input Termination to VCCO Single Termination 000 00 cee eee 224 Input Termination to VCCO 2 Split Termination eese 225 Driver with Termination to Vcco Single Termination sees 226 Driver with Termination to Vcco 2 Split Termination 227 DCI in Virtex 4 Hardware ssseeeeeseeeeeee tence eens
200. O CE0 CE1 IO I1 output O input CEO input CE1 input I0 input I1 input IGNORI input IGNORI input S0 input S1 parameter INIT OUT 0 parameter PRESELECT IO FALS parameter PRESELECT I1 FALS endmodule Example BUFGCTRL instantiation BUFGCTRL U BUFGCTRL O user 0o e HE Bi IGNOREO IGNORE1 SO 1 44 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX VHDL and Verilog Templates CE0 user ce0 CEl user cel IO0 user i0 Il user i1 IGNOREO user ignoreO0 IGNORE1 user ignorel S0 user s0 S1 user s1 Jus Declaring constraints in Verilog synthesis attribute INIT OUT of U BUFGCTRL is 0 synthesis attribute PRESELECT IO of U BUFGCTRL is FALSE synthesis attribute PRESELECT I1 of U BUFGCTRL is FALSE synthesis attribute LOC of U BUFGCTRL is BUFGCTRL_X Y where is valid integer locations of BUFGCTRL I Declaring Constraints in UCF File INST U BUFGCTRL INIT OUT 0 INST U BUFGCTRL PRESELECT IO FALSE INST U BUFGCTRL PRESELECT I1 FALSE INST U BUFGCTRL LOC BUFGCTRL_X Y where is valid integer locations of BUFGCTRL BUFG VHDL and Verilog Templates The following examples illustrate the instantiation of the BUFG module in VHDL and Verilog VHDL Template Example BUFG declaration component BUFG port O out st
201. OSERDES 2 1 SDR 3 State Control Serialization Timing Diagram Clock Event 1 e Attime Toscck rcp before Clock Event 1 CLK the output clock enable pin becomes valid high at the TCE input of the OSERDES enabling the output register to transmit data to the TO output Clock Event 2 e At time Tospcx r before Clock Event 2 CLKDIV data on the T1 and T2 inputs become valid e Attime Toscko ro after Clock Event 2 CLK data appears at the TO output Clock Event 3 e At time Clock Event 3 the reset signal is asserted High an asynchronous reset e Attime Tosco ro after Clock Event 3 the TQ output is asynchronously reset to zero Virtex 4 User Guide www xilinx com 381 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources XILINX OSERDES VHDL and Verilog Instantiation Templates The following examples illustrate the instantiation of the OSERDES module in VHDL and Verilog OSERDES VHDL Template Example OSERDES Component Declaration component OSERDES generic DATA RATE OQ string DDR DATA RATE TQ string DDR DATA WIDTH integer 4 INIT OQ bit 0 INIT TQ bit 0 SERDES MODE string MASTER SRVAL OQ bit 0 SRVAL TQ bit 0 TRISTATE WIDTH integer 4 Jus port OQ out std ulogic SHIFTOUT1 out std ulogic SHIFTOUT2 out std ulogic TO out std ulogic CLK in std ulogic CLKDIV in std ulogic D1 in std ulog
202. Parameters Table 5 5 shows the general slice timing parameters for a majority of the paths in Figure 5 20 Table 5 5 General Slice Timing Parameters Parameter Function Description Combinatorial Delays Tro F G inputs to X Y outputs Propagation delay from the F G inputs of the slice through the look up tables LUTS to the X Y outputs of the slice Tips F G inputs to F5 output Propagation delay from the F G inputs of the slice through the LUTs and MUXF5 to the F5 output of the slice Trpsx F G inputs to XMUX output Propagation delay from the F G inputs of the slice through the LUTs and MUXF5 to the XMUX output of the slice 190 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX CLB Slice Timing Models Table 5 5 General Slice Timing Parameters Continued Parameter Function Description Trev FyqNA FxiNB inputs to Propagation delay from the FxqNA FxiNB inputs through F6MUX to YMUX output the YMUX output of the slice Tin AFX TINBEX Fyn A FXINB inputs to FX Propagation delay from the FyIn A vA Fyne inputs through F6MUX to output the FX output of the slice Sequential Delays Tcko FF Clock CLK to XO YO Time after the clock that data is stable at the XQ YQ outputs of the outputs slice sequential elements configured as a flip flop TCKLO Latch Clock CLK to Time after the clock that data is stable at the XQ YQ outputs of the XQ Y
203. Q outputs slice sequential elements configured as a latch Setup and Hold for Slice Sequential Elements Txxck Setup time before clock edge Tciox Hold time after clock edge Tpick Tckpi BX BY Inputs Time before Clock CLK that data from the BX or BY inputs of the slice must be stable at the D input of the slice sequential elements configured as a flip flop Trxck Tckrx Fyqna F xing Input Time before Clock CLK that data from the Fyyya or Fyqyp inputs of the slice must be stable at the D input of the slice sequential elements configured as a flip flop Tceck Tckck CE input Time before Clock CLK that the CE Clock Enable input of the slice must be stable at the CE input of the slice sequential elements configured as a flip flop Tsnck TcksR SR BY inputs Time before Clock CLK that the SR Set Reset and the BY Rev inputs of the slice must be stable at the SR Rev inputs of the slice sequential elements configured as a flip flop Synchronous set reset only Set Reset TRPW Minimum Pulse Width for the SR Set Reset and BY Rev pins TRO Propagation delay for an asynchronous Set Reset of the slice sequential elements From SR BY inputs to XQ YQ outputs FTOG Toggle Frequency Maximum Frequency that a CLB flip flop can be clocked 1 Tcg Tc Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 191 Chapter 5 Configurable Logic Blocks CLBs XILINX
204. R Figure 8 4 illustrates a block diagram of a 1 10 DDR serial to parallel converter using the master and slave ISERDES modules Ports Q3 Q6 are used for the last four bits of the parallel interface on the slave ISERDES LSB to MSB If the input is differential the master ISERDES must be on the positive side of the differential input pair If the input is not differential the input buffer associated with the slave ISERDES is not available for use 360 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Input Serial to Parallel Logic Resources ISERDES SERDES_MODE MASTER Dala inp Q2 ISERDES Q3 Master Q4 Data internal 0 5 Q5 po Q6 SHIFTOUT1_SHIFTOUT2 SHIFTINI SHIFTIN2 D Qi ISERDES po Slave Data_internal 6 9 SERDES_MODE SLAVE ug070 8 03 072604 Figure 8 4 Block Diagram of ISERDES Width Expansion Guidelines for Expanding the Serial to Parallel Converter Bit Width Both ISERDES modules must be adjacent master and slave pairs Set the SERDES MODE attribute for the master ISERDES to MASTER and the slave ISERDES to SLAVE see SERDES MODE Attribute The user must connect the SHIFTIN ports of the SLAVE to the SHIFTOUT ports of the MASTER The SLAVE only uses the ports Q3 to Q6 as outputs DATA WIDTH for Master and Slave must match Verilog Instantiation Template to use Width Expansion Feature The following Verilog code uses the width expan
205. RAM XILINX The input and output data buses are represented by two buses for 9 bit width 8 1 18 bit width 16 2 and 36 bit width 32 4 configurations The ninth bit associated with each byte can store parity or error correction bits No specific function is performed on this bit The separate bus for parity bits facilitates some designs However other designs safely use a 9 bit 18 bit or 36 bit bus by merging the regular data bus with the parity bus Read write and storage operations are identical for all bits including the parity bits Some block RAM attributes can only be configured using the RAMB16 primitive e g pipeline register cascade etc See the Block RAM Attributes section Figure 4 10 shows the generic dual port block RAM primitive DIA DIPA ADDRA DOA DOPA and the corresponding signals on port B are buses RAMB16 SX SY DIA X 0 DIPA X 0 ADDRA X 0 DOA 4 0 WEA DOPA 0 ENA SSRA DIB Y 0 DIPB Y 0 ADDRBJIY 0 DOB 0 WEB DOPB 4 0 ENB SSRB ug070 4 10 071204 Figure 4 10 Dual Port Block RAM Primitive Table 4 6 lists the available dual port primitives for synthesis and simulation Table 4 6 Dual Port Block RAM Primitives Primitive Port A Width Port B Width RAMB16 S1 S1 1 1 RAMB16 S1 82 2 RAMB16 S1 S4 4 RAMBI6 S1 S9 8 1 RAMBI16 S1 S18 1642 RAMBI16 S1 536 324 4 138 www xilinx com Virtex 4 User Guide UG070 v2 0
206. RAMANCE MODE attribute to MAX RANGE to increase the FINE SHIFT RANGE Figure 2 5 illustrates using CLK90 CLK180 and CLK270 outputs assuming FINE SHIFT RANGE 10 ns 10 ns 10 ns 10 ns 10 ns For frequency 2 100 MHz period x 10 ns a wm m eA E CLKO PHASE SHIFT 0 255 covers the whole range of period CLKO 100 MHz ims For frequency between 50 100 MHz period 10 20 ns At 50 MHz use CLKO PHASE SHIFT 0 127 for the first 10 ns CLKO 50 MHz Use CLK180 with PHASE SHIFT 0 127 for the next 10 ns CLK180 50MHz ral For frequency between 25 50 MHz period 20 40 ns At 25 MHz use CLKO PHASE_SHIFT 0 63 for the first 10 ns cLko 2s mHz Use CLK90 with PHASE_SHIFT 0 63 for the next 10 ns CLK90 25 MHz C O O Use CLK180 with PHASE_SHIFT 0 63 for the next 10 ns CLK1 80 25 MHz 5 5 EE Use CLK270 with PHASE SHIFT 0 63 cLK270 25 MH for the last 10 ns Virtex 4 User Guide ug070 2 05 071204 Figure 2 5 Fixed Phase Shift Examples In variable mode the phase shift factor is changed by activating PSEN for one period of PSCLK At the PSCLK clock cycle where PSEN is activated the level of PSINCDEC input determines whether the phase shift increases or decreases A High on PSINCDEC increases the phase shift and a Low decreases the phase shift After the deskew circuit increments or decrements the signal PSDONE is asserted High for a single PSCLK cycle This all
207. RAMB16 VHDL Template RAMB16 To incorporate this function into the design VHDL following instance declaration needs to be placed in instance the architecture body of the design code The declaration RAMB16 inst and or the port declarations code after the gt assignment can be changed to properly reference and connect this function to the design All inputs and outputs must be connected Library In addition to adding the instance declaration a use declaration statement for the UNISIM v components library needs for to be added before the entity declaration This library Xilinx contains the component declarations for all Xilinx primitives primitives and points to the models that will be used for simulation Copy the following two statements and paste them before the Entity declaration unless they already exist Library UNISIM use UNISIM vcomponents all Cut code below this line and paste into the architecture body gt RAMB16 Virtex 4 16k 2k Parity Paramatizable Block RAM Virtex 4 User Guide RAMB16 inst RAMB16 generic map DOA REG gt 0 Optional output registers on the A port 0 or 1 DOB REG gt 0 Optional output registers on the B port 0 or 1 INIT A gt X 000000000 Initial values on A output port INIT B gt X 000000000 Initial values on B output port INVERT CLK DOA REG gt FALSE Invert clock on A p
208. RE DRIVE integer 25 IOSTANDARD string LVCMOS25 SLEW string SLOW 3 port O out std ulogic IO inout std ulogic I in std ulogic www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX Specific Guidelines for Virtex 4 I O Supported Standards T gt an std_ulogic Jur end component Example IOBUF instantiation U IOBUF IOBUF Port map O gt user o IO user io I user i T gt user t Js Verilog Template Example IOBUF module declaration module IOBUF O IO I T parameter CAPACITANCE DONT CARE parameter DRIVE 12 parameter IOSTANDARD LVCMOS25 parameter SLEW SLOW output O inout IO input I T tri0 GTS glbl GTS or O1 ts GTS T bufifO T1 IO I ts buf B1 O IO endmodule Example IOBUF instantiation IOBUF U IOBUF O user o IO user io I user i T user t Specific Guidelines for Virtex 4 I O Supported Standards The following sections provide an overview of the I O standards supported by all Virtex 4 devices While most Virtex 4 I O supported standards specify a range of allowed voltages this chapter records typical voltage values only Detailed information on each specification can be found on the Electronic Industry Alliance JEDEC web site at http www jedec org Virtex 4 User Guide www xilinx com 237 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX
209. RY or NETWORKINC The default mode is MEMORY It is recommended to use the Memory Interface Generator MIG when using ISERDES in Memory mode When INTERFACE TYPE is set to NETWORKING the Bitslip sub module is available and the OCLK port is unused When set to MEMORY the Bitslip sub module is not available and the OCLK port can be used Figure 8 3 illustrates the ISERDES internal connections when in Memory mode www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX Input Serial to Parallel Logic Resources ISERDES CLK T OCLK CLKDIV i Figure 8 3 IOBDELAY Attribute The IOBDEL AY attribute chooses the paths combinatorial or registered where the delay through the delay element is applied The possible values for this attribute are NONE default IBUF IFD and BOTH Table 8 3 summarizes the various output paths used for each attribute value I Q3 Q4 ug070 8 17 110906 Internal Connections of ISERDES When in Memory Mode Table 8 3 IOBDELAY Attribute Value IOBDELAY Delay Element Applied on Delay Element Applied on Registered Value Combinatorial Output Path O Output Path Q1 Q6 NONE No No IBUF Yes No IFD No Yes BOTH Yes Yes Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 359 Chapter 8 Advanced SelectlO Logic Resources XILINX NUM CE Attribute The NUM CE attribute defin
210. Registers SRLs Primitives and Verilog VHDL Example Q15 SRLC16 Q15 SRLC16 OUT 40 bit SRL 9449 OUT 40 bit SRL Q15 SRLC16 Q15 SRLC16 UGO070 5 32 071504 Figure 5 32 40 bit Static Length Shift Register VHDL and Verilog Instantiation VHDL and Verilog instantiation templates are available for all primitives and submodules In VHDL each template has a component declaration section and an architecture section Each part of the template should be inserted within the VHDL design file The port map of the architecture section should include the design signal names The ShiftRegister C x with x 16 32 or 64 templates are cascadable modules and instantiate the corresponding SRLCXE primitive 16 or submodule 32 or 64 The ShiftRegister 16 template can be used to instantiate an SRL16 primitive VHDL and Verilog Templates In template nomenclature the number indicates the number of bits for example SHIFT REGISTER 16 is the template for the 16 bit shift register A C extension means the template is cascadable The following are templates for primitives e SHIFT REGISTER 16 e SHIFT REGISTER C 16 The following are templates for submodules e SHIFT REGISTER C 32 submodule SRLC32E SUBM e SHIFT REGISTER C 64 submodule SRLC64E SUBM The corresponding submodules have to be synthesized with the design Virtex 4 User Guide UGO070 v2 0 January 4 2007 www x
211. Resources Figure 6 2 shows the basic IOB and its connections to the internal logic and the device Pad DIFFO_IN PAD DIFFO_OUT I JY Pibour oL I 2 1 OUTBUF INBUF DIFFI IN L gt ug070_6_02_071904 Figure 6 2 Basic IOB Diagram Each IOB has a direct connection to an ILOGIC OLOGIC pair containing the input and output logic resources for data and 3 state control for the IOB When using multiple clocks in Virtex 4 I O tiles the input clocks to the two ILOGIC blocks and the two OLOGIC blocks are not shared Both ILOGIC and OLOGIC can be configured as ISERDES and OSERDES respectively as described in Chapter 8 Advanced SelectIO Logic Resources SelectlO Resources General Guidelines This section summarizes the general guidelines to be considered when designing with the Virtex 4 SelectIO resources Virtex 4 I O Bank Rules The number of banks available in Virtex 4 devices is not limited to eight as in previous Xilinx architectures In Virtex 4 devices with some exceptions in the center column an I O bank consists of 64 IOBs 32 CLBs and two clock regions As a result the number of banks 220 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX SelectlO Resources General Guidelines depends upon the device size In the Virtex 4 Overview the total number of I O banks is listed by device type The XC4VLX25 has 10 usable I O banks and one configuration bank Figure 6 3
212. SCLK CLKFX180 DADDR 6 0 LOCKED DO 15 0 UGO70 2 13 071204 Figure 2 13 Clock Switching Between Two DCMs VHDL and Verilog Templates and the Clocking Wizard VHDL and Verilog instantiation templates are available in the Libraries Guide for all primitives In addition VHDL and Verilog files are generated by the Clocking Wizard in the ISE software The Clocking Wizard sets appropriate DCM attributes input output clocks and buffers for general use cases The Clocking Wizard is accessed using the Xilinx ISE software in the Project Navigator Refer to the Xilinx Software Manuals for more information on Xilinx ISE software 84 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX VHDL and Verilog Templates and the Clocking Wizard 1 From the Project Navigator menu select Project gt New Source The New Source window appears Enter a file name and select IP CoreGen and Architecture Wizard Click Next The Select Core Type window appears Select Clocking gt Single DCM ADV click next The New Source Information window appears Click Finish The Xilinx Fan Wizard starts 4 to Figure 2 18 show the settings available in the Clocking Wizard 1 2 14 oe the ae sting for the DCM After choosing the Advanced button the endow shown i ink 5 provides the advanced setting choices The windows in L 6 and Figure 2 f sliow the settings for the global buffers using the previously elected DCM Soc
213. TSLIP ENABLE string FALSE TRUE FALSE DATA RATE string DDR SDR DDR DATA WIDTH integer 4 2 3 4 5 6 7 8 10 INTERFACE TYPE string MEMORY MEMORY NETWORKING IOBDELAY string NONE NONE IBUF IFD BOTH IOBDELAY TYPE string DEFAULT DEFAULT FIXED VARIABLE IOBDELAY VALUE integer 0 0 to 63 NUM CE integer 2 1 2 SERDES MODE string MASTER MASTER SLAVE port O out STD LOGIC O1 out STD LOGIC Q2 out STD LOGIC Q3 out STD LOGIC Q4 out STD LOGIC 05 out STD LOGIC Q6 out STD LOGIC www xilinx com 367 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources XILINX SHIFTOUT1 SHIFTOUT2 BITSLIP CE1 CE2 out STD_LOGIC out STD_LOGIC in STD_LOGIC in STD_LOGIC in STD_LOGIC CLK in STD_LOGIC CLKDIV in STD_LOGIC D in STD_LOGIC DLYCE in STD LOGIC DLYINC in STD LOGIC DLYRST in STD LOGIC OCLK in STD LOGIC REV in STD LOGIC SHIFTIN1 in STD LOGIC SHIFTIN2 in STD LOGIC SR in STD LOGIC Ja end component at at at at at at at at at generic map Component Attribute specification for ISERDES should be placed after architecture declaration before the begin keyword tribu tribu tribu tribu tribu tribu tribu tribu tribu BITSLIP_ENABLE string DATA_RATE string DATA WIDTH integer INTERFACE TYPE string IOBDELAY s
214. Termination iOB Vaz 1 5V Vat 1 5V Dog HSTL_IV HSTL_IV Rp Zg 502 Rp Zg 502 i IED Dj Vngr 0 9V L DCI IOB IOB Rypp Zg 509 Rypp Zo 502 HSTL_IV_DCI HSTL_IV_DCI D1 0Q 2 _X Veer 0 9V ug070 6 45 071904 Figure 6 47 HSTL Class IV Unidirectional Termination Virtex 4 User Guide www xilinx com 257 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Figure 6 48 shows a sample circuit illustrating a valid bidirectional termination technique for HSTL Class IV External Termination O6 Vir 1 5V Var 1 5V qug HSTL_IV HSTL_IV Rp Z 502 Rp Zg 502 n QA x Vper 0 9V Vper 0 9V l DCI IOB IOB Rypp Zo 502 Rygp Zo 502 HSTEJV BOI HSTL IV DCI Vper 0 9V ug070_6_46_071904 Figure 6 48 HSTL Class IV Bidirectional Termination Table 6 18 lists the HSTL Class IV DC voltage specifications Table 6 18 HSTL Class IV DC Voltage Specifications Min Typ Max Vcco 1 40 1 50 1 60 Vrer 2 0 90 Ver Vcco S Vin VREF 0 1 Vor 0 4 Ion at Von mA 8 m 258 www Xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Table 6 18 HSTL Class IV DC Voltage Specifications Continued Ior at Vor mA Min 48 Typ
215. Trcko AFULL 2 Clock to almost full AFULL Time after WRCLK that the Almost Full signal is output stable at the ALMOSTFULL outputs of the FIFO Trcko EMPTY Clock to empty output EMPTY Time after RDCLK that the Empty signal is stable at the EMPTY outputs of the FIFO Trcko FULL Clock to full output FULL Time after WRCLK that the Full signal is stable at the FULL outputs of the FIFO TECKO_RDERR Clock to read error RDERR Time after RDCLK that the Read Error signal is stable output at the RDERR outputs of the FIFO TECKO_WRERR Clock to write error WRERR Time after WRCLK that the Write Error signal is stable output at the WRERR outputs of the FIFO Treko RDCOUNT Clock to read pointer RDCOUNT Time after RDCLK that the Read pointer signal is output stable at the RDCOUNT outputs of the FIFO TgcKO_WRCOUNT Clock to write pointer WRCOUNT Time after WRCLK that the Write pointer signal is output stable at the WRCOUNT outputs of the FIFO Reset to Out Trco AEMPTY Reset to almost empty AEMPTY Time after reset that the Almost Empty signal is stable output at the ALMOSTEMPTY outputs of the FIFO Trco AFULL Reset to almost full AFULL Time after reset that the Almost Full signal is stable at output the ALMOSTFULL outputs of the FIFO Trco EMPTY Reset to empty output EMPTY Time after reset that the Empty signal is stable at the EMPTY outputs of the FIFO Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 153
216. VCMOS Bidirectional Termination Note V is any voltage from OV to Veco ug070 6 28 071904 Table 6 3 details the allowed attributes that can be applied to the LVCMOS33 and LVCMOS25 I O standards Table 6 3 Allowed Attributes for the LVCMOS33 and LVCMOS25 I O Standards Primitives Attributes IBUF IBUFG OBUF OBUFT IOBUF IOSTANDARD LVCMOS33 LVCMOS33 LVCMOS33 LVCMOS25 LVCMOS25 LVCMOS25 CAPACITANCE LOW NORMAL DONT CARE DRIVE UNUSED 2 4 6 8 12 16 24 2 4 6 8 12 16 24 SLEW UNUSED FAST SLOW FAST SLOW Table 6 4 details the allowed attributes that can be applied to the LVCMOS18 and LVCMOS15 I O standards Table 6 4 Allowed Attributes for the LVCMOS18 and LVCMOS15 I O Standard Primitives Attributes IBUF IBUFG OBUF OBUFT IOBUF IOSTANDARD LVCMOS18 LVCMOS18 LVCMOS18 LVCMOS15 LVCMOS15 LVCMOS15 CAPACITANCE LOW NORMAL DONT CARE Virtex 4 User Guide www xilinx com 241 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Table 6 4 Allowed Attributes for the LVCMOS18 and LVCMOS15 I O Standard Primitives Attributes IBUF IBUFG OBUF OBUFT IOBUF DRIVE UNUSED 2 4 6 8 12 16 2 4 6 8 12 16 SLEW UNUSED FAST SLOW FAST SLOW LVDCI Low Voltage Digitally Controlled Impedance Using these I O buffers configures the outputs as controlled impedance drivers The receiver of LVDCI i
217. Virtex 4 DO Bidirectional Virtex 4 Virtex 4 abel Del Reference Resistor VRN VRP R Zo Recommended Zo Notes 1 Zg is the recommended PCB trace impedance ug070 6 14 071904 Figure 6 14 HSTL DCI Usage Examples Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 229 Chapter 6 SelectlO Resources XILINX SSTL2 I or SSTL18_l SSTL2 Il or SSTL18 Il Vcco 2 Vcco 2 St R R Conventional Z gt hi gt eee Vcco 2 DCI Transmit R Conventional Z Receive Q zo gt Vcco 2 Veco Conventional Transmit DCI Receive V cco 1 250 di DCI Transmit Mz DCI Receive e Virtex 4 Virtex 4 DCI pc Bidirectional 250 Virtex 4 DCI E Roma ares Reference Resistor VRN VRP R Zo VRN VRP R Zo Recommended 50Q 50Q Zo Notes 1 The SSTL compatible 25Q series resistor is accounted for in the DCI buffer and it is not DCI controlled 2 Zo is the recommended PCB trace impedance ug070 6 15 071904 Figure 6 15 SSTL DCI Usage Examples 230 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX Virtex 4 SelectlO Primitives LVDS 25 DCI and LVDSEXT 25 DCI Receiver Conventional Virtex 4 Conventional Transmit DCI Receive Virtex4 LVDS DCI Reference Resistor VRN VRP R Zo Recommended Zo NOTE Only LVDS25 DCI is supported Voco 2
218. Virtex 4 SSO Calculator can be downloaded from the Xilinx web site at http www xilinx com bvdocs userguides ug070 zip Other SSO Assumptions LVDCI and HSLVDCI Drivers All limits for controlled impedance DCI I O standards assume a 50Q output impedance For higher reference resistor RR values less drive strength is needed and the SSO limit increases linearly To calculate the SSO limit for a controlled impedance driver with different reference resistors the following formula is used User RH 500 Q SSO Limit for User SSO 306 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Simultaneous Switching Output Limits Example The designer uses LVDCI 18 driver with 65 Q reference resistors The LVDCI 18 SSO limit for 50 O impedance is first taken from Table 6 42 The SSO limit for LVDCI 18 at 50 Q is 11 SSO per Vcco GND pin pair Therefore the SSO limit for LVDCI 18 at 65 Q is SSO Limit LVDCI 18 at 65 Q 65 Q 50 Q x 11 143 Bank O Bank 0 in all devices contains only configuration and dedicated signals Since there is no user I O in Bank 0 no SSO analysis is necessary for this bank Virtex 4 User Guide www xilinx com 307 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX 308 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Chapter 7 SelectIO Logic Resources Introduction This chapter describes the logic directly be
219. Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX XILINX Xilinx is disclosing this Specification to you solely for use in the development of designs to operate on Xilinx FPGAs Except as stated herein none of the Specification may be copied reproduced distributed republished downloaded displayed posted or transmitted in any form or by any means including but not limited to electronic mechanical photocopying recording or otherwise without the prior written consent of Xilinx Any unauthorized use of this Specification may violate copyright laws trademark laws the laws of privacy and publicity and communications regulations and statutes Xilinx does not assume any liability arising out of the application or use of the Specification nor does Xilinx convey any license under its patents copyrights or any rights of others You are responsible for obtaining any rights you may require for your use or implementation of the Specification Xilinx reserves the right to make changes at any time to the Specification as deemed desirable in the sole discretion of Xilinx Xilinx assumes no obligation to correct any errors contained herein or to advise you of any correction if such be made Xilinx will not assume any liability for the accuracy or correctness of any engineering or technical support or assistance provided to you in connection with the Specification THE SPECIFICATION IS PROVIDED AS IS WITH ALL FAULTS AND T
220. Voltage Specifications ug070 6 49 071904 UGO070 v2 0 January 4 2007 Min Typ Max Vcco 1 7 1 8 1 9 Vrer 2 ES 0 9 Var Veco x 0 5 Vin Veer 0 1 Vit Vrer 0 1 Von Veco 0 4 Vor 0 4 Tox at Voy mA 16 www xilinx com 261 Chapter 6 SelectlO Resources XILINX Table 6 20 HSTL Class II 1 8V DC Voltage Specifications Continued Min Typ Max Ior at Vor mA 16 Notes 1 Vor and Voy for lower drive currents are sample tested 2 Per EIA JESD8 6 The value of Vggp is to be selected by the user to provide optimum noise margin in the use conditions specified by the user Complementary Single Ended CSE Differential HSTL Class II 1 8V Figure 6 52 shows a sample circuit illustrating a valid termination technique for differential HSTL Class II 1 8V with unidirectional termination External Termination V 0 9V V 0 9V ioe T ir IOB DIFF_HSTL_II_18 500 500 m SEI x DIFF HSTL Il 18 DIFF HSTL Il 18 ug070 6 50 71904 Figure 6 52 Differential HSTL 1 8V Class Il Unidirectional Termination 262 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Figure 6 53 shows a sample circuit illustrating a valid termination technique for differential HSTL Class II 1 8V with unidirectional DCI term
221. Voy are different Complementary Single Ended CSE Differential SSTL Class ll 1 8V Figure 6 69 shows a sample circuit illustrating a valid termination technique for differential SSTL Class II 1 8V with unidirectional termination External Termination Vr 0 9V V r 0 9V DIFF_SSTL18_ll DIFF_SSTL18_ll 509 50Q Dq C zo P3 ug070 6 67 071904 Figure 6 69 Differential SSTL 1 8V Class II Unidirectional Termination Virtex 4 User Guide www xilinx com 279 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Figure 6 70 shows a sample circuit illustrating a valid termination technique for CSE differential SSTL Class II 1 8V with unidirectional DCI termination DCI IOB OB Veco 1 8V Voco 1 8V DIFF SSTL18 Il DCI 2Rypp 2Zg 1000 2Rypp 2Zg 1000 D3 0 2 D4q 4 Ry 200 2Rypy 2Zg 1000 2Aypn 7229 1000 pier ssi 18 I DCI e Veco 1 8V Voco 1 8V DCI DIFF SSTL18 Il DC i 2Rypp 2Zg 1000 2Rypp 2Zg 1000 D1 0 2 P3 4 2Rypy 2Zg 1000 i 2Rypy 2Zg 1000 Ro 200 E VENTUM VRN 40 ug070 6 68 071904 Figure 6 70 Differential SSTL 1 8V Class II Unidirectional DCI Termination Figure 6 71 shows a sample circuit illustrating a valid termination technique for CSE differential SSTL Class II 1 8V with bidirectional termination External Termination
222. When RDY port is connected an AND gate of width equal to the number of clock regions is instantiated and the RDY output ports from the instantiated and replicated IDELAYCTRL instances are connected to the inputs of the AND gate The tools assign the signal name connected to the RDY port of the instantiated IDELAYCTRL instance to the output of the AND gate The VHDL and Verilog use models for instantiating an IDELAYCTRL primitive without LOC constraints with the RDY port connected are provided VHDL Use Model Only one instance of IDELAYCTRL primitive is instantiated The RDY port is connected dlyctrl IDELAYCTRL port map Virtex 4 User Guide www xilinx com 333 UGO070 v2 0 January 4 2007 334 Chapter 7 SelectlO Logic Resources XILINX RDY rdy REFCLK refclk RST gt rst Verilog Use Model Only one instance of IDELAYCTRL primitive is instantiated The RDY port is connected IDELAYCTRL dlyctrl RDY rdy REFCLK refclk RST rst The resulting circuitry after instantiating the IDELAYCTRL components is illustrated in Figure 7 17 Instantiated by user REFCLK REFCLK RDY IDELAYCTRL RST RST REFCLK RDY RDY IDELAYCTRL RST Replicated for all IDELAYCTRL sites REFCLK RDY i IDELAYCTRL Auto generated by mapper tool ug070_7_17_080104 Figure 7 17 Instantiate IDELAYCTRL Without LOC Constraints RDY Connected Instantiating IDELA
223. YCTRL REF PRECISION to guarantee a specified IDELAY resolution TIDELAYRESOLUTION REFCLK can be supplied directly from a user supplied source or from the DCM and must be routed on a global clock buffer All valid M amp D configurations are supported Use the DCM Wizard to determine the correct settings in order to create the 200 MHz reference clock RDY Ready The ready RDY signal indicates when the IDELAY modules in the specific region are calibrated The RDY signal is deasserted if REFCLK is held High or Low for one clock period or more If RDY is deasserted Low the IDELAYCTRL module must be reset The implementation tools allow RDY to be unconnected ignored Figure 7 14 illustrates the timing relationship between RDY and RST IDELAYCTRL Timing Table 7 10 shows the IDELAYCTRL switching characteristics Table 7 10 IDELAYCTRL Switching Characteristics Symbol Description FIDELAYCTRL REF REFCLK frequency IDELAYCTRL REF PRECISION REFCLK precision TipELAYCTRL RPW Reset pulse width TIDELAYCTRLCO_RDY Reset Startup to Ready for IDELAYCTRL www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX ILOGIC Resources 1 2 RST TipELAYCTRL RPW pup TipEL AYCTRLCO RDY ug070 7 14 080104 Figure 7 14 Timing Relationship Between RST and RDY RST Event 1 e AtRST Event 1 the RST pin is asserted RST Event 2
224. YCTRL with Location LOC Constraints The most efficient way to use the IDELAYCTRL module is to define and lock down the placement of every IDELAYCTRL instance used in a design This is done by instantiating the IDELAYCTRL instances with location LOC constraints The user must define and lock placement of all ISERDES and IDELAY components using the delay element IOBDELAY TYPE attribute set to FIXED or VARIABLE Once completed IDELAYCTRL sites can be chosen and LOC constraints assigned Xilinx strongly recommends using IDELAYCTRL with a LOC constraint Location Constraints Each IDELAYCTRL module has XY location coordinates X row Y column To constrain placement IDELAYCTRL instances can have LOC properties attached to them The naming convention for IDELAYCTRL placement coordinates is different from the convention used in naming CLB locations This allows LOC properties to transfer easily from array to array www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX ILOGIC Resources There are two methods of attaching LOC properties to IDELAYCTRL instances 1 Insert LOC constraints in a UCF file 2 Embed LOC constraints directly into HDL design files Inserting LOC Constraints in a UCF File The following syntax is used for inserting LOC constraints in a UCF file INST instance name LOC IDELAYCTRL_X Y Embedding LOC Constraints Directly into HDL Design Files The following syntax is used to embe
225. ach slice set and reset can be synchronous or asynchronous Virtex 4 devices can set INITO and INIT1 independent of SRHIGH and SRLOW 172 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX CLB Overview LUT G Output Attribute INIT1 INITO SRHIGH BY Cc d SRLOW FFX LUT F Output i xQ CEC B Attribute INIT1 CLK r5 INITO 7 SRHIGH SR Cc SRLOW Reset Type BX mH SYNC ASYNC ug070 5 04 071504 Figure 5 4 Register Latch Configuration in a Slice The configuration options for the set and reset functionality of a register or a latch are as follows No set or reset Synchronous set Synchronous reset Synchronous set and reset Asynchronous set preset Asynchronous reset clear Asynchronous set and reset preset and clear Distributed RAM and Memory Available in SLICEM only Multiple left hand LUTs in SLICEMs can be combined in various ways to store larger amounts of data The function generators LUTs in SLICEM can be implemented as a 16 x 1 bit synchronous RAM resource called a distributed RAM element RAM elements are configurable within a CLB to implement the following Single Port 16 x 4 bit RAM Single Port 32 x 2 bit RAM Single Port 64 x 1 bit RAM Dual Port 16 x 2 bit RAM Distributed RAM modules are synchronous write resources A synchronous read can be implemented with a
226. ad port does not affect this operation Additional Block RAM Features in Virtex 4 Devices Optional Output Registers The optional output registers improve design performance by eliminating routing delay to the CLB flip flops for pipelined operation These output registers have programmable clock inversion as in CLB flip flops An independent clock enable input is provided for these output registers As a result the output data registers hold the value independent of the input register operation Figure 4 5 shows the optional output register 116 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Additional Block RAM Features in Virtex 4 Devices Address Register Memory D Q D Q DI Array Latches Register M common to both ports Write Read Latch JL Strobe Strobe JL Enable L WE Optional EN Control Engine Inverter e CLK Optional Inverter configurable Options UG070_4_05_071204 Figure 4 5 Block RAM Logic Diagram One Port Shown Independent Read and Write Port Width Selection All block RAM ports have control over data width and address depth aspect ratio Virtex 4 devices extend this flexibility to each individual port where Read and Write can be configured with different data widths See Block RAM Attributes page 124 If the Read port width differs from the Write port width and is configured in WRITE_FIRST mode then DO shows valid new data on
227. alent Vcco QND Pairs Sparse Chevron Since ground pins and Vcco pins are connected to common structures inside the package the number of effective Vcco GND pin pairs in a bank can differ from the number of physical Vcco GND pin pairs Table 6 41 shows the number of equivalent Veco GND pin pairs in each bank of each sparse chevron package Table 6 41 Equivalent Vcco GND Pairs per Bank Sparse Chevron Bank Number 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Package Virtex 4 LX Family FF1148 4 8 8 2 2 9 9 9 9 9 9 9 9 8 8 nee FF1513 3 14 14 2 2 10 9 9 10 9 10 10 9 9 9 9 9 Virtex 4 SX Family FF1148 4 8 8 2 2 9 9 9 9 9 9 9 9 8 8 Virtex 4 FX Family FF672 2 2 2 2 2 8 8 8 8 2 i ce a Sem Eum ee ee FF1152 4 2 2 2 2 9 9 9 9 8 8 8 8 Beds Gees eel Seb FF1517 3 8 8 2 2 9 9 9 8 9 9 9 9 9 9 FF1704 4 8 8 2 2 9 9 9 10 10 10 10 10 9 9 9 9 Notes 1 These numbers are based on the pr files and device pinout Most of the limitations are based on the availability of GND pins in the vicinity of the bank There are a few instances where the limitation is due to Vcco pins 2 Bank 0 in all devices contains no user I O Therefore SSO analysis is unnecessary for Bank 0 296 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 20
228. ame top bottom half of the device A DCM can drive parallel PMCDs in the same group of two It is not advisable to drive parallel PMCDs with DCMs in different groups of two on the same top bottom half because there can be significant skew between PMCD outputs This skew is caused by the skew between inputs of PMCDs in different groups BUFGCTRL to PMCD Virtex 4 User Guide Any BUFGCTRL can drive any Virtex 4 PMCD However only up to eight dedicated global clock routing resources exist in a particular clock region Therefore access to PMCD inputs via a BUFGCTRL is limited to eight unique signals Other resources in the clock region will compete for the eight global clock tracks www xilinx com 101 UGO070 v2 0 January 4 2007 Chapter 3 Phase Matched Clock Dividers PMCDs XILINX PMCD to BUFGCTRL A PMCD can drive any BUFGCTRL in the same top bottom half of the chip PMCD to PMCD A dedicated local connection exists from the CLKA1D8 output of each PMCD to the CLKA input of any other PMCD within the same tile group of two Application Examples The Virtex 4 PMCD can be used in a variety of creative and useful applications The following examples show some of the common applications DCM and a Single PMCD A PMCD can be connected to a DCM to further divide a DCM clock Figure 3 7 illustrates this example Note the following guidelines e The DCM feedback CLKFB must be driven by the same frequency as CLKIN for 1X f
229. amic Reconfiguration Ready Output DRDY www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX DCM Attributes usus a nena 63 CLKDV DIVIDE Attribute lesse RIRs 63 CLKFX MULTIPLY and CLKFX DIVIDE Attribute nannaa 0 00 c cece 64 CLKIN PERIOD Attribute 2 0 0 0 I e 64 CLKIN DIVIDE BY 2 Attribute isissseeeeeeee RI e 64 CLKOUT PHASE SHIFT Attribute 00 0 0 ccc cent eee 64 CLK FEEDBACK Attribute sis veekesw e eR e REC Ex ad 65 DESKEW ADJUST Attribute sssssseeeseeee cece nee han 65 DFS FREQUENCY MODE Attribute 0 0 00000 ccc cence eens 65 DLL FREQUENCY MODE Attribute anaana anaana cece ene eee 65 DUTY CYCLE CORRECTION Attribute 2 0 0 0 0000 c ccc cece eens 65 DCM_PERFORMANCE_MODE Attribute 0 000 00 0000 cc cece ee 66 FACTORY JF Attribute llle 66 PHASE SHIFT Attribute 2 0 0 0 cc cece ccc hh hh hh ha aaa 66 STARTUP WAIT Attribute 20 0 0 cee e 66 DCM Design Guidelines is 5052s cen dip ples rd IR ERES qu e Re et eines 68 Clock DeskeW sess attese Dro e p EE ANO dese bed ease doses 68 Clock Deskew Operation secet RR rt ere er eR herd 68 Input Clock Requirements sessi iai aedi E cette eens 69 Input Clock Changes 2 2 exe ma dota ile Sealand r queer ene wks e edite wee 69 Output Clocks pee De pese Dat d p eem eee eee td ded odes 70 DCM During Configuration and Startup 6 6 cee eee ee 70 Deskew Adjust es diuidi PUER ait i
230. an be configured in any aspect ratio from 16Kx1 8Kx2 to 512x36 and the two ports are independent even in this regard The memory content can be defined or cleared by the configuration bitstream During a write operation the data output can either reflect the new data being written or the previous data now being overwritten or the output can remain unchanged New Virtex 4 enhancements of the basic block RAM include The user can invoke a pipeline register at the data read output still inside the block RAM This allows a higher clock rate at the cost of one additional clock period latency Two adjacent block RAMs can be combined to one deeper 32Kx1 memory without any external logic or speed loss Ports 18 or 36 bits wide can have individual write enable per byte This feature is used for interfacing to an on chip PPC405 microprocessor Each block RAM contains optional address sequencing and control circuitry to operate as a built in Multi rate FIFO memory The FIFO can be 4K deep and 4 bits wide or 2Kx9 1Kx18 or 512x36 Write and read ports have identical width The two free running clocks can have completely unrelated frequencies asynchronous relative to each other Operation is controlled by the read and write enable inputs Full and Empty outputs signal the extreme conditions without a possibility of errors or glitches Programmable Almost Full and Almost Empty outputs can be used for warning to simplify the external contro
231. and undershoot It is also acceptable to combine both methods When Veco is lowered to 3 0V it is not necessary to adjust the reference resistors VRP and VRN The VRP and VRN values should always be the same as the board trace impedance www xilinx com 293 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Summary Virtex 4 devices support 3 3V I O standards LVTTL LVCMOS33 LVDCI33 PCI33 66 and PCI X when the following guidelines are met e Keep signal overshoot and undershoot within the absolute maximum FPGA device specifications Source termination using LVDCI 33 Slow slew rate and or reduced drive current Voltage regulation at 3 0V External high speed bus switches e The absolute maximum junction temperature Ty is 125 C for 3 3V I O operation Simultaneous Switching Output Limits 294 When multiple output drivers change state at the same time power supply disturbance occurs These disturbances can cause undesired transient behavior in output drivers input receivers or in internal logic These disturbances are often referred to as Simultaneous Switching Output SSO noise The SSO limits govern the number and type of I O output drivers that can be switched simultaneously while maintaining a safe level of SSO noise The Virtex 4 SSO limits are divided into two categories Sparce Chevron SC and Non Sparse Chevron NSC corresponding to package pinout style SSO limits for SC packa
232. are e RAM 16S e RAM 325 e RAM 64S The dual port templates are e RAM 16D Templates for the RAM 165 module are provided in VHDL and Verilog code as examples VHDL Template Module RAM 16S Description VHDL instantiation template Distributed RAM Single Port 16 x 1 E can be used also for RAM16X1S 1 Device Virtex 4 Family Components Declarations 204 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX CLB Primitives and Verilog VHDL Examples component RAM16X1S generic INIT bit vector X 0000 port D in std logic WE in std logic WCLK in std logic AO in std_logic Al in std_logic A2 in std_logic A3 in std_logic 0 out std_logic end component Architecture section Attributes for RAM initialization 0 by default attribute INIT string attribute INIT of U RAM16X1S label is 0000 Distributed RAM Instantiation U RAM16X1S RAM16X1S port map D gt insert input signal WE gt insert Write Enable signal WCLK gt insert Write Clock signal AO gt insert Address 0 signal Al gt insert Address 1 signal A2 gt insert Address 2 signal A3 gt insert Address 3 signal O gt insert output signal Verilog Template Module RAM 16S Ty Description Verilog instantiation template Distributed RAM Single Port 16 x 1 can
233. are described in this chapter All timing parameters reported in the Virtex 4 Data Sheet are associated with slices and configurable logic blocks CLBs The following sections correspond to specific switching characteristics sections in the Virtex 4 Data Sheet e General Slice Timing Model and Parameters CLB Switching Characteristics e Slice Distributed RAM Timing Model and Parameters Available in SLICEM only CLB Distributed RAM Switching Characteristics e Slice SRL Timing Model and Parameters Available in SLICEM only CLB SRL Switching Characteristics e Slice Carry Chain Timing Model and Parameters CLB Application Switching Characteristics www xilinx com 189 UGO070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX General Slice Timing Model and Parameters A simplified Virtex 4 slice is shown in Figure 5 20 Some elements of the Virtex 4 slice are omitted for clarity Only the elements relevant to the timing paths described in this section are shown Lo FX FXINA gt MUXFX FXINB C gt cy LUT a Ya CO FF LAT CHE mm D inputs gt BY CF gt e Lo F5 Lo x LUT ir D Q Lo XQ inputs gt FF LAT BX gt CE D gt d CLK ED gt SR D gt UGO70 5 20 071504 Figure 5 20 Simplified Virtex 4 General SliceL SliceM Timing
234. begin toggling one cycle after RST is deasserted and is registered IfEN_REL TRUE then a positive edge on REL starts the divided outputs toggling on the next positive edge of CLKA e By setting the RST DEASSERT CIK attribute deasserting RST can be synchronized to any of the four input clocks The default value of RST DEASSERT CLK is CLKA see Table 3 3 Virtex 4 User Guide www xilinx com 99 UGO070 v2 0 January 4 2007 100 Chapter 3 Phase Matched Clock Dividers PMCDs XILINX Figure 3 5 illustrates an RST waveform when EN REL FALSE CLKA RST DEASSERT CLK CLKA EN REL FALSE RST All CLK Outputs A 4 RST asynchronously asserts After RST is registered All output clocks forced Low all output clocks start toggling Deasserted RST is registered TRENT Figure 3 5 RST Waveform Example The release REL signal affects PMCD outputs in the following manner Asserting REL synchronously starts the divided outputs toggling REL is synchronous to CLKA Asserting REL must meet the setup time to CLKA REL assertion does not affect the delayed clock outputs REL is necessary when multiple PMCDs are used together and all PMCDs divided outputs should toggle in phase REL is enabled with the EN_REL attribute The default value of this attribute is FALSE Set to TRUE only if multiple PMCDs are used together or if other external synchronization is needed RST must be deasserted before REL can have any e
235. bel is IDELAYCTRL XnYn Declaring LOC constraints in the UCF file INST dlyctrl 1 LOC IDELAYCTRL X0Y0 INST dlyctrl 2 LOC IDELAYCTRL X0Y1 INST dlyctrl n LOC IDELAYCTRL XnYn Verilog Use Model Multiple instances of IDELAYCTRL primitives are instantiated Each instance has its own RST and RDY signal to allow for partial reconfiguration The REFCLK signal is common to all instances IDELAYCTRL dlyctrl 1 RDY rdy 1 REFCLK refclk RSTirst 1 IDELAYCTRL dlyctrl 2 RDY rdy 2 REFCLK refclk RST rst 2 Jr IDELAYCTRL dlyctrl n RDY rdy n REFCLK refclk RST rst n The user either declares the LOC constraints in the Verilog design file or in the following UCF file Declaring LOC constraints in the Verilog file synthesis attribute loc of dlyctrl 1 is IDELAYCTRL X0YO0 synthesis attribute loc of dlyctrl 2 is IDELAYCTRL XO0Y1 synthesis attribute loc of dlyctrl N is IDELAYCTRL XnYn Declaring LOC constraints in the UCF file INST dlyctrl 1 LOC IDELAYCTRL X0Y0 INST dlyctrl 2 LOC IDELAYCTRL X0Y1 INST dlyctrl n LOC IDELAYCTRL XnYn www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX ILOGIC Resources The circuitry that results from instantiating the IDELAYCTRL components is shown in Figure 7 18 REFCLK REFCLK RDY rdy 1 IDELAYCTRL 1 T rst 1 REFCLK R
236. cated connection between shift registers allows connecting the last bit of one shift register to the first bit of the next without using the LUT D output See Figure 5 11 Longer shift registers can be built with dynamic access to any bit in the chain The shift register chaining and the MUXF5 and MUXF6 multiplexers allow up to a 64 bit shift register with addressable access to be implemented in one CLB 178 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX CLB Overview 1 Shift Chain in CLB SRLC16 i unavailable in this slice DI FF gt FF gt SLICE S3 SRLC16 is unavailable in this slice DI FF gt FF gt SLICE S1 SHIFTIN SRLC16 MC15 SHIFTIN DI D SRLC16 MC15 DI p SRLC16 MC15 SLICE SO CLB l l l l l l l l l l l l l l l l l l l l l l l l l l l l DI D l l l l l l l l l l l l l l l l l l l l l l l l l l l l CASCADABLE OUT ug070_5_11_071504 Figure 5 11 Cascadable Shift Register Virtex 4 User Guide www xilinx com 179 UGO070 v2 0 January 4 2007 180 Chapter 5 Configurable Logic Blocks CLBs XILINX The block diagrams of the shift register SRL16E and the cascadable shift register SRLC16E are illustrated in Figure 5 12 The pin descriptions of SRL16E and SRLC16E are located in the SRL Primitives and Submodules section SRLC16E D Q Address SRL16E CE CLK Q15 D Q Address
237. cc eee ee eee DEM Ports e Ente eee Ear tete ee boe see Pete Clock Input Ports Source Clock Input CLKIN 2 6 eee eee eee Feedback Clock Input CLKFB 6 cee eee eee Phase Shift Clock Input PSCLK 00 0 0 e eee Dynamic Reconfiguration Clock Input DCLK Control and Data Input Ports a asnasa 066 c eee eee ResetInput RST oo ice ee eh eee ee nee es Phase Shift Increment Decrement Input PSINCDEC Phase Shift Enable Input PSEN 0000s eee Dynamic Reconfiguration Data Input DI 15 0 Dynamic Reconfiguration Address Input DADDR 6 0 Dynamic Reconfiguration Write Enable Input DWE Dynamic Reconfiguration Enable Input DEN Clock Output Ports 6 cee een eee 1x Output Clock CLKO cecce crer pesene eee ee 1x Output Clock 90 Phase Shift CLK90 1x Output Clock 180 Phase Shift CLK180 1x Output Clock 270 Phase Shift CLK270 2x Output Clock CLK2X 0 eee eee 2x Output Clock 180 Phase Shift CLK2X180 Frequency Divide Output Clock CLKDV Frequency Synthesis Output Clock CLKFX Frequency Synthesis Output Clock 180 CLKFX180 Status and Data Output Ports 008 Locked Output LOCKED 6 ta eien ee eee Phase Shift Done Output PSDONE s esses Status or Dynamic Reconfiguration Data Output DO 15 0 Dyn
238. cco voltage based on the IOSTANDARDs in that bank Correct DCI I O buffers must be used in the software either by using IOSTANDARD attributes or instantiations in the HDL code External reference resistors must be connected to multipurpose pins VRN and VRP in the bank These two multipurpose pins cannot be used as regular user I Os Refer to the Virtex 4 pinout tables for the specific pin locations Pin VRN must be pulled up to Vcco by its reference resistor Pin VRP must be pulled down to ground by its reference resistor The value of the external reference resistors should be selected to give the desired output impedance If using GTL DCI HSTL DCI or SSTL_DCI I O standards then the external reference resistors should be 50 Q The values of the reference resistors must be within the supported range 20 Q 100 Q Follow the DCII O banking rules a Vggpmust be compatible for all of the inputs in the same bank b Veco must be compatible for all of the inputs and outputs in the same bank c No more than one DCI I O standard using single termination type is allowed per bank d No more than one DCI I O standard using split termination type is allowed per bank e Single termination and split termination controlled impedance driver and controlled impedance driver with half impedance can co exist in the same bank The following packages to not support DCI in Banks 1 and 2 SF363 FF668 FF676 FF672 and FF1152 In addition the
239. ce with 16 global clock pins can be connected to 16 differential or 16 single ended board clocks A device with 32 global clock pins can be connected to 32 clocks under these same conditions Global clock buffers allow various clock signal sources to access the global clock trees and nets The possible sources for input to the global clock buffers include e Global clock inputs e Digital Clock Manager DCM outputs e Phase Matched Clock Divider PMCD outputs e Rocket IO Multi Gigabit Transceivers e Other global clock buffer outputs e General interconnect The global clock buffers can only be driven by sources in the same half of the die top bottom All global clock buffers can drive all clock regions in Virtex 4 devices The primary secondary rules from Virtex II and Virtex II Pro FPGAs do not apply However only eight different clocks can be driven in a single clock region A clock region 16 CLBs is a branch of the clock tree consisting of eight CLB rows up and eight CLB rows down A clock region only spans halfway across the device The clock buffers are designed to be configured as a synchronous or asynchronous glitch free 2 1 multiplexer with two clock inputs Virtex 4 devices have more control pins to provide a wider range of functionality and more robust input switching The following subsections detail the various configurations primitives and use models of the Virtex 4 clock buffers Global Clock Buffer Primitives Th
240. ces UGO70 2 11 071204 Board Deskew with Internal Deskew Interfacing to Other Virtex Devices 82 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Application Examples The example in Figure 2 12 shows an interface from Virtex 4 FPGAs to non Virtex devices Virtex 4 FPGA Vcc ODDR F Bere DCM_ADV BUFG D Q gt CLKIN CLKO gt z CLK90 E IBUFG SEKFE CLK180 c CLK270 CLK2X RST CLK2X180 CLKDV PSINCDEC CLKFX PSEN CLKFX180 PSCLK DADDRI6 0 DI 15 0 LOCKED DWE BIEN DO 15 0 DCLK BUFG DCM ADV CLKIN CLKO CLK90 CLKFB CLK180 CLK270 RST CLK2X CLK2X180 PSINCDEC CLKDV PSEN CLKFX PSCLK CLKFX180 DADDR 6 0 DI 15 0 DWE DEN LOCKED DCLK DO 15 0 hon Virtex chips UGO070 2 12 072604 Figure 2 12 Board Deskew with Internal Deskew Interfacing to Non Virtex Devices Virtex 4 User Guide www xilinx com 83 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs XILINX Clock Switching Between Two DCMs Figure 2 13 illustrates switching between two clocks from two DCMs while keeping both DCMs locked CLKIN CLko gt CLK90 CLK180 CLKA CLKFB CLK270 CLKOX RST CLK2X180 PSINCDEC pied BUFGMUX PSEN Eee CLKFX180 DADDRI6 0 LOCKED DO 15 0 IBUFG DCM ADV BUFG CLKO CLK90 CLK180 CLKB CLKFE CLK270 RST CLK2X CLK2X180 PSINCDEC CLKDV PSEN CLKFX P
241. ck clock with little impact to the deskew circuit as long as CLKFX or CLKFX180 is not used If the input clock is stopped and CLKFX or CLKFX180 is used the CLKFX or CLKFX180 outputs might stop toggling and DO 2 CLKFX Stopped is asserted The DCM must be reset to recover from this event The DO 2 CLKFX stopped status is asserted in 257 to 260 CLKIN cycles after CLKFX is stopped CLKFX does not resume and DO 2 will not deassert until the DCM is reset www xilinx com 69 UGO070 v2 0 January 4 2007 70 Chapter 2 Digital Clock Managers DCMs XILINX In any other case the clock should not be stopped for more than 100 ms to minimize the effect of device cooling otherwise the tap delays might change The clock should be stopped during a Low or a High phase and must be restored with the same input clock period frequency During this time LOCKED stays High and remains High when the clock is restored Thus a High on LOCKED does not necessarily mean that a valid clock is available When stopping the input clock CLKIN remains High or Low for one or more clock cycles one to nine more output clock cycles are still generated as the delay line is flushed When the output clock stops the CLKIN stopped DO 1 signal is asserted When the clock is restarted the output clock cycles are not generated for one to eight clocks while the delay line is filled Similarly the DO 1 signal is deasserted once the output clock is generated T
242. ck has transitioned from High to Low Then the new clock starts driving the output The default configuration for BUFGCTRL is falling edge sensitive and held at Low prior to the input switching BUFGCTRL can also be rising edge sensitive and held at High prior to the input switching In some applications the conditions previously described are not desirable Asserting the IGNORE pins will bypass the BUFGCTRL from detecting the conditions for switching between two clock inputs In other words asserting IGNORE causes the mux to switch the inputs at the instant the select pin changes IGNOREO causes the output to switch away from the I0 input immediately when the select pin changes while IGNORE causes the output to switch away from the I1 input immediately when the select pin changes Selection of an input clock requires a select pair SO and CEO or 1 and CE1 to be asserted High If either S or CE is not asserted High the desired input will not be selected In normal operation both S and CE pairs all four select lines are not expected to be www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Global Clocking Resources asserted High simultaneously Typically only one pin of a select pair is used as a select line while the other pin is tied High The truth table is shown in Table 1 4 Table 1 4 Truth Table for Clock Resources CE0 so CE1 S1 0 1 1 0 X 10 1 1 X 10 0 X 1
243. cle the ISERDES can perform a Bitslip operation e Bitslip must be asserted for exactly one CLKDIV cycle Holding the Bitslip pin High for multiple CLKDIV cycles will produce incorrect results Clock Event 2 e At time Trscko o after CLKDIV Event 2 at the next CLKDIV cycle after Bitslip has been held High a new output is available on the Q1 to Q6 bus Output Parallel to Serial Logic Resources OSERDES The Virtex 4 OSERDES is a dedicated parallel to serial converter with specific clocking and logic resources designed to facilitate the implementation of high speed source synchronous interfaces Every OSERDES module includes a dedicated serializer for data and 3 state control Both Data and 3 state serializers can be configured in SDR and DDR mode Data serialization can be up to 6 1 10 1 if using OSERDES Width Expansion 3 state serialization can be up to 4 1 372 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Virtex 4 User Guide Output Parallel to Serial Logic Resources OSERDES Figure 8 1 shows a block diagram of the OSERDES highlighting all the major components and features of the block Ti T4 3 State TCE Parallel to Serial Converter CLK P CLKDIV Data Parallel to Serial Converter Output Driver ug070 SERDES 01 072904 Figure 8 11 OSERDES Block Diagram Data Parallel to Serial Converter The data parallel to serial converter in one OSERDES blocks
244. common mode noise rejection In the Virtex 4 architecture the pin access of the global clock lines are not limited to the logic resources clock pins The global clock lines can access other pins in the CLBs without using local interconnects Applications requiring a very fast signal connection and large load fanout benefit from this architecture Clock Regions Virtex 4 devices improve the clocking distribution by the use of clock regions Each clock region can have up to eight global clock domains These eight global clocks can be driven by any combination of the 32 global clock buffers The restrictions and rules needed in previous FPGA architectures are no longer applicable Specifically a clock region is not limited to four quadrants regardless of die device size Instead the dimensions of a clock region are fixed to 16 CLBs tall 32 IOBs and spanning half of the die Figure 1 17 By fixing the dimensions of the clock region larger Virtex 4 devices can have more clock regions As a result Virtex 4 devices can support many more multiple clock domains than previous FPGA architectures Table 1 6 shows the number of clock regions in each Virtex 4 device The logic resources in the center column DCMs IOBs etc are located in the left clock regions The DCMs if used utilize the global clocks in the left regions as feedback lines Up to four DCMs can be in a specific region If used in the same region IDELAYCTRL uses another global clock
245. ct the memory cells for read or write The width of the port determines the required address inputs Note that the address inputs are not a bus in VHDL or Verilog instantiations Data In D The data input provides the new data value to be written into the RAM Data Out O SPO and DPO The data out O Single Port or SPO and DPO Dual Port reflects the contents of the memory cells referenced by the address inputs Following an active write clock edge the data out O or SPO reflects the newly written data Inverting Control Pins The two control pins WCLK and WE each have an individual inversion option Any control signal including the clock can be active at 0 negative edge for the clock or at 1 positive edge for the clock without requiring other logic resources Global Set Reset GSH The global set reset GSR signal does not affect distributed RAM modules For more information on the GSR see the BUFGSR section in the Xilinx Software Manual 202 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX CLB Primitives and Verilog VHDL Examples Attributes Content Initialization INIT With the INIT attributes users can define the initial memory contents after configuration By default distributed RAM is initialized with all zeros during the device configuration sequence The initialization attribute INIT represents the specified memory contents Each INIT is a hex encoded bit vector Table 5 11
246. cteristics of the Deskew Circuit e Eliminate clock distribution delay by effectively adding one clock period delay Clocks are deskewed to within CLKOUT PHASE specified in the Virtex 4 Data Sheet e Eliminate on chip as well as off chip clock delay e No restrictions on the delay in the feedback clock path e Requires a continuously running input clock e Adapts to a wide range of frequencies However once locked to a frequency large input frequency variations are not tolerated e Does not eliminate jitter The deskew circuit output jitter is the accumulation of input jitter and any added jitter value due to the deskew circuit e The completion of configuration can be delayed until after DCM locks to guarantee the system clock is established prior to initiating the device Frequency Synthesis The DCM provides several flexible methods for generating new clock frequencies Each method has a different operating frequency range and different AC characteristics The CLK2X and CLK2X180 outputs double the clock frequency The CLKDV output provides a divided output clock lower frequency with division options of 1 5 2 2 5 3 3 5 4 4 5 5 5 5 6 6 5 7 7 5 8 9 10 11 12 13 14 15 and 16 The DCM also offers fully digital dedicated frequency synthesizer outputs CLKFX and its opposite phase CLKFX180 The output frequency can be any function of the input clock frequency described by M D where M is the multiplier numerator and D
247. cur simultaneously e There are no timing constraints when both ports perform a read operation e When one port performs a write operation the other port must not read or write access the same memory location by using a clock edge that falls within the specified forbidden clock to clock setup time window If this restriction is ignored a read operation could read unreliable data perhaps a mixture of old and new data in this location a write operation could result in wrong data stored in this location There is however no risk of physical damage to the device The clock to clock setup timing parameter is specified together with other block RAM switching characteristics in the Virtex 4 Data Sheet Synchronous Clocking Synchronous clocking is the special case where the active edges of both port clocks occur simultaneously e There are no timing constraints when both ports perform a read operation e When one port performs a write operation the other port must not write into the same location unless both ports write identical data e When one port performs a write operation the write operation succeeds the other port can reliably read data from the same location if the write port is in READ FIRST mode DATA OUT will then reflect the previously stored data If the write portis in either WRITE FIRST or in NO CHANGE mode then the DATA OUT on the read port would become invalid unreliable Obviously the mode setting of the re
248. d LOC constraints into a Verilog design file synthesis attribute loc of instance name is IDELAYCTRL_X Y0 In VHDL code the LOC constraint is described with VHDL attributes Before it can be used the constraint must be declared with the following syntax attribute loc string Once declared the LOC constraint can be specified as attribute loc of instance name label is IDELAYCTRL_X YO This section describes the VHDL and Verilog use models for instantiating IDELAYCTRL primitives with LOC constraints VHDL Use Model Multiple instances of IDELAYCTRL primitives are instantiated Each instance has its own RST and RDY signal to allow for partial reconfiguration The REFCLK signal is common to all instances dlyctrl 1 IDELAYCTRL port map RDY gt rdy 1 REFCLK gt refclk RST gt rst 1 dlyctrl 2 IDELAYCTRL port map RDY rdy 2 REFCLK gt refclk RST gt rst_2 Mg dlyctrl n IDELAYCTRL port map RDY rdy n REFCLK refclk RST gt rst n The user either declares the LOC constraints in the VHDL design file or in the UCF file Declaring LOC constraints in the VHDL file attribute loc string attribute loc of dlyctrl 1 1abel is IDELAYCTRL X0YO0 Virtex 4 User Guide www xilinx com 335 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources XILINX attribute loc of dlyctrl 2 1abel is IDELAYCTRL_X0Y1 attribute loc of dlyctrl n la
249. d ulogic I in std ulogic end component Example BUFG instantiation U BUFG BUFG Port map O user o IO gt user i Declaring constraints in VHDL file attribute LOC string attribute LOC of U BUFG label is BUFGCTRL_X Y where is valid integer locations of BUFGCTRL Verilog Template Example BUFG module declaration module BUFG O I output O Virtex 4 User Guide www xilinx com 45 UGO070 v2 0 January 4 2007 Chapter 1 Clock Resources XILINX input I endmodule Example BUFG instantiation BUFG U_BUFG O user_o 10 user_i Declaring constraints in Verilog synthesis attribute LOC of U_BUFG is BUFGCTRL_X Y where is valid integer locations of BUFGCTRL Declaring Constraints in UCF File INST U_BUFG LOC BUFGCTRL_X Y where is valid integer locations of BUFGCTRL BUFGCE and BUFGCE_1 VHDL and Verilog Templates The following examples illustrate the instantiation of the BUFGCE module in VHDL and Verilog The instantiation of BUFGCE_1 is exactly the same as BUFGCE with exception of the primitive name VHDL Template Example BUFGCI component BUFGCI port O out std ulogic CE in std ulogic I in std ulogic end component declaration BE Bj Example BUFGCE instantiation U BUFGCE BUFGCE Port map O gt user o CE user ce I gt user i Jor Declaring constraints in VHDL file attribute LOC
250. d2 R gt user_r S gt user_s ODDR Verilog Template Example ODDR module declaration module ODDR Q C CE D1 D2 R S output Q input C input CE input D1 input D2 tri0 GSR glbl GSR input R input S parameter DDR CLK EDGE OPPOSITE EDGE Virtex 4 User Guide www xilinx com 347 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources XILINX parameter INIT 1 b0 parameter SRTYPE SYNC endmodule Example ODDR instantiation ODDR U ODDR Q user q C user c CE user ce D1 user d1 D2 user 32 R user r S user s OLOGIC Timing Models This section discusses all timing models associated with the OLOGIC block Table 7 13 describes the function and control signals of the OLOGIC switching characteristics in the Virtex 4 Data Sheet Table 7 13 OLOGIC Switching Characteristics Symbol Description Setup Hold Topck Tockp D1 D2 pins Setup Hold with respect to CLK Toocgck Tockock OCE pin Setup Hold with respect to CLK TosRck TocksR SR REV pin Setup Hold with respect to CLK Torck Tockr T1 T2 pins Setup Hold with respect to CLK Torcrck TockrCE TCE pin Setup Hold with respect to CLK Clock to Out Tocko CLK to OQ TO out 348 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX OLOGIC Resources Timing Characteristics Figure 7 26 illustrates the OLO
251. dard for high speed interfaces Its differential signaling based interface is very similar to LVDS Virtex 4 IOBs are equipped with LDT buffers Table 6 35 summarizes all the possible LDT I O standards and attributes supported 284 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Table 6 35 Allowed Attributes of the LDT I O Standard Primitives Attributes IBUFDS IBUFGDS OBUFDS OBUFTDS IOSTANDARD LDT 25 LOW NORMAL CAPACITANCE DONT CARE NORMAL DIFF TERM TRUE FALSE Unused BLVDS Bus LVDS Since LVDS is intended for point to point applications BLVDS is not an EIA TIA standard implementation and requires careful adaptation of I O and PCB layout design rules The primitive supplied in the software library for bidirectional LVDS does not use the Virtex 4 LVDS current mode driver Therefore source termination is required Figure 6 76 shows the BLVDS transmitter termination BLVDS 25 IOB BLVDS 25 I I EN qw 1650 Row 1400 I Rs pH 1650 I I IOB BLVDS 25 Data in ug070 6 74 071904 Figure 6 76 BLVDS Transmitter Termination Table 6 36 summarizes all the possible BLVDS I O standards and attributes supported Table 6 36 Available BLVDS Primitives Primitives Attributes IBUFDS IBUFGDS OBUFDS OBUFTDS IOBUFDS IOSTANDARD BLVDS 25
252. ddress Width Depth ADDR Bus DI Bus DO Bus DIP Bus DOP Bus 1 14 16 384 13 0 0 NA 2 13 8 192 13 3 1 0 NA 4 12 4 096 13 2 3 0 NA 9 11 2 048 13 3 7 0 0 18 10 1 024 13 4 15 0 1 0 36 9 512 13 5 31 0 3 0 For cascadable block RAM the data width is one bit however the address bus is 15 bits 14 0 The address bit 15 is only used in cascadable block RAM Data and address pin mapping is further described in the Additional RAMB16 Primitive Design Considerations section Data In Buses DI AIB lt 0 gt amp DIP AIB lt 0 gt Data in buses provide the new data value to be written into RAM The regular data in bus DI and the parity data in bus DIP when available have a total width equal to the port width For example the 36 bit port data width is represented by DI lt 31 0 gt and DIP lt 3 0 gt as shown in Table 4 2 122 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Block RAM Address Mapping Data Out Buses DO AIB lt 0 gt and DOP AIB lt 0 gt Data out buses reflect the contents of memory cells referenced by the address bus at the last active clock edge during a read operation During a write operation WRITE_FIRST or READ FIRST configuration the data out buses reflect either the data in buses or the stored value before write During a write operation in NO CHANGE mode data out buses are not affected T
253. design example and Figure 1 16 shows the timing diagram CE GND IGNORE1 CE1 S1 BUFGMUX_VIRTEX4 CE Design Example SO CEO GND IGNOREO ug070 1 15 071304 Figure 1 15 BUFGMUX VIRTEXA with a CE and BUFGCTRL 1 2 P 10 DG DOCU gt dl poc LT PNE ELlclc c Ell l Eel plc S TBCCCK CE CE 4 TBcckO O pe TBCCkO O uut scis mcr east I I o EE Los N atio Begin 11 Clock Off Virtex 4 User Guide Figure 1 16 BUFGMUX VIRTEXA with a CE Timing Diagram In Figure 1 16 e Attime event 1 output O uses input IO e Before time event 2 S is asserted High UGO70 1 16 082504 e Attime Tpccko o after time event 2 output O uses input I1 This occurs after a High to Low transition of I0 followed by a High to Low transition of I1 is completed e At time Tpccck cr before time event 3 CE is asserted Low The clock output is switched Low and kept at Low after a High to Low transition of I1 is completed www xilinx com UGO070 v2 0 January 4 2007 35 36 Chapter 1 Clock Resources XILINX Clock Tree and Nets GCLK Virtex 4 clock trees are designed for low skew and low power operation Any unused branch is disconnected The clock trees also manage the load fanout when all the logic resources are used All global clock lines and buffers are implemented differentially This facilitates much better duty cycles and
254. dlyctrl 2 is IDELAYCTRL_XOY1 synthesis attribute loc of dlyctrl N is IDELAYCTRL XnYn Declaring LOC constraints in the UCF file INST dlyctrl 1 LOC INST dlyctrl 2 LOC INST dlyctrl n LOC IDELAYCTRL X0Y0 IDELAYCTRL X0Y1 IDELAYCTRL XnYn One instantiation of an IDELAYCTRL primitive without LOC constraint RST and RDY port signals are independent from LOC ed instances IDELAYCTRL dlyctrl noloc RDY rdy noloc REFCLK refclk RST rst noloc Ms Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 339 Chapter 7 SelectlO Logic Resources XILINX The circuitry that results from instantiating the IDELAYCTRL components as shown is illustrated in Figure 7 19 Instantiated with LOC Constraint REFCLK REFCLK RDY rdy 1 IDELAYCTRL 1 rst 1 RST REFCLK RDY rdy 2 IDELAYCTRL 2 rst 2 RST REFCLK RDY rdy_n IDELAYCTRL_n rst_n RST Instantiated without LOC Constraint REFCLK RDY IDELAYCTRL_noloc RST_NOLOC RST REFCLK RDY RDY_NOLOC IDELAYCTRL_noloc RST Replicated for all IDELAYCTRL sites L REFCLK RDY IDELAYCTRL noloc RST Auto generated by mapper tool ug070_7_19_080104 Figure 7 19 Mixed instantiation of IDELAYCTRL Elements Instantiating Multiple IDELAYCTRLs Without LOC Constraints Instantiating multiple IDELAYCTRL instances without LOC properties is prohibited
255. duces a full delay line in one direction Both the PHASE SHIFT attribute and the FINE SHIFT RANGE parameter need to be considered to determine the limiting range of each application The Phase Shift Examples section illustrates possible scenarios In variable and direct mode the PHASE SHIFT value can dynamically increment or decrement as determined by PSINCDEC synchronously to PSCLK when the PSEN input is active Phase Shift Examples The following usage examples take both the PHASE SHIFT attribute and the FINE SHIFT RANGE components into consideration e If PERIODCLKIN 2 x FINE SHIFT RANGE then the PHASE SHIFT in fixed mode is limited to 128 In variable positive mode PHASE SHIFT is limited to 128 In variable center mode the PHASE SHIFT is limited to 64 e If PERIODCLKIN FINE SHIFT RANGE then the PHASE SHIFT in variable positive mode is limited to 255 In fixed and variable center mode the PHASE SHIFT is limited to 255 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX DCM Design Guidelines e If PERIODCLKIN lt FINE SHIFT RANGE then the PHASE SHIFT in variable positive mode is limited to 255 In fixed and variable center mode the PHASE SHIFT is limited to 255 e For all previously described cases the direct mode is always limited to 1023 If the phase shift is limited by the FINE SHIFT RANCGE use the coarse grained phase shift to extend the phase shift range or set DCM PERFO
256. e RAM 16x18 gt Output Registered Output gt optional ug070 5 05 071504 Figure 5 5 Distributed RAM RAM16x1S 174 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX CLB Overview RAM 32x1S A 4 4 A 3 0 WE WCLK Le F5MUX Output Registered Output gt optional ug070 5 06 071504 Figure 5 6 Single Port Distributed RAM RAM32x1S RAM 16x1D A 3 0 m dual port m RAM WG 4 1 D G 4 1 WE WCLK A 3 0 F 4 1 DPRA 3 0 WF 4 1 ug070 5 07 071504 Figure 5 7 Dual Port Distributed RAM RAM16x1D Virtex 4 User Guide www xilinx com UGO070 v2 0 January 4 2007 175 Chapter 5 Configurable Logic Blocks CLBs XILINX If two dual port 16 x 1 bit modules are built the two RAM16X1D primitives can occupy two slices in a CLB as long as they share the same clock and write enable as illustrated in Figure 5 8 RAM16X1D Bit O an Rin B H Slice M RAM16X1D Bit 1 D 1 SPO 1 DPO 1 Im cake Slice M ug070 5 08 071504 Figure 5 8 Two RAM16X1D Placement The RAM64X1S primitive occupies two slices The RAM64X18 read path is built on the MUXF5 and MUXF6 multiplexers Read Only Memory ROM Each function generator in SLICEM and SLICEL can implement a 16 x 1
257. e Virtex 4 User Guide www xilinx com 291 UGO070 v2 0 January 4 2007 292 Chapter 6 SelectlO Resources XILINX The IBIS models contain the voltage current characteristics of the I O drivers and clamp diodes To verify overshoot and undershoot are within the I O absolute maximum specifications Xilinx recommends proper I O termination and performing IBIS simulation Source Termination and LVDCI_ 33 In general the I O drivers should match the board trace impedance to within 10 to minimize overshoot and undershoot Source termination is often used for unidirectional interfaces The DCI feature has built in source termination on all user output pins It compensates for impedance changes due to voltage and or temperature fluctuations and can match the reference resistor values Assuming the reference resistor values are the same as the board trace impedance the output impedance of the driver will closely match with the board trace The LVDCI 33 standard is used to enable the DCI features for 3 3V I O operations As shown in Figure 6 79 the OBUF LVDCI 33 primitive is used to implement the source termination function in Virtex 4 output drivers The pull up resistor connected to VRN and the pull down resistor connected to VRP determine the output impedance of all the output drivers in the same bank The Virtex 4 Digitally Controlled Impedance DCI section has more details on using DCI Since the LVDCI_33 standard does not offe
258. e region above or below i e in up to three adjacent regions The regional clock buffer can be programmed to divide the incoming clock rate by any integer number from 1 to 8 This feature in conjunction with the programmable serializer deserializer in the IOB see Chapter 8 Advanced SelectIO Logic Resources allows source synchronous systems to cross clock domains without using additional logic resources A third type of clocking resource I O clocks are very fast and serve localized I O serializer deserializer circuits see Chapter 8 Advanced SelectIO Logic Resources For more detail on how to identify clock regions and the associated components please use the PACE tool Global Clocking Resources Global clocks are a dedicated network of interconnect specifically designed to reach all clock inputs to the various resources in an FPGA These networks are designed to have low skew and low duty cycle distortion low power and increased jitter tolerance They are also designed to support very high frequency signals Virtex 4 User Guide www xilinx com 23 UGO070 v2 0 January 4 2007 Chapter 1 Clock Resources 24 XILINX Understanding the signal path for a global clock expands the understanding of the various global clock resources The global clocking resources and network consist of the following paths and components e Global Clock Inputs e Global Clock Buffers e Clock Tree and Nets GCLK e Clock Regions
259. e Bank The following rules must be obeyed to combine different input output and bi directional standards in the same bank 1 Combining output standards only Output standards with the same output Vcco requirement can be combined in the same bank Compatible example SSTL2 I and LVDCI 25 outputs Incompatible example SSTL2 I output Veco 2 5V and LVCMOSS33 output Vcco 3 3V outputs 2 Combining input standards only Input standards with the same input Vcco and input Veg requirements can be combined in the same bank Compatible example LVCMOS15 and HSTL IV inputs Incompatible example 286 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Rules for Combining I O Standards in the Same Bank LVCMOSIS input Veco 1 5V and LVCMOSIS input Veco 1 8V inputs Incompatible example HSTL I DCI 18 Vggg 0 9V and HSTL IV DCI 18 Vggg 1 1V inputs 3 Combining input standards and output standards Input standards and output standards with the same input V cco and output Vcco requirement can be combined in the same bank Compatible example LVDS 25 output and HSTL I input Incompatible example LVDS 25 output output Vcco 2 5V and HSTL I DCI 18 input input Vcco 1 8V 4 Combining bi directional standards with input or output standards When combining bi directional I O with other standards make sure the bi directional standard can meet the first three rules 5 Additio
260. e bit order is dependent on the Bitslip function If the Bitslip function is not applied the last bit is sent to the even outputs and the next to last bit goes to the odd outputs If Bitslip is used this order can be reversed In SDR mode the last bit entered is propagated to all outputs and not dependent on the Bitslip operation High Speed Clock Input CLK The high speed clock input CLK is used to clock in the input serial data stream Divided Clock Input CLKDIV The divided clock input CLKDIV is typically a divided version of CLK depending on the width of the implemented deserialization It drives the output of the serial to parallel converter the delay element the Bitslip sub module and the CE module Serial Input Data from IOB D The serial input data port D is the serial high speed data input port of the ISERDES This port works in conjunction with all the Virtex 4 I O resources to accommodate the desired I O standards High Speed Clock for Strobe Based Memory Interfaces OCLK The OCLK clock input synchronizes data transfer in strobe based memory interfaces When INTERFACE TYPE is NETWORKING this port is unused and should be grounded ISERDES Attributes Table 8 2 summarizes all the applicable ISERDES attributes A detailed description of each attribute follows the table For more information on applying these attributes in UCF VHDL or Verilog code refer to the Xilinx ISE Software Manual Table 8 2 ISERDES
261. e block RAM TRCKC_REGCE Register Enable Time after the clock that the register enable signal must be stable at the REGCE input of the block RAM Sequential Delays Tncko po Max Clock to Output CLK to Time after the clock that the output data is stable at the DO outputs DO of the block RAM without output register Tncko po Min Clock to Output CLK to Time after the clock that the output data is stable at the DO outputs DO of the block RAM with output register Notes 1 While EN is active ADDR inputs must be stable during the entire setup hold time window even if WEN is inactive Violating this requirement can result in block RAM data corruption If ADDR timing could violate the specified requirements EN must be inactive disabled Block RAM Timing Characteristics The timing diagram in Figure 4 12 describes a single port block RAM in write first mode without the optional output register The timing for read first and no change modes are Virtex 4 User Guide www xilinx com 141 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX similar For timing using the optional output register an additional clock latency appears at the DO pin CLK l mada M N ADR X o X 0 X 7E X 8F X 2 rTRDCK DI D IRCKO DO Do TRCCK EN EN TRccK sSR ok SSR TRCCK WEN WEN 7 Disabled Read Write Read Reset Disabled Write Mode WRITE_F
262. e from the CLKIN The phase shift value is determined by the PHASE SHIFT attribute If the CLKOUT PHASE SHIFT attribute is set to FIXED or NONE then the PSEN PSINCDEC and the PSCLK inputs must be tied to ground When set to VARIABLE POSITIVE the DCM outputs can be phase shifted in variable mode in the positive range with respect to CLKIN When set to VARIABLE CENTER the DCM outputs can be phase shifted in variable mode in the positive and negative range with respect to CLKIN If set to VARIABLE POSITIVE or VARIABLE CENTER each www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX DCM Attributes phase shift increment or decrement will increase or decrease the phase shift by a period of 1 256 x CLKIN period When set to DIRECT the DCM output can be phase shifted in variable mode in the positive range with respect to CLKIN Each phase shift increment decrement will increase decrease the phase shift by one DCM_TAP see the Virtex 4 Data Sheet The starting phase in the VARIABLE_POSITIVE and VARIABLE_CENTER modes is determined by the phase shift value The starting phase in the DIRECT mode is always zero regardless of the value specified by the PHASE_SHIFT attribute Thus the PHASE SHIFT attribute should be set to zero when DIRECT mode is used A non zero phase shift value for DIRECT mode can be loaded to the DCM using Dynamic Reconfiguration Ports in the Virtex 4 Configuration Guide CLK FEEDBACK Attribute
263. e parallel PMCDs must be driven directly from the DCM LOCKED output Dedicated timing matched routes for both CLK signals and LOCKED signals exist from the DCMs to the PMCDs on the same top bottom half of the device e To match output skews between two PMCDs a DCM must connect to two PMCDs in the same tile group of two DCM PMCD 1 sees gt CLKIN CLKO CLKFB CLK180 CLKA1D2 T CLKA1D4 D CLKA1D8 gt Reset Heset EE LOCKED Le RST_DEASSERT_CLK CLKA EN_REL TRUE PMCD 2 CLKA CLKA1 gt CLKB CLKA1D2 D RST CLKA1D4 T5 REL CLKA1D8 9D Reset RST_DEASSERT_CLK CLKB EN_REL TRUE UGO070_3_08_071404 Figure 3 8 DCM and Parallel PMCDs IBUFG BUFG and PMCD When deskewed clocks are not required a PMCD can be used without a DCM Figure 3 9 and Figure 3 10 illustrate these examples PMCD GCLK T BUFGs gt CLKA1D2 Ce gt p CLKA1D4 CLKA1D8 RST_DEASSERT_CLK CLKA EN_REL FALSE UG070_3_09_071404 Figure 3 9 _PMCD Driven by IBUFG GCLK IOB Virtex 4 User Guide www xilinx com 103 UGO070 v2 0 January 4 2007 Chapter 3 Phase Matched Clock Dividers PMCDs XILINX PMCD CLKA CLKA1 CLKA1D2 RST CLKA1D4 REL CLKA1D8 BUFG BUFGs GCLK gt RST_DEASSERT_CLK CLKA EN_REL TRUE Logic to synchronize REL from the PMCD output clock domain to the PMCD
264. e primitives in the table below are different configurations of the global clock buffers Table 1 3 Global Clock Buffer Primitives Primitive Input Output Control BUFGCTRL I0 I1 O CEO CE1 IGNOREO IGNORFI1 S0 S1 BUFG I O BUFGCE I O CE BUFGCE_1 I O CE BUFGMUX 10 I1 O S Virtex 4 User Guide www xilinx com 25 UGO070 v2 0 January 4 2007 26 Chapter 1 Clock Resources XILINX Table 1 3 Global Clock Buffer Primitives Primitive Input Output Control BUFGMUX 1 I0 I1 O S BUFGMUX_VIRTEX4 I0 I1 O S Notes 1 All primitives are derived from a software preset of BUFGCTRL BUFGCTRL The BUFGCTRL primitive shown in Figure 1 1 can switch between two asynchronous clocks All other global clock buffer primitives are derived from certain configurations of BUFGCTRL The ISE software tools manage the configuration of all these primitives BUFGCTRL has four select lines S0 S1 CEO and CE1 It also has two additional control lines IGNOREO and IGNORE These six control lines are used to control the input I0 and I BUFGCTRL IGNORE1 CE1 1 CEO IGNOREO ug070 1 01 071204 Figure 1 1 BUFGCTRL Primitive BUFGCTRL is designed to switch between two clock inputs without the possibility of a glitch When the presently selected clock transitions from High to Low after S0 and S1 change the output is kept Low until the other to be selected clo
265. e should be set to MAX SPEED default Consider changing to MAX RANGE only in the following situations e The frequency needs to be below the low frequency limit of the MAX SPEED setting e A greater absolute phase shift range is required FACTORY JF Attribute The Factory JF attribute affects the DCMs jitter filter characteristics This attribute controls the DCM tap update rate Factory JF must be set to a specific value depending on the DLL FREQUENCY MODE setting The default value is FOFO corresponding to DLL FREQUENCY MODE LOW default Factory JF must be manually set to FOFO when DLL FREQUENCY MODE HIGH The ISE software will issue a warning if FACTORY JF is not set as stated PHASE SHIFT Attribute The PHASE SHIFT attribute determines the amount of phase shift applied to the DCM outputs This attribute can be used in both fixed or variable phase shift mode If used with variable mode the attribute sets the starting phase shift When CLKOUT PHASE SHIFT VARIABLE POSITIVE the PHASE SHIFT value range is 0 to 255 When CLKOUT PHASE SHIFT VARIABLE CENTER or FIXED the PHASE SHIFT value range is 255 to 255 When CLKOUT PHASE SHIFT DIRECT the PHASE SHIFT value range is 0 to 1023 The default value is 0 Refer to the Phase Shifting section for information on the phase shifting operation and its relationship with the CLKOUT PHASE SHIFT and PHASE SHIFT attributes STARTUP WAIT Attribute The STARTUP WAIT attribute determi
266. ead domain operation RESET Input Asynchronous reset of all FIFO functions flags and pointers DO Output Data output synchronous to RDCLK DOP Output Parity bit output synchronous to RDCLK FULL Output All entries in FIFO memory are filled No additional write enable is performed Synchronous to WRCLK ALMOSTFULL Output Almost all entries in FIFO memory have been filled Synchronous to WRCLK The offset for this flag is user configurable EMPTY Output FIFO is empty No additional read can be performed Synchronous to RDCLK ALMOSTEMPTY Output Almost all valid entries in FIFO have been read Synchronous with RDCLK The offset for this flag is user configurable RDCOUNT Output The FIFO data read pointer It is synchronous with RDCLK The value will wrap around if the maximum read pointer value has been reached WRCOUNT Output The FIFO data write pointer It is synchronous with WRCLK The value will wrap around if the maximum write pointer value has been reached WRERR Output When the FIFO is full any additional write operation generates an error flag Synchronous with WRCLK RDERR Output When the FIFO is empty any additional read operation generates an error flag Synchronous with RDCLK Virtex 4 User Guide www xilinx com 147 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX FIFO Operations Reset Reset is an asynchronous signal to reset all read and wri
267. ee teen eens 206 Initialization in VHDL or Verilog Code 1 6 6 208 Port Signal S o eode te aee eite toques EE EE Nos que eere te HER Res 208 Clock GLK rac ra c e e uo bu cue ba eds 208 Dic p TPTUTTDTPT 208 Clock Enable CE optional eeeeeeeeeeee nnn 208 Address A0 AT A2 A3 s scs cedit en de eee the de eee e ed e Maser woul 208 Data Out Q isses ee pere PR ede p e eec e e d ace d ce un 208 Data Qut Q15 optional essene edt et eese eae pum Tren ect kiaiii gaiiad 208 Tiverting Control Pins ea sebastian id dece i e b ied 208 Global Set Resets GSR ere reine sie ieiti ento RO ee Ce CE d e OCA ICT Rs 208 AXEErIDIteS 2 oae aee EU bsc on dae oed ase e deceased use E ou Ae deca n deos 209 Content Initialization INIT sseeeeeeeeeeeee ehh 209 Location Constraints s es sir zese eee eee ya E ev RC ERG Ga y ed 209 Fully Synchronous Shift Registers lsssseeeeeseeeeeee esee 210 Static Length Shift Registers 0 66 eee 210 VHDL and Verilog Instantiation 0 211 VHDL and Verilog Templates 0 eee eens 211 Multiplexer Primitives and Verilog VHDL Examples 213 Multiplexer Primitives and Submodules 0 c cece eee 213 Pl ortSignals i ioa Sex eor eb e PR UR Hebe Ey weed ede Hl eq teas ee 214 Data dri DATA TA5 i scckideA d Eae UE dE RU CER ERG Ede a 214 Virtex 4 User Guide www xilinx com UGO070 v2 0 January 4 2007 XILI
268. eedback Therefore the PMCD output corresponding to CLKO must be used to drive the CLKFB pin e The RST DEASSERT CIK attribute must be set to the PMCD input driven by CLKO When a DCM is connected to a PMCD all output clocks except CLK0 and CLK2X are held Low until LOCKED is High Therefore setting RST DEASSERT CLK to the corresponding DCM feedback clock ensures a completed feedback loop Note CLK2X feedback is not supported DCM PMCD e CLKIN CLKA CLKA1 L gt CLKFB CLKB CLKA1D2 RST CLKA1D4 REL CLKB1 Reset RST_DEASSERT_CLK CLKA EN_REL FALSE UGO070 3 07 071404 Figure 3 7 DCM and a Single PMCD DCM and Parallel PMCDs A DCM can be connected to parallel PMCDs Figure 3 8 illustrates this example Note the following guidelines e The DCM feedback CLKFB must be driven by the same frequency as CLKIN for 1X feedback Therefore the PMCD output corresponding to CLKO must be used to drive the CLKFB pin e The RST DEASSERT CLK attribute must be set to the PMCD input driven by CLKO When a DCM is connected to a PMCD all output clocks except CLK0 and CLK2X are held Low until LOCKED is High Thus setting RST DEASSERT CLK 102 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Application Examples to the corresponding DCM feedback clock ensures all PMCD outputs will start synchronously Note CLK2X feedback is not supported e The REL signals of th
269. eiver Logic The Gunning Transceiver Logic GTL standard is a high speed bus standard JESD8 3 invented by Xerox Xilinx has implemented the terminated variation for this standard This standard requires a differential amplifier input buffer and an open drain output buffer The negative terminal of the differential input buffer is referenced to the Vpgy pin A sample circuit illustrating a valid termination technique for GTL with external parallel termination and unconnected Veco is shown in Figure 6 35 IOB Vir 12V Vy 12V IOR Rp Zg 500 Rp Zo 500 Veco Unconnected pose pog x Q Zo 80 Dd xe VREF 0 8V ug070_6_33_071904 Figure 6 35 GTL with External Parallel Termination and Unconnected Vcco GTL DCI Usage GTL does not require a Veco voltage However for GTL_DCI Veco must be connected to 1 2V GTL DCI provides single termination to Vcco for inputs or outputs www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards A sample circuit illustrating a valid termination technique for GTL DCI with internal parallel driver and receiver termination is shown in Figure 6 36 Veco 12V wk IOB y co 1 2V Rypp Zo 500 Rygp Zo 502 i b3 02e 5 D4 L Vper 0 8V ug070_6_34_071904 Figure 6 36 GTL_DCI with Internal Parallel Driver and Receiver Termination Table 6 10 lists the GT
270. eline register cascade etc See the Block RAM Attributes section 120 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Block RAM Port Signals Figure 4 9 illustrates all the I O ports of the block RAM primitive RAMB16 CASCADEOUTA CASCADEOUTB CASCADEINA CASCADEINB ug070_4_09_071204 Figure 4 9 Block RAM Port Signals RAMB16 Block RAM Port Signals Each block RAM port operates independently of the other while accessing the same set of 18K bit memory cells Clock CLK AIB Each port is fully synchronous with independent clock pins All port input pins have setup time referenced to the port CLK pin The output data bus has a clock to out time referenced to the CLK pin Clock polarity is configurable rising edge by default Enable EN AIB The enable pin affects the read write and set reset functionality of the port Ports with an inactive enable pin keep the output pins in the previous state and do not write data to the memory cells Enable polarity is configurable active High by default Write Enable WE AIB To write the content of the data input bus into the addressed memory location both EN and WE must be active within a set up time before the active clock edge The output latches are loaded or not loaded according to the write configuration WRITE_FIRST Virtex 4 User Guide www xilinx com 121 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX READ FIRST
271. emplate sess Chapter 5 Configurable Logic Blocks CLBs CLB Overview 0 e Slice Description bebe ee ee erem ees CLB Slice Configurations llle Look Up Table LUT Jaune e e e Storage Elements eae ERE remate ae Distributed RAM and Memory Available in SLICEM only Read Only Memory ROM 6 6 06 cee cece eee eee Shift Registers Available in SLICEM only Shift Register Data Flow llle Multiplexers ci i ku eh Ec cete ce e c Designing Large Multiplexers lesse Fast Lookahead Carry Logic 0 6 6 c eee eee eee Arithmetic Logic eser eek bee ro ee e e n CLB Slice Timing Models uuusuuus www xilinx com XILINX Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX General Slice Timing Model and Parameters sess 190 Timing Parameletss 2t act eee xor debe boe vid cetus cst ea edad cuta quee 190 Timing Characteristics 53i gu e Piu Hees be a be CEP RYE Wd eee eae 192 Slice Distributed RAM Timing Model and Parameters Available in SLICEM only ssec e re rer ree 193 Distributed RAM Timing Parameters n us unnsa nrun rnern ne 194 Distributed RAM Timing Characteristics o n asaan eee 194 Slice SRL Timing Model and Parameters Available in SLICEM only 196 Slice SRL Timing Parameters resesi sesadean sense cece cee EEA eens 197 Slice SRL Timing Characteristics
272. en dtd dee beati dee e 71 Characteristics of the Deskew Circuit lleeeeeeeeeeee eee 72 Frequency Synthesis i oLeco4 ve Eee pep Ie ee UD pee o aee EACH bee te epa 72 Frequency Synthesis Operation eese 72 Frequency Synthesizer Characteristics s an ee een eee 73 Phase Shif ng x stie ete hee Rep donee edere er Miho rates deba os d 73 Phase Shifting Operation eese hh hh rn 73 Interaction of PSEN PSINCDEC PSCLK and PSDONE 2 0 0 2 00 eee eee 76 Phase Shift Overflow 0 0 0 ccc ccc eee ehh hrs 77 Phase Shift Characteristics 0 0 ccc ee nenene nonen enno 77 Dynamic Reconfiguration series e ihk eek d EA a eee 77 Connecting DCMs to Other Clock Resources in Virtex 4 Devices 78 IBUEG to DEM errare ree iee e Gen Nd ace edebat Ar uc ede he gna 78 DECEM to BUEGGLRE estne ur dett et pedit te ae e cda ec nda 78 BUEGCTRE t o DCM i1 eC e ete e e te de He dee e e ected 78 DCM To arid From PMCD 4 ikeceihteeen macer decer ERR ER ec UR SY EORR 78 Application Examples isi 26a dad ce aee LC ICE CIO OCCORRE CS itd 78 Standard Usage 4 seo see vet T Re ae eR Coe Re ee be REP 79 Board Level Clock Generation seeeeeeeee ee 79 Board Deskew with Internal Deskew esee 81 Clock Switching Between Two DCMS ssssssessses Ie 84 VHDL and Verilog Templates and the Clocking Wizard 84 DCM nnne Models uote ood aka de NU o din oq p de Vie RI ee
273. enable becomes valid at the RDEN input of the FIFO e At time Trcko po after clock event 1 RDCLK data 00 becomes valid at the DO inputs of the FIFO e At time Trcko FULL after clock event 2 WRCLK FULL is deasserted If the rising RDCLK edge is close to the rising WRCLK edge AFULL could be deasserted one WRCLK period later Clock Event 3 and Clock Event 4 Read Operation and Deassertion of Almost FULL Signal Three write clock cycles after the fourth data is read from the FIFO the Almost FULL pin is deasserted to signify that the FIFO is not in the almost FULL state The example in Figure 4 19 reflects both standard and FWFT modes Clock event 3 is with respect to read clock while clock event 4 is with respect to write clock Clock event 4 appears three write clock cycles after clock event 3 e Read enable remains asserted at the RDEN input of the FIFO e At time Trcko po after clock event 3 RDCLK data 03 becomes valid at the DO outputs of the FIFO e At time Trcko Arurr after clock event 4 RDCLK Almost FULL is deasserted at the AFULL pin There is minimum time between a rising read clock and write clock edge to guarantee that AFULL will be deasserted If this minimum is not met the deassertion of AFULL can take an additional write clock cycle 158 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX FIFO Timing Models and Parameters Case 4 Reading From An Empty or Almost Empty FIFO Pri
274. ent decrement function The DLYCE port is the same as pu the CE port in the IDELAY primitive See IDELAY Ports DLYINC Tod 1 Increment decrement number of tap delays in IDELAY The DLYINC port is the pu same as the INC port in the IDELAY primitive See IDELAY Ports Reset IDELAY to pre programmed value If no value programmed reset to 0 The DLYRST Input 1 DLYRST port is the same as the RST port in the IDELAY primitive See IDELAY Ports OCLK Input 1 High speed clock input for memory applications REV Input 1 Reverse SR pin Not available in the ISERDES block connect to GND Carry input for data width expansion Connect to SHIFTOUT1 of master IOB See EPI aput 1 ISERDES Width Expansion Carry input for data width expansion Connect to SHIFTOUT2 of master IOB See PRISE mp 1 ISERDES Width Expansion SR Input 1 E rum This pin only functions as an asynchronous Reset in the ISERDES ISERDES Ports 356 Combinatorial Output O The combinatorial output port O is an unregistered output of the ISERDES module This output can come directly from the data input D or from the data input D via the IDELAY block Registered Outputs Q1 to Q6 The output ports O1 to Q6 are the registered outputs of the ISERDES module The first bit clocked into the ISERDES will be clocked out on Qn where n is the width of the deserialization One ISERDES block can support up to six bits i e a 1 6 deserialization
275. er 5 Configurable Logic Blocks CLBs XILINX 210 Fully Synchronous Shift Registers All shift register primitives and submodules do not use the register s available in the same slice s To implement a fully synchronous read and write shift register output pin Q must be connected to a flip flop Both the shift register and the flip flop share the same clock as shown in Figure 5 31 FF Q Synchronous SRLC16E Output Write Enable P Q15 UGO070 5 31 071504 Figure 5 31 Fully Synchronous Shift Register This configuration provides a better timing solution and simplifies the design Because the flip flop must be considered to be the last register in the shift register chain the static or dynamic address should point to the desired length minus one If needed the cascadable output can also be registered in a flip flop Static Length Shift Registers The cascadable16 bit shift register implements any static length mode shift register without the dedicated multiplexers MUXF5 MUXF6 Figure 5 32 illustrates a 40 bit shift register Only the last SRLC16E primitive needs to have its address inputs tied to 0111 Alternatively shift register length can be limited to 39 bits address tied to 0110 and a flip flop can be used as the last register In an SRLC16E primitive the shift register length is the address input 1 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX Shift
276. error single error corrected double error detected The read operation does not correct the error in the memory array it only presents corrected data on DO This error correction code ECC configuration option is available with almost all block RAM pairs as long as the lower RAM is instantiated in an even numbered row However the ECC configuration cannot use the one block RAM immediately above or below the Virtex 4 PowerPC 405 blocks The functionality of the block RAM is changed when using the ECC mode e The two block RAM ports still have independent address clocks and enable inputs but one port is a dedicated write port and the other is a dedicated read port e DO represents the read data after correction e DO stays valid until the next active read operation e Simultaneous reading and writing even with asynchronous clocks is allowed but requires careful clock timing if read and write addresses are identical e The READ FIRST or WRITE FIRST modes of the normal block RAM operation are not applicable to the ECC configuration Top Level View of the Block RAM ECC Architecture Figure 4 24 shows the top level view of a Virtex 4 block RAM in ECC mode wraddr 9 RDADDR S 0 rdaddr 9 BRAM 64 bit 512 x 36 64 E DI 63 0 Es 64 DOI85 0 Decode Data Out STATUS 1 0 Correct rdaddr WRADDR 8 0 wraddr ug070_4_ECC1_030705 Figure 4 24 Top Level View of Block RAM ECC 162 www xilinx com Virtex 4 User G
277. es INIT 15 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 16 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 17 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 18 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 19 gt X 0000000000000000000000000000000000000000000000000000000000000000 INET 1A gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 1B X 0000000000000000000000000000000000000000000000000000000000000000 INIT 1C X 0000000000000000000000000000000000000000000000000000000000000000 INIT 1D X 0000000000000000000000000000000000000000000000000000000000000000 INIT 1E X 0000000000000000000000000000000000000000000000000000000000000000 INIT 1F X 0000000000000000000000000000000000000000000000000000000000000000 INIT 20 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 21 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 22 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 23 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 24 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 25 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 26 gt X 000000000000000000000000000000000000000000000000
278. es the number of clock enables CE1 and CE2 used The possible values are 1 and 2 default 1 SERDES MODE Attribute The SERDES MODE attribute defines whether the ISERDES module is a master or slave when using width expansion The possible values are MASTER and SLAVE The default value is MASTER See ISERDES Width Expansion ISERDES Clocking Methods ISERDES Internal timing is guaranteed when using one of the recommended clocking methods below Networking Interface type e CLK driven by BUFIO CLKDIV driven by BUFR e CLK driven by DCM CLKDIV driven by the CLKDV output of the same DCM e CLK driven by PMCD CLKDIV driven by CLKA1Dx of same PMCD Memory Interface type e CLK driven by BUFIO or BUFG e OCLK driven by DCM and CLKDIV driven by CLKDV output of same DCM e CLK driven by BUFIO or BUFG e OCLK driven by PMCD and CLKDIV driven by CLKA1Dx of same PMCD No timing relationship between CLK and OCLK is provided It is expected that bit alignment is performed to center align the data when moving from the CLK to the OCLK domain ISERDES Width Expansion Two ISERDES modules are used to build a serial to parallel converter larger than 1 6 In every I O tile see I O Tile Overview in Chapter 6 there are two ISERDES modules one master and one slave By connecting the SHIFTOUT ports of the master ISERDES to the SHIFTIN ports of the slave ISERDES the serial to parallel converter can be expanded to up to 1 10 DDR and 1 8 SD
279. etal 137 Additional Block RAM Primitives 00000000000 ccc ccc cee cece eee 137 Instantiation of Additional Block RAM Primitives 0 00 0 eee eee ee 140 Block RAM Applications os cci d ERR ieee ieee Vlr ieee Rte aet 140 Creating Larger RAM Structures 0 00 6 cece en 140 Block RAM Timing Model 6 304 obuia end oe o ee b e eie e lC 140 Block RAM Timing Parameters ssssssseeeeeeee ee 140 Block RAM Timing Characteristics sssseeeeee eens 141 Clock Event i222 sd bx deser CECI EGG Ga A Pac E ORE 142 Clock Event 2 Ays tetes behets eked teak et ee ee va ia Sol ed aue 142 Clock Event 4 iiu Pu hee Haw Rae CIT CUCPRPBUCCEPPITr4aOG ie ee 143 Clock Event Sa od voee e oe Wd accu Scant ke ae Ido be Bites gt 143 Block RAM Timing Model ecceri niaii cece nen eens 143 Built in FIFO Support 0 0 0 144 EMPTY L terigy eiten reet erp ee Milne Rer pete Fas oderat odere edet tu dar 145 Top Level View of FIFO Architecture esses 146 FIFO Primitive 00 00 0000 0c RR ee 146 FIFO Port Descriptions cs i lt lt siscesdacesieesbexdsh aces Racte hess ese rrr 147 FIFO Operaliols ore gee Een EET ebbe PERI XP E EQUES cO Wall sess 148 Virtex 4 User Guide www xilinx com UGO070 v2 0 January 4 2007 11 12 Operating Mode 6 oc cnn ee Standard Modes voles db VR RI RR RE RTER First Word Fall Through FWFT Mode Status Flags sies eo p ateni rae ER Rp rins Empty Blag sa
280. etween actual and nominal PCB power systems receiver capacitive loading and maximum allowable ground bounce or Vcc bounce A spreadsheet calculator Full Device SSO Calculator automates this process Electrical Basis of SSO Noise Virtex 4 User Guide Power supply disturbance can take the form of ground bounce or Vcc bounce and is usually a combination of the two This bounce is a deviation of the die supply voltage die GND rail or die Vcc rail with respect to the voltage of the associated PCB supply PCB GND rail or PCB Verc rail The deviation of die supplies from PCB supplies comes from the voltage induced across power system parasitics by supply current transients One www xilinx com 301 UGO070 v2 0 January 4 2007 302 Chapter 6 SelectlO Resources XILINX cause of current transients is output driver switching events Numerous output switching events occurring at the same time lead to bigger current transients and therefore bigger induced voltages ground bounce Vcc bounce or rail collapse Relevant transient current paths exist in the die package and PCB therefore parasitics from all three must be considered The larger the value of these parasitics the larger the voltage induced by a current transient power supply disturbance Vcc bounce affects stable high outputs Ground bounce affects stable low outputs Ground bounce also affects inputs configured as certain I O standards because they interpret inco
281. ex 4 Family E cL Eurus ccs a SS a Se a ees Instantiation Section ISERDES U1 O gt data_output Q1 gt Q 0 Q2 gt Q 1 Q3 gt Q 2 Q4 gt Q 3 Q5 gt open Q6 open SHIFTOUT1 gt open SHIFTOUT2 gt open BITSLIP gt bitslip CEl gt ce CE2 open CLK clk CLKDIV clkdiv D data input DLYCE gt dlyce DLYINC gt dlyinc DLYRST gt dlyrst OCLK gt open REV gt open SHIFTIN1 gt open SHIFTIN2 gt open SR gt rst Virtex 4 User Guide www xilinx com 369 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources XILINX 370 BITSLIP Sub Module All ISERDES blocks in Virtex 4 devices contain a Bitslip sub module Bitslip shifts the parallel data in the ISERDES block allowing every combination of a repeating serial pattern received by the deserializer to be presented to the FPGA fabric This repeating serial pattern is typically called a training pattern training patterns are supported by many networking and telecom standards Bitslip Operation By asserting the Bitslip pin of the ISERDES block the incoming serial data stream is reordered at the parallel side This operation is repeated until the training pattern is seen The tables in Figure 8 8 illustrate the effects of a Bitslip operation in SDR and DDR mode For illustrative purposes the data width is eight The Bitslip operation is synchronous to CLKDIV In SDR mode every Bit
282. f the desired M D 9 4 then load M D 8 3 e Hold DCM in reset assert RST signal and release it after the new M and D values are written The CLKFX outputs can be used after LOCKED is asserted High again Connecting DCMs to Other Clock Resources in Virtex 4 Devices Most DCM functions require connection to dedicated clock resources including dedicated clock I O IBUFG clock buffers BUFGCTRLs and PMCD These clock resources are located in the center column of the Virtex 4 devices This section provides guidelines on connecting the DCM to dedicated clock resources IBUFG to DCM Virtex 4 devices contain either 16 or 32 clock inputs These clock inputs are accessible by instantiating the IBUFG component Each top and bottom half of a Virtex 4 device contains eight or 16 IBUFGs Any of the IBUFG in top or bottom half of the Virtex 4 device can drive the clock input pins CLKIN CLKFB PSCLK or DCLK of a DCM located in the same top bottom half of the device DCM to BUFGCTRL Any DCM clock output can drive any BUFGCTRL input in the same top bottom half of the device There are no restrictions on how many DCM outputs can be used simultaneously BUFGCTRL to DCM Any BUFGCTRL can drive any DCM in the Virtex 4 devices However only up to eight dedicated clock routing resources exist in a particular clock region Since the clock routing is accessed via the BUFGCTRL outputs this indirectly limits the BUFGCTRL to DCM connection If eight
283. ffect The REL input is positive edge sensitive Once REL is asserted the input has no further effect until another reset www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX PMCD Usage and Design Guidelines Figure 3 6 illustrates the interaction between the RST and REL signals is nue RST CLKA1 REL CLKA1D 2 4 8 A Deasserted RST l e Release is synchronized is registered Divided output clocks start toggling Delayed output clocks start toggling UGO070 3 06 071404 Figure 3 6 REL Waveform Example Connecting PMCD to other Clock Resources In most applications the PMCD will be used with other clock resources including dedicated clock I O IBUFG clock buffers BUFGCTRLs DCMs and an MGT clock Additionally PMCD inputs and outputs can be connected to the general interconnects This section provides guidelines on connecting a PMCD to clock resources using dedicated routing IBUFG to PMCD Virtex 4 devices contain 16 or 32 global clock I Os These clock I Os are accessible by instantiating the IBUFG component Each top and bottom half of the center column contains eight or 16 IBUFGs Any of the IBUFGs in the top or bottom half can drive the clock input pins CLKA CLKB CLKC or CLKD of a PMCD located in the same top bottom half The routing from multiple IBUFGs to PMCD inputs are not matched DCM to PMCD Any DCM clock output can drive any PMCD input in the s
284. ge of powerful clock management features Virtex 4 User Guide UGO070 v2 0 January 4 2007 Clock Deskew The DCM contains a delay locked loop DLL to completely eliminate clock distribution delays by deskewing the DCM s output clocks with respect to the input clock The DLL contains delay elements individual small buffers and control logic The incoming clock drives a chain of delay elements thus the output of every delay element represents a version of the incoming clock delayed at a different point The control logic contains a phase detector and a delay line selector The phase detector compares the incoming clock signal CLKIN against a feedback input CLKFB and steers the delay line selector essentially adding delay to the output of DCM until the CLKIN and CLKFB coincide Frequency Synthesis Separate outputs provide a doubled frequency CLK2X and CLK2X180 Another output CLKDV provides a frequency that is a specified fraction of the input frequency Two other outputs CLKFX and CLKFX180 provide an output frequency derived from the input clock by simultaneous frequency division and multiplication The user can specify any integer multiplier M and divisor D within the range specified in the DCM Timing Parameters section of the Virtex 4 Data Sheet An internal calculator determines the appropriate tap selection to make the output edge coincide with the input clock whenever mathematically possible For example M 9 and
285. ges are simpler and less restrictive than for NSC packages Sparse Chevron Packages Virtex 4 packaging falls into two categories according to pinout sparse chevron and non sparse chevron The sparse chevron pinout style is an improvement over previous designs offering lower crosstalk and SSO noise The pinout is designed to minimize PDS inductance and keep I O signal return current paths very closely coupled to their associated I O signal The maximum ratio of I O to Vcco GND pin pairs in sparse chevron packages is 8 1 For this reason most of the SSO limits those higher than eight per Vcco GND pair are moot for sparse chevron packages The SSO limits table Table 6 40 reflects this Only I O standards with limits less than eight per Vcco GND pair appear in the table All the other I O standards are designated no limit for the nominal PCB case For boards that do not meet the nominal PCB requirements listed in Nominal PCB Specifications the Virtex 4 SSO calculator is available containing all SSO limit data for all I O standards For designs in nominal PCBs mixing limited and no limit I O standards the Virtex 4 SSO calculator must be used to ensure that I O utilization does not exceed the limit Information on the calculator is available under the Full Device SSO Calculator section Nominal PCB Specifications The nominal SSO tables Table 6 40 and Table 6 42 contain SSO limits for cases where the PCB parameters meet the fol
286. gh Risk Applications Xilinx specifically disclaims any express or implied warranties of fitness for such High Risk Applications You represent that use of the Specification in such High Risk Applications is fully at your risk 2004 2007 Xilinx Inc All rights reserved XILINX the Xilinx logo and other designated brands included herein are trademarks of Xilinx Inc PowerPC is a trademark of IBM Inc All other trademarks are the property of their respective owners Virtex 4 User Guide www xilinx com UG070 v2 0 January 4 2007 Revision History The following table shows the revision history for this document 08 02 04 Version 1 0 Revision Initial Xilinx release Printed Handbook version 09 10 04 11 In Chapter 1 Clock Resources Removed Table 1 6 BUFGMUX_VIRTEX4 Attributes Updated Table 1 1 Table 1 2 Table 1 5 the new Table 1 6 Revised Figure 1 2 Figure 1 5 Figure 1 6 Figure 1 7 Figure 1 9 Figure 1 10 Figure 1 13 Figure 1 14 and Figure 1 16 Associated text around these tables and figures were revised In Chapter 2 Digital Clock Managers DCMs changes to FACTORY JF Attribute and in Table 2 7 In Chapter 9 System Monitor Changed in Figure 9 4 Figure 9 5 Figure 9 7 Figure 9 8 Figure 9 9 Figure 9 10 Figure 9 21 Figure 9 25 Figure 9 26 and Figure 9 27 Changes to the equation in the Temperature Sensor section The following tables had changes Table 9 3 Table
287. gnal is not valid if the phase shift feature is not being used or is in fixed mode Status or Dynamic Reconfiguration Data Output DO 15 0 The DO output bus provides DCM status or data output when using dynamic reconfiguration Table 2 5 Further information on using DO as the data output is available in the Dynamic Reconfiguration chapter of the Virtex 4 Configuration Guide for more information If the dynamic reconfiguration port is not used using DCM BASE or DCM PS instead of DCM ADV is strongly recommended Table 2 5 DCM Status Mapping to DO Bus DO Bit Status Description DO 0 Phase shift overflow Asserted when the DCM is phase shifted beyond the allowed phase shift value or when the absolute delay range of the phase shift delay line is exceeded DO 1 CLKIN stopped Asserted when the input clock is stopped CLKIN remains High or Low for one or more clock cycles When CLKIN is stopped the DO 1 CLKIN stopped status will assert within nine CLKIN cycles When CLKIN is restarted CLKO will start toggling and DO 1 will deassert within nine clock cycles DO 2 CLKFX stopped Asserted when CLKFX stops The DO 2 CLKFX stopped status will assert within 257 to 260 CLKIN cycles after CLKFX stopped CLKFX will not resume and DO 2 will not deassert until the DCM is reset www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX DCM Attributes Table 2 5 DCM Status Mapping to DO
288. gt All Bank SSO average 75 4 gt 32 9 OK If the package SSO exceeds the SSO allowance apply ground bounce reduction techniques to one or more of all I O banks until the all bank SSO average is less than or equal to the SSO allowance Full Device SSO Calculator A Microsoft Excel based spreadsheet the Virtex 4 SSO Calculator automates all the PFDM and WASSO calculations The Virtex 4 SSO calculator uses PCB geometry board thickness via diameter and breakout trace width and length to determine power system inductance It determines the smallest undershoot and logic low threshold voltage among all input devices calculates the average output capacitance and determines the SSO allowance by taking into account all of the board level design parameters mentioned in this document In addition the Virtex 4 SSO calculator checks the adjacent bank and package SSO ensuring the full device design does not exceed the SSO allowance Since bank number assignment for Virtex 4 devices is different from package to package due to its columnar architecture versus the peripheral I O architecture of previous devices there is a separate tab at the bottom of the SSO calculator display for each Virtex 4 package This customizing allows for the arrangement of physically adjacent banks as they appear clockwise on each unique package even though they are not labeled in a contiguous manner and the hard coding of the number of Vcco GND pairs per bank The
289. gure 6 31 and Figure 6 32 illustrate a controlled driver with half impedance unidirectional and bidirectional termination To match the drive impedance to Zo when using a driver with half impedance the reference resistor R must be twice Zp IOB OB LVDCI DV2 LVDCI DV2 lt H Ro Rygw Rypp Zo QO 5 eo ug070 6 31 071904 Figure 6 31 Controlled Impedance Driver with Half Impedance Unidirectional Termination IOB 108 LVDCI_DV2 LVDCI_DV2 O 5 eo Z5 Ro Rypy Rypp o Ro Rypy Rypp o ug070 6 32 071904 Figure 6 32 Controlled Impedance Driver with Half Impedance Bidirectional Termination There are no drive strength settings for LVDCI drivers When the driver impedance is one half of the VRN VRP reference resistors it is indicated by the addition of DV2 to the attribute name Table 6 5 lists the LVCMOS LVDCI and LVDCI DV2 voltage specifications Table 6 5 LVCMOS LVDCI and LVDCI DV2 DC Voltage Specifications at Various Voltage References 3 3V 2 5V 1 8V 1 5V Standard Min Typ Max Min Typ Max Min Typ Max Min Typ Max Vin V 2 0 3 6 1 7 2 7 1 19 1 95 1 05 1 65 Vi V 05 0 8 05 07 05 04 05 0 3 Vou V 26 19 a 13 105 VoL V 0 4 0 4 0 4 0 4 Virtex 4 User Guide www x
290. gure 6 59 shows a sample circuit illustrating a valid termination technique for SSTL2 Class I External Termination Eo eee Vez 1 25V IOB SSTL2 SSTL2 Rg 250 Rp 29 500 B3 w Q2 x Vper 1 25V DER E ea L DCI IOB IOB Vcco Bu 5M 2Rynp 3 2Z9 1000 SSTL2 DCI SSTL2 DCI gt 0 2 x V 1 25V Ro 250 REF 2 2Rypy 2Zg 1002 L ug070 6 57 071904 Figure 6 59 SSTL2 Class Termination Table 6 26 lists the SSTL2 DC voltage specifications for Class I Table 6 26 SSTL2 DC Voltage Specifications Class Min Typ Max Vcco 2 3 2 5 2 7 Veer 0 5 x Veco 1 13 1 25 1 38 Ver Vgge NO 1 09 1 25 1 42 Vig Vggp 0 15 1 28 14 3 00 Vi Veep 0 15 0 30 1 1 1 23 Vou Veer 0 61 1 74 1 84 1 94 VoL lt Vggr 0 6109 0 56 0 66 0 76 Iou at Voy mA 8 1 270 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Table 6 26 SSTL2 DC Voltage Specifications Class Continued Min Typ Max lor at Vor mA 8 1 Notes 1 N must be greater than or equal to 0 04 and less than or equal to 0 04 2 Vy maximum is Vcco 0 3 3 Vy minimum does not conform to the formula 4 Because SSTL2 I DCI uses a controlled impedance driver Voy and Vo are different SSTL2 Class II 2 5V Figure 6 60 shows a samp
291. hase 98 A PMCD allows three additional input clocks CLKB CLKC CLKD to pass through the same delay as CLKA Thus the corresponding clock outputs CLKB1 CLKC1 and CLKD1 maintain the same phase relation to each other as well as the CLKA outputs CLKA1 CLKA1D2 CLKA1D4 CLKA1D6 and CLKA1D8 as their input By matching the delay inserted to all inputs a PMCD preserves the phase relation of its divided clock to other clocks in the design Figure 3 4 illustrates CLKA CLKB CLKC and CLKD with a 90 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX PMCD Usage and Design Guidelines phase difference and the resulting PMCD outputs CLKA1 CLKB1 CLKC1 and CLKD1 reflect the duty cycle of their corresponding input CLKA1D2 CLKA1D4 CLKA1D8 TPMCCKO_CLKIN ug070_3_04_071404 Figure 3 4 Matched Clock Phase Reset RST and Release REL Control Signals RST and REL are the control signals for the PMCD The interaction between RST REL and the PMCD input clocks help manage the starting and stopping of PMCD outputs The reset RST signal affects the PMCD clock outputs in the following manner e Asserting RST asynchronously forces all outputs Low e Deasserting RST synchronously allows all outputs to toggle The delayed outputs begin toggling one cycle after RST is deasserted and is registered IfEN_REL FALSE default the divided outputs will also
292. hat can be applied to the DIFF_HSTL I O standards Table 6 25 Allowed Attributes of the DIFF_HSTL I O Standards Primitives Attributes IBUFDS IBUFGDS OBUFDS OBUFTDS IOBUFDS IOSTANDARD All possible DIFF HSTL standards CAPACITANCE LOW NORMAL DONT CARE SSTL Stub Series Terminated Logic The Stub Series Terminated Logic SSTL for 2 5V SSTL2 and 1 8V SSTL18 is a standard for a general purpose memory bus These standards are sponsored by Hitachi IBM and are defined in the JEDEC JESD8 15 documents The standard has two classes Class I is for unidirectional and class II is for bidirectional signaling Virtex 4 I O supports both standards for single ended signaling and Class II only for differential signaling This standard requires a differential amplifier input buffer and a push pull output buffer SSTL2 I SSTL18 I Usage Class I signaling uses Vtr Vcco 2 as a parallel termination voltage to a 50 Q resistor at the receiver A series resistor 25 Q at 2 5V 20 Q at 1 8V must be connected to the transmitter output SSTL2 I DCI SSTL18 DCI Usage The DCI transmitter provides the internal series resistance 25 at 2 5V 20 O at 1 8V The DCI receiver has an internal split thevenin termination powered from Vcco creating an equivalent Vrr voltage and termination impedance www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX Virtex 4 User Guide www xilinx com Specific Guide
293. havior in these five cases e Case 1 Writing to an Empty FIFO e Case 2 Writing to a Full or Almost Full FIFO e Case 3 Reading From a Full FIFO e Case 4 Reading From An Empty or Almost Empty FIFO e Case 5 Resetting All Flags www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX FIFO Timing Models and Parameters Case 1 Writing to an Empty FIFO Virtex 4 User Guide Prior to the operations performed in Figure 4 17 the FIFO is completely empty 1 23 4 WRCLK l l gt TrFcCK WREN l WREN L Trpck pi Q TFDCK DI DI CROCO CES CODCOD 06 RDCLK l l l l l l l RDEN l l mE F Trcko po DO 00 I7 TrcKO_EMPTY EMPTY l TrFcKO AEMPTY k AEMPTY i iu i ug070_4_17_071204 Figure 4 17 Writing to an Empty FIFO in FWFT Mode Clock Event 1 and Clock Event 3 Write Operation and Deassertion of EMPTY Signal During a write operation to an empty FIFO the content of the FIFO at the first address is replaced by the data value on the DI pins Three read clock cycles later four read clock cycles for FWFT mode the EMPTY pin is deasserted when the FIFO is no longer empty For the example in Figure 4 17 the timing diagram is drawn to reflect FWFT mode Clock event 1 is with respect to the write clock while clock event 3 is with respect to the read clock C
294. he replicated instances are connected to an auto generated AND gate The implementation tools assign the signal name connected to the RDY port of the non location constrained instance to the output of the AND gate All the ports of the location constrained instances RST REFCLK and RDY are independent from each other and from the replicated instances The VHDL and Verilog use models for instantiating a mixed usage model are provided In the example a user is instantiating a non location constrained IDELAYCTRL instance with the RDY signal connected This discussion is also valid when the RDY signal is ignored Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 337 Chapter 7 SelectlO Logic Resources XILINX VHDL Use Model Multiple instantiations of IDELAYCTRL primitives with LOC constraints Each instance has its own RST and RDY signal to allow for partial reconfiguration The REFCLK signal is common to all instances LOC and replicated instances dlyctrl 1 IDELAYCTRL port map RDY gt rdy _1 REFCLK gt refclk RST gt rst 1 dlyctrl 2 IDELAYCTRL port map RDY gt rdy 2 REFCLK gt refclk RST rst 2 Me dlyctrl n IDELAYCTRL port map RDY rdy n REFCLK refclk RST gt rst n The user should either declare the LOC constraints in the VHDL design file or in the UCF file Declaring LOC constraints in the VHDL file attribute loc st
295. he DESKEW ADJUST attribute sets the value for a configurable variable tap delay element to control the amount of delay added to the DCM feedback path see Figure 2 4 Data Input FF CLK DCM Into the Source IBUFG FPGA gt D gt Regulator Feedback Tap Delays System Synchronous Source Synchronous Default Setting Setting Delay set to zero ug070_2_04_071204 Figure 2 4 DCM and Feedback Tap Delay Elements This delay element allows adjustment of the effective clock delay between the clock source and CLKO to guarantee non positive hold times of IOB input flip flop in the device Adding more delay to the DCM feedback path decreases the effective delay of the actual clock path from the FPGA clock input pin to the clock input of any flip flop Decreasing the clock delay increases the setup time represented in the input flip flop and reduces any positive hold times required The clock path delay includes the delay through the IBUFG route DCM BUFG and clock tree to the destination flip flop If the feedback delay equals the clock path delay the effective clock path delay is zero System Synchronous Setting Default By default the feedback delay is set to system synchronous mode The primary timing requirements for a system synchronous system are non positive hold times or minimally positive hold times and minimal clock to out and setup times Faster clock to out and setup times allow shorter system cl
296. he INIT or to theINIT A and INIT B value see Block RAM Attributes A GSR signal has no impact on internal memory contents Because it is a global signal the GSR has no input pin at the functional level block RAM primitive Unused Inputs Unused Data and or address inputs should be tied High Block RAM Address Mapping Virtex 4 User Guide Each port accesses the same set of 18 432 memory cells using an addressing scheme dependent on the width of the port The physical RAM locations addressed for a particular width are determined using the following formula of interest only when the two ports use different aspect ratios www xilinx com 123 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM 2 XILINX END ADDR 1 Width 1 START ADDR Width Table 4 3 shows low order address mapping for each port width Table 4 3 Port Address Mapping n in Data Locations 1 N A 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 2 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 4 7 6 5 4 3 2 1 0 8 1 3 2 10 3 2 1 0 16 2 1 0 1 0 32 4 0 0 Block RAM Attributes 124 All attribute code examples are shown in the Block RAM VHDL and Verilog Templates section Further information on using
297. he most common case is two or three clocks CLKIN can be restarted with any phase relationship to the previous clock If the frequency has changed the DCM requires a reset The DO 1 is forced Low whenever LOCKED is Low When the DCM is in the locking process DO 1 status is held Low until LOCKED is achieved Output Clocks Any or all of the DCM s nine clock outputs can be used to drive a global clock network The fully buffered global clock distribution network minimizes clock skew caused by loading differences By monitoring a sample of the output clock CLKO the deskew circuit compensates for the delay on the routing network effectively eliminating the delay from the external input port to the individual clock loads within the device All DCM outputs can drive general interconnect however these connections are not suitable for critical clock signals It is recommended that all clock signals should be within the global or regional clock network Refer to Chapter 1 Clock Resources for more information on using clock networks Output pin connectivity carries some restrictions The DCM clock outputs can each drive an OBUF a global clock buffer BUFGCTRL or they can route directly to the clock input of a synchronous element To use dedicated routing the DCM clock outputs must drive BUFGCTRLs on the same top or bottom half of the device If the DCM and BUFGCTRL are not on the same top or bottom half local routing is used and the DCM might
298. he regular data out bus DO and the parity data out bus DOP when available have a total width equal to the port width as shown in Table 4 2 Cascade CASCADEIN AIB The CASCADEIN pins are used to connect two block RAMs to form the 32K x 1 mode This pin is used when the block RAM is the UPPER block RAM and is connected to the CASCADEOUT pins of the LOWER block RAM When cascade mode is not used this pin does not need to be connected Refer to the Cascadable Block RAM for further information Cascade CASCADEOUTT AIB The CASCADEOUT pins are used to connect two block RAMs to form the 32K x 1 mode This pin is used when the block RAM is the LOWER block RAM and is connected to the CASCADEIN pins of the UPPER block RAM When cascade mode is not used this pin does not need to be connected Refer to the Cascadable Block RAM for further information Inverting Control Pins GSR For each port the five control pins CLK EN WE REGCE and SSR each have an individual inversion option Any control signal can be configured as active High or Low and the clock can be active on a rising or falling edge active High on rising edge by default without requiring other logic resources The global set reset GSR signal of a Virtex 4 device is an asynchronous global signal that is active at the end of device configuration The GSR can also restore the initial Virtex 4 state at any time The GSR signal initializes the output latches to t
299. he rising edges and falling edges of C as well as meeting the register setup time relative to both clock edges e At time Topcy before Clock Event 1 rising edge of C the data signal D1 becomes valid high at the D1 input of ODDR register 1 and is reflected on the OQ output at time Tocko after Clock Event 1 Clock Event 2 e At time Topcy before Clock Event 2 falling edge of C the data signal D2 becomes valid high at the D2 input of ODDR register 2 and is reflected on the OQ output at time Tocko after Clock Event 2 no change at the OQ output in this case Clock Event 9 At time Tosrcx before Clock Event 9 rising edge of C the SR signal configured as synchronous reset in this case becomes valid high resetting ODDR Register 1 reflected at the OQ output at time Tro after Clock Event 9 no change at the OQ output in this case and resetting ODDR Register 2 reflected at the OQ output at time Trg after Clock Event 10 no change at the OQ output in this case 350 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Virtex 4 User Guide Figure 7 28 illustrates the OLOGIC 3 state register timing OLOGIC Resources UGO70 7 28 080204 Figure 7 28 OLOGIC 3 State Register Timing Characteristics Clock Event 1 At time Torceck before Clock Event 1 the 3 state clock enable signal becomes valid high at the TCE input of the 3 state register enabling the 3 state register for incoming data
300. hind the I O drivers and receivers covered in Chapter 6 SelectIO Resources Virtex 4 FPGAs contain all of the basic I O logic resources from Virtex II Virtex II Pro FPGAs These resources include the following e Combinatorial input output e 3 state output control e Registered input output e Registered 3 state output control e Double Data Rate DDR input output e DDR output 3 state control In addition the following architectural improvements have been implemented e IDELAY provides users control of an adjustable fine resolution input delay element e SAME_EDGE output DDR mode e SAME EDGE and SAME EDGE PIPELINED input DDR mode ILOGIC Resources ILOGIC blocks include four storage elements and a programmable absolute delay element shown in Figure 7 1 To build an edge triggered D type flip flop the topmost register IFF1 is used Only this register can optionally be configured as a level sensitive latch The other three registers IFF2 IFF3 and IFF4 are used to build various input DDR registers See Input DDR Overview IDDR page 311 for further discussion on input DDR All ILOGIC block registers have a common clock enable signal CE1 that is active High by default If left unconnected the clock enable pin for any storage element defaults to the active state All ILOGIC block registers have a common synchronous or asynchronous set and reset SR and REV signals The set reset input pin SR forces the storage eleme
301. hype RAE Ee E PEE RP uae ie ee 46 Declaring Constraints in UCF File eese 47 Virtex 4 User Guide www xilinx com UGO070 v2 0 January 4 2007 XILINX BUFGMUX and BUFGMUX 1 VHDL and Verilog Templates 47 VIDE Template te td e Dad r eed eh wate Re does d cuta dese dde 47 Verilog Template ieri REESE E RET RT E E ete RICE REV Sv REPOS 47 Declaring Constraints in UCE File esses 48 BUFGMUX VIRTEX4 VHDL and Verilog Templates 000 48 VADE Template 5 52 95 xr eb sco eme edu ete de Dear cea teca det suem 48 Verilog Template cs zar pega I uiu I e RUE RC VR eed 49 Declaring Constraints in UCE File esses 49 BUFIO VHDL and Verilog Templates ssssssseeeeeeeee 49 VADE Templates 57e be alam diag kei ducet acest Ces die ista queda 49 Verilog Template isset beets ore aes eee PE aam iy d ae e rere 50 Declaring Constraints in UCF File esses 50 BUFR VHDL and Verilog Templates l sssssssseeeseee 50 VIDE Temp late sits atten pattie i e EG tein duit bc pd Gee fe a qa 51 Verilog Template ius cee ih den ER wees Dee eee eh Pew Va iG vate 51 Declaring Constraints in UCE File esses 52 Chapter 2 Digital Clock Managers DCMs DCM Summary ioris oe e eREEE D E inate uecd ei DCM Primitives dle RR Rer e ea bs eR DCM BASE Primitive 0 0 00 0000 IDCM PS Primitive acs iii Hie orit et Eee ga DCM ADV Primitive 0 0 0 00020 c
302. ial function up to 35 inputs or a 16 1 MUX ina Virtex 4 CLB 184 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX CLB Overview Slice S3 OUT_F Slice SO ae UGO70 5 16 071504 Figure 5 16 LUTs and MUXF5 MUXF6 and MUXF7 in One CLB Virtex 4 User Guide www xilinx com 185 UGO070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX 32 1 Multiplexer Slice S3 of each CLB has a MUXF8 Combinatorial functions of up to 68 inputs or a 32 1 MUX fit in two CLBs as shown in Figure 5 17 The outputs of two MUXF7 are combined through dedicated routing resources between two adjacent CLBs in a column D MUXF8 Slice S3 D MUXF6 Slice S1 Slice S2 D MUXF6 Slice SO OUT F8 Slice S3 D MUXF6 Slice S1 Slice S2 D MUXF6 Slice SO UGO070 5 17 071504 Figure 5 17 MUXF8 Combining Two Adjacent CLBs 186 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX DATA O DATA 1 DATA 2 DATA 3 DATA 4 DATA 5 DATA 6 DATA 7 SELECT 0 SELECT 1 SELECT Wide Input Multiplexer Summary CLB Overview Each LUT can implement a 2 1 multiplexer In each slice the MUXF5 and two LUTs can implement a 4 1 multiplexer The MUXF6 and two slices can implement a 8 1 multiplexer The MUXF7 and
303. ic D2 in std ulogic D3 in std ulogic D4 in std ulogic D5 in std ulogic D6 in std ulogic OCE in std ulogic REV in std ulogic SHIFTIN1 in std ulogic SHIFTIN2 in std ulogic SR in std ulogic T1 in std ulogic T2 in std ulogic T3 in std ulogic T4 in std ulogic TCE in std ulogic Me end component Example OSERDES instantiation U_OSERDES OSERDES Port map OQ gt user oq SHIFTOUT1 gt user_shiftoutl SHIFTOUT2 gt user_shiftout2 TQ gt user_tq 382 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX Output Parallel to Serial Logic Resources OSERDES CLK gt user clk CLKDIV user clkdiv D1 gt user dl D2 gt user_d2 D3 gt user_d3 D4 gt user d4 D5 gt user d5 D6 gt user_d6 OCE gt user_oce REV gt user_rev SHIFTIN1 gt user_shiftin1 SHIFTIN2 gt user_shiftin2 SR gt user_sr T1 gt user t1 T2 gt user t2 T3 gt user t3 T4 gt user t4 TCE user tce OSERDES Verilog Template Example OSERDES module declaration module OSERDES DA D5 D6 OQ SHIFTOUT1 OCE REV SHIFTIN1 parameter parameter DATA RATE OQ DATA RATE TQ DDR DDR SHIFTOUT2 SHIFTIN2 parameter parameter parameter A DATA_WIDTH 4 INIT OQ 1 b0 INIT TQ 1 b0 parameter S ERDES_MODE MASTER
304. igure 7 11 shows the IDELAY primitive IDELAY INC RST ug070 7 11 080104 Figure 7 11 IDELAY Primitive Table 7 6 lists the available ports in the IDELAY primitive Table 7 6 IDELAY Primitive Nae Direction Function I Input Serial input data from IOB C Input Clock input when in Variable mode INC Input Increment decrement number of tap delays when in Variable mode CE Input Enable increment decrement function when in Variable mode RST Input Reset delay element to pre programmed value If no value programmed reset to 0 O Output Combinatorial output IDELAY Ports Data Input and Output and O The data input I is driven by its associated IOB i e input from the pin The IDELAY data output O can drive directly to the fabric to the registers in the ILOGIC block or to both Clock Input C All control inputs to IDELAY RST CE and INC are synchronous to the clock input C A clock must be connected to this port when IDELAY is configured in variable mode Virtex 4 User Guide www xilinx com 321 UGO070 v2 0 January 4 2007 322 Chapter 7 SelectlO Logic Resources XILINX Module Reset RST The IDELAY reset signal RST resets the delay element to a value set by the IOBDELAY VALUE attribute If the IOBDELAY VALUE attribute is not specified a value of 0 is assumed The RST signal is an active High reset and is synchronous to the input clock signal C Increment
305. ilinx com 211 Chapter 5 Configurable Logic Blocks CLBs XILINX Templates for the SHIFT_REGISTER_16_C module are provided in VHDL and Verilog code as an example VHDL Template Module SHIFT REGISTER C 16 Description VHDL instantiation template CASCADABLE 16 bit shift register with enable Device Virtex 4 Family SRLC16E Components Declarations component SRLC16E INIT bit_vector X 0000 jus port D in std logic CE in std logic CLK in std logic AO in std_logic Al in std_logic A2 in std_logic A3 in std_logic Q out std logic Q15 out std logic Jus end component Architecture Section Attributes for Shift Register initialization 0 by default attribute INIT attribute INIT of U_SRLC16E string label is 0000 ShiftRegister Instantiation optional U SRLC16E SRLC16E port map D gt insert input signal CE gt insert Clock Enable signal CLK gt insert Clock signal AO gt insert Address 0 signal Al gt insert Address 1 signal A2 gt insert Address 2 signal A3 gt insert Address 3 signal Q insert output signal gt insert cascadable output signal Verilog Template Module SHIFT_REGISTER_16 Description Verilog instantiation template Cascadable 16 bit Shift Register with Clock Enable SRLC16E Device Virtex 4 Family POSS OR AS
306. ilinx com 243 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Table 6 5 LVCMOS LVDCI and LVDCI DV2 DC Voltage Specifications at Various Voltage References Continued 3 3V 2 5V 1 8V 1 5V Standard Min Typ Max Min Typ Max Min Typ Max Min Typ Max Tn HA 5 5 5 e VED us Notes Vo and Voy for lower drive currents are sample tested HSLVDCI High Speed Low Voltage Digitally Controlled Impedance The HSLVDCI standard is intended for bidirectional use The driver is identical to LVDCI while the input is identical to HSTL and SSTL By using a Vpgr referenced input HSLVDCI allows greater input sensitivity at the receiver than when using a single ended LVCMOS type receiver Sample circuits illustrating both unidirectional and bidirectional termination techniques for an HSLVDCI controlled impedance driver are shown in Figure 6 29 and Figure 6 30 The DCI I O standards supporting a controlled impedance driver with a Vpgp referenced input are HSLVDCI 15 HSLVDCI 18 HSLVDCI 25 and HSLVDCI 33 IOB IOB HSLVDCI HSLVDCI gon A V V 2 REF Vcco Ro Rynw Rypp Zo L ug070 6 80 012106 Figure 6 33 HSLVDCI Controlled Impedance Driver with Unidirectional Termination IOB IOB HSLVDCI HSLVDCI Veer Vcco 2 Ro Rynw Rypp Zo Ro
307. imitive 0 0 0 0 000 c cece IDELAYCTRL Ports 0 0 0 c cece ee eens IDELAYCTRL Timing seen IDELAYCTRL Locations sese IDELAYCTRL Usage and Design Guidelines OLOGIC Resources essen Combinatorial Output Data and 3 State Control Path Output DDR Overview ODDR OPPOSITE EDGE Mode 00 0005 SAME EDGE Mode slseeeee eee eee Clock Forwarding lees Output DDR Primitive ODDR ODDR VHDL and Verilog Templates ODDR VHDL Template l seeleeeeese www xilinx com 2 XILINX Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX ODDR Verilog Templates 2 ssbecc rer dhe nnmis bone wagered ERR 347 OLOGIC Timing Models en 348 Timing Characteristics s seyss ciues he Ur ERE IER A Y Wd e E a 349 Chapter 8 Advanced SelectlO Logic Resources Introduction usse e hl 353 Input Serial to Parallel Logic Resources ISERDES Luuuuue 353 ISERDES Primitive einer Set ei ERR ERE Re a por Pte eee de En Woe een 355 ISERDES POEIS 3 rto e e eat esce eee Ree ede ee o e gre a Ree Nr 356 Combinatorial Output O i t bes eeDa ek v bebe ee Wa esce a 356 Registered Outputs Q1 to Q6 2 nn 356 Bitslip Operation BITSLIP i petes i ere dE Ce decedere aes 356 Clock Enable Inputs CE1 and CE2 0 6 ccc eens 356 High Speed Clock Input CLK 0 ec nnn 35
308. in Timing Model and Parameters Figure 5 26 illustrates a carry chain in a Virtex 4 slice Some elements of the Virtex 4 slice have been omitted for clarity Only the elements relevant to the timing paths described in this section are shown 198 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX CLB Slice Timing Models COUT CYMUXG FXINA gt MUXFX FXINB C gt D Q FF LAT G CE CLK SR REV inputs F inputs D Q FF LAT CE CLK SH REV i G IN ug070 5 26 071504 Figure 5 26 Simplified Virtex 4 Slice Carry Chain Diagram Virtex 4 User Guide www xilinx com 199 UGO070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX Slice Carry Chain Timing Parameters Table 5 8 shows the slice carry chain timing parameters for a majority of the paths in Figure 5 26 Table 5 8 Slice Carry Chain Timing Parameters Parameter Function Description Sequential Delays for Slice LUT Configured as Carry Chain Tgxcy BX BY input to Cour Propagation delay from the BX BY inputs of the slice to Coyy output of the Tpycy output slice Typ Cyn input to Cour Propagation delay from the Cyy input of the slice to Cozy output of the slice output Tranpcy F G input to Court Propagation delay from the F G inputs of
309. in that region The DCM companion module PMCD if directly connected to a global clock will also utilize the global clocks in the same region XC4VLX15 has 8 Clock Regions XC4VLX100 has 24 Clock Regions All clock regions span half the die All clock regions are 16 CLBs tall 8 CLBs up and 8 CLBs down L Center Column Logic Resources UG070_1_17_071304 Figure 1 17 Clock Regions www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX Table 1 6 Virtex 4 Clock Regions Device Number of Clock Regions LX Family XC4VLX15 8 XC4VLX25 12 XC4VLX40 16 XCAVLX60 16 XCAVLX80 20 XC4VLX100 24 XC4VLX160 24 XC4VLX200 24 SX Family XCAVSX25 8 XC4VSX35 12 XCAVSX55 16 FX Family XCAVFX12 8 XC4VFX20 8 XCAVFX40 12 XCAVFEX60 16 XC4VFX100 20 XC4VFX140 24 Regional Clocking Resources Regional clock networks are a set of clock networks independent of the global clock network Unlike global clocks the span of a regional clock signal is limited to three clock regions These networks are especially useful for source synchronous interface designs Regional Clocking Resources To understand how regional clocking works it is important to understand the signal path of a regional clock signal The Virtex 4 regional clocking resources and network consist of the following paths and components e Clock Capable I O e I
310. ination DCI IOB 10B DIFF HSTL Il DCI 18 2Rypp Es 2Zg 1000 X 2Rypy 2Zg 1002 O 5 eo E 2Rypy 7229 1009 piEE nsT pci 18 DIFF HSTL Il DCI 18 2Rypp 2Zg 1002 Dd 2Rygw 2Zg 1002 Q 5 eo l l I l l l l ug070 6 51 121206 Figure 6 53 Differential HSTL 1 8V Class Il DCI Unidirectional Termination Figure 6 54 shows a sample circuit illustrating a valid termination technique for differential HSTL Class II 1 8V with bidirectional termination External Termination r IOB IOB V 0 9V TT Vr 0 9V DIFF HSTL Il 18 DIFF HSTL Il 18 500 500 X Oz K Vr 0 9V Vr 0 9V DIFF HSTL Il 18 DIFF HSTL Il 18 500 Dd C 7o DIFF HSTL Il 18 DIFF HSTL Il 18 ug070 6 52 071904 Figure 6 54 Differential HSTL 1 8V Class II Bidirectional Termination Virtex 4 User Guide www xilinx com 263 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources DCI 2 XILINX Figure 6 55 shows a sample circuit illustrating a valid termination technique for differential HSTL Class II 1 8V with bidirectional DCI termination DIFF HSTL Il DCI 18 DIFF HSTL Il DCI 18 2Rypp 2Zg 1000 2Rygw 2Zg 1000 IOB OB 2Rypp 2Zo 1000 2Rypy 2Zo 1002 DIFF_HSTL_II_DCI_18 DIFF HSTL Il DCI 18 DIFF HSTL Il DCI 18 Veco 1 8V
311. ing Factor SF1 Lpps Nom Lpps_ USER 1 0 nH 1 1 nH 0 909 Second Scaling Factor SF2 VpisruRBANCE_USER VDISTURBANCE_NOM 550 mV 600 mV 0 917 Third Scaling Factor SF3 VpIsTURBANCE_NOM CLOAD_USER CLOAD_NOM 9 mV pF VpisrURBANCE NOM 600 mV 22 pF 15 pF x 9 mV pF 600 mV 600 mV 663 mV 0 905 SSO Allowance SF1 x SF2 x SF3 x 100 0 909 x 0 917 x 0 905 x 100 75 496 Weighted Average Calculation of SSO Virtex 4 User Guide This section describes the SSO calculation where the SSO contributions of all I O in a bank are combined into a single figure SSO of an individual bank is calculated by summing the SSO contributions of the individual I O standards in the bank The SSO contribution is the percentage of full utilization of any one I O standard in any one bank For drivers of each I O standard the calculation follows Bank SSO limit L O group n I O Standard SSO limit x Equivalent Vcco GND pairs in bank SSO Contribution I O group n quantity of drivers Bank SSO limit For a bank with drivers of multiple I O standards the SSO calculation is Bank SSO y 550 Contribution n 1 to n A sample SSO calculation follows The system parameters used are Device XC4VLX60 FF1148 Bank 1 I O Standards Quantities SSTL2 II 22 LVCMOS25 16 Fast 6 LVCMOS25 6 Fast 19 www xilinx com 303 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX 304 Fir
312. input clock domain UGO070 3 10 071404 Figure 3 10 PMCD Driven by BUFG and Synchronous Logic PMCD for Further Division of Clock Frequencies PMCDs can be used to further divide clock frequencies A dedicated local connection exists from the CLKA1D8 output of each PMCD to the CLKA input of the other PMCD within the same tile group of two Thus only CLKA1D8 can directly connect two PMCDs in series Figure 3 11 illustrates an example of dividing clock frequencies using a DCM and a PMCD Note the following guidelines e The CLKDV output is connected to CLKA of PMCD to allow further frequency division e The CLKO feedback clock is connected to CLKB and the RST DEASSERT CLK attribute is set to CLKB These connections and settings ensure synchronous PMCD outputs DCM PMCD CLKIN CLKO CLKFB gt CLKB CLKA1D8 gt 1 128 Reset CLKDV reset 16 RST Reset CLKB1 RST LOCKED CLKDV_DIVIDE 16 RST_DEASSERT_CLK CLKB EN_REL FALSE UGO70_3_11_071404 Figure 3 11 DCM to PMCD for Clock Frequency Division Figure 3 12 illustrates an example of dividing clock frequencies using two PMCDs in series Note the following guidelines 104 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX VHDL and Verilog Templates and the Clocking Wizard e A dedicated local connection exists from the CLKA1D8 output of each PMCD to the CLKA and CLKB inputs of the other PMCD within
313. instantiation of the new MUXFX to guarantee an optimized result Table 5 17 lists available submodules Table 5 17 Available Submodules UGO070 v2 0 January 4 2007 Submodule Multiplexer Control Input Output MUX 2 1 SUBM 2 SELECT I DATA 1 1 0 DATA O MUX 4 1 SUBM 4 1 SELECT 1 1 0 DATA 1 3 0 DATA O MUX 8 1 SUBM 8 1 SELECT 1 2 0 DATA 1 8 0 DATA O MUX 16 1 SUBM 16 1 SELECT I 3 0 DATA 1 15 0 DATA O MUX 32 1 SUBM 32 1 SELECT I 4 0 DATA 1 31 0 DATA O www xilinx com 213 Chapter 5 Configurable Logic Blocks CLBs XILINX 214 Port Signals Data In DATA The data input provides the data to be selected by the SELECT I signal s Control In SELECT The select input signal or bus determines the DATA I signal to be connected to the output DATA O For example the MUX 4 1 SUBM multiplexer has a 2 bit SELECT I bus and a 4 bit DATA I bus Table 5 18 shows the DATA I selected for each SELECT I value Table 5 18 Selected Inputs SELECT 1 0 DATA O 00 DATA I 0 01 DATA I 1 10 DATA I 2 11 DATA I 3 Data Out DATA O The data output O provides the data value 1 bit selected by the control inputs Multiplexer Verilog VHDL Examples Multiplexers are used in various applications These are often inferred by synthesis tools when a case statement is used see the following example Comparators encoder decoders and wide input combinatorial functions
314. int LOC must be used to specify the I O location of an instantiated I O primitive The possible values for the location constraint are all the external port identifiers e g A8 M5 AM6 etc These values are device and package size dependent The LOC attribute uses the following syntax in the UCF file INST I O BUFFER INSTANTIATION NAME LOC EXTERNAL PORT IDENTIFIER Example INST MY IO LOC R7 234 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX Virtex 4 SelectlO Primitives lOStandard Attribute The IOSTANDARD attribute is available to choose the values for an I O standard for all I O buffers The supported I O standards are listed in Table 6 38 The IOSTANDARD attribute uses the following syntax in the UCF file INST I O BUFFER INSTANTIATION NAME IOSTANDARD IOSTANDARD VALUE The IOSTANDARD default for single ended I O is LVCMOS25 for differential I Os the default is LVDS 25 Output Slew Rate Attributes A variety of attribute values provide the option of choosing the desired slew rate for single ended I O output buffers For LVTTL and LVCMOS output buffers OBUF OBUFT and IOBUF the desired slew rate can be specified with the SLEW attribute The allowed values for the SLEW attribute are e SLEW SLOW Default e SLEW FAST The SLEW attribute uses the following syntax in the UCF file INST lt I O_BUFFER_INSTANTIATION_NAME gt SLEW lt SL
315. ion Copy the following two statements and paste them before the Entity declaration unless they already exists Library UNISIM use UNISIM vcomponents all Cut code below this line and paste into the architecture body gt FIFO16 Virtex 4 Block RAM Asynchrnous FIFO Virtex 4 User Guide FIFO16 inst FIFO16 generic map ALMOST FULL OFFSET gt X 000 Sets almost full threshold ALMOST EMPTY OFFSET X 000 Sets the almost empty threshold DATA WIDTH 36 Sets data width to 4 9 18 or 36 FIRST WORD FALL THROUGH gt FALSE Sets the FIFO FWFT to TRUE or FALSE port map ALMOSTEMPTY gt ALMOSTEMPTY 1 bit almost empty output flag ALMOSTFULL ALMOSTFULL 1 bit almost full output flag DO DO 32 bit data output DOP DOP 4 bit parity data output EMPTY gt EMPTY 1 bit empty output flag FULL gt FULL 1 bit full output flag RDCOUNT gt RDCOUNT 12 bit read count output RDERR gt RDERR 1 bit read error output WRCOUNT gt WRCOUNT 12 bit write count output WRERR gt WRERR 1 bit write error DI gt DI 32 bit data input DIP gt DIP 4 bit partity input RDCLK gt RDCLK 1 bit read clock input Virtex 4 User Guide www xilinx com 151 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX RDEN RDEN 1 bit read enable input RST RST 1 bit reset input
316. ion When IBUF is used the PAD to DCM input skew is not compensated Phase Shift Clock Input PSCLK The phase shift clock PSCLK input pin provides the source clock for the DCM phase shift The PSCLK can be asynchronous in phase and frequency to CLKIN The phase shift clock signal can be driven by any clock source external or internal including 1 IBUF Input Buffer 2 IBUFG Global Clock Input Buffer To access the dedicated routing only the IBUFGs on the same edge of the device top or bottom as the DCM can be used to drive a PSCLK input of the DCM BUFGCTRL An Internal Global Buffer Internal Clock Any internal clock using general purpose routing www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX DCM Ports The frequency range of PSCLK is defined by PSCLK_FREQ_LF HF see the Virtex 4 Data Sheet This input must be tied to ground when the CLKOUT PHASE SHIFT attribute is set to NONE or FIXED Dynamic Reconfiguration Clock Input DCLK The dynamic reconfiguration clock DCLK input pin provides the source clock for the DCM s dynamic reconfiguration circuit The frequency of DCLK can be asynchronous in phase and frequency to CLKIN The dynamic reconfiguration clock signal is driven by any clock source external or internal including 1 IBUF Input Buffer 2 IBUFG Global Clock Input Buffer Only the IBUFGs on the same edge of the device top or bottom as the DCM can be used to dr
317. is an example of a columnar floorplan showing the XC4VLX25 I O banks ug070 6 03 071404 Figure 6 3 Virtex 4 XC4VLX25 I O Banks 3 3V I O Support The Virtex 4 architecture supports 3 3V single ended I O standards in all banks Reference Voltage Vref Pins Low voltage single ended I O standards with a differential amplifier input buffer require an input reference voltage Vggp Vggp is an external input into Virtex 4 devices Within each I O bank one of every 16 I O pins is automatically configured as a Vggp input if using a single ended I O standard requiring a differential amplifier input buffer Output Drive Source Voltage Vcco Pins Many of the low voltage I O standards supported by Virtex 4 devices require a different output drive voltage Vcco As a result each device often supports multiple output drive source voltages Output buffers within a given Vcco bank must share the same output drive source voltage The following input buffers use the Vcco voltage LVTTL LVCMOS PCI LVDCI and other DCI standards Virtex 4 User Guide www xilinx com 221 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX 222 Virtex 4 Digitally Controlled Impedance DCI Introduction As FPGAs get bigger and system clock speeds get faster PC board design and manufacturing becomes more difficult With ever faster edge rates maintaining signal integrity becomes a cri
318. ised REFCLK Reference Clock and added Table 7 10 page 326 Chapter 8 Added ISERDES Latencies page 364 and OSERDES Latencies page 378 Revised Guidelines for Using the Bitslip Sub Module section 09 12 05 1 4 Chapter 2 Revised FACTORY_JF value in Table 2 7 page 67 The LOCKED signal description is updated in Figure 2 19 and Figure 2 20 Chapter 6 Revised the Simultaneous Switching Output Limits section Chapter 8 Added more information to Clock Enable Inputs CE1 and CE2 page 356 UG070 v2 0 January 4 2007 www xilinx com Virtex 4 User Guide 03 21 06 Version 1 5 Revision Chapter 1 Updated description under Table 1 1 Updated Figure 1 21 page 41 Chapter 4 Changed Table 4 8 page 140 and added a note Updated the discussions in NO CHANGE Mode and Cascadable Block RAM sections Removed synchronous FIFO application example Chapter 5 Revised slice label in Figure 5 30 page 209 Chapter 6 Added to the Xilinx DCI section Added IBUF to the PULLUP PULLDOWN KEEPER for IBUF OBUFT and IOBUF discussion Added Veco numbers in the 1 5V column in Table 6 5 page 243 Corrected Figure 6 70 page 280 Added notes 4 and 5 to Table 6 38 page 287 Updated 3 3V I O Design Guidelines Summary page 294 Added HSLVDCI High Speed Low Voltage Digitally Controlled Impedance page 244 section Added 1 2V to Table 6 40 page 295 and added link to SSO calculat
319. ister is initialized with all zeros during the device configuration sequence but any other configuration value can be specified Location Constraints Each CLB resource has four slices 50 S1 S2 and S3 As an example in the bottom left CLB resource each slice has the coordinates shown in Table 5 15 Table 5 15 Slice Coordinates in the Bottom Left CLB Resource Slice S3 Slice S2 Slice S1 Slice S0 X1Y1 X0Y1 X1YO X0YO To constrain placement shift register instances can have LOC properties attached to them Each 16 bit shift register fits in one LUT A 32 bit shift register in static or dynamic address mode fits in one slice two LUTs and one MUXP5 This shift register can be placed in SLICEM only A 64 bit shift register in static or dynamic address mode fits in two slices These slices are S0 and S2 Figure 5 30 illustrates the position of the four LUTs in a CLB resource The dedicated CLB shift chain runs from the top slice to the bottom slice The data input pin must either be in slice S0 or in S2 The address selected as the output pin Q is the MUXF6 output D l l l l l l l l l l l i output SRLC64E l l l l l l l l SRLC64E Slice SO CLB DOO UU UG070 5 30 122205 Figure 5 30 Shift Register Placement Virtex 4 User Guide www xilinx com 209 UGO070 v2 0 January 4 2007 Chapt
320. istics Table 7 9 Input Delay Switching Characteristics Symbol Description TIDELAYRESOLUTION IDELAY tap resolution Ticeck TickcE CE pin Setup Hold with respect to C Trcck TickiNc INC pin Setup Hold with respect to C Tmsrck Ticknsr RST pin Setup Hold with respect to C Notes 1 ms value is an average across the entire tap delay chain For best results at least five taps should be Figure 7 12 shows an IDELAY timing diagram 1 2 9 o FLFLFLTLFLFLTLTLELTLILITT i e Ticeck i Tincck TirstcK RST l l O CO O O OO TIDELAYRESOLUTION x ug070 7 12 111006 Figure 7 12 IDELAY Timing Diagram www xilinx com 323 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources 324 Clock Event 1 XILINX e Attime Tyrstcx before Clock Event 1 the reset configured synchronously is set to valid High e At the next clock after RST O is sampling data at the tap specified by the IOBDELAY_VALUE attribute In this example IOBDELAY_VALUE 0 Clock Event 2 e At time TjcREcK before Clock Event 2 CE is High enabling the IDELAY to increment or decrement e At time Tgwccy before Clock Event 2 INC is High to increment IDELAY Clock Event 3 e Wait 8 clock cycles for IDELAY increment to settle e After 8 clock cycles O indicates the previous value of O and after the time value of TIDEL AYRESOLUTION O changes to the delayed value IDELAY VHDL and Ve
321. ith Termination to Vcco 2 without DCI DCI can provide output termination to Vcco 2 using split termination DCI only controls the impedance of the termination but not the driver Both HSTL and SSTL standards need 50 Q external reference resistors The DCI I O standards supporting drivers with split termination are HSTL II DCI HSTL II DCI 18 SSTL2 II DCI SSTL18 II DCI DIFF HSTL II DCI DIFF HSTL II DCI 18 DIFF SSTL2 II DCI and DIFF SSTL18 II DCI Figure 6 13 illustrates a driver with split termination inside a Virtex 4 device IOB Veco l San gt E 40 l E Virtex 4 DCI UGO70 6 13 071904 Figure 6 13 Driver with Termination to Vcco 2 Using DCI Split Termination DCI in Virtex 4 Hardware Virtex 4 User Guide DCI works with single ended I O standards and the 2 5V LVDS I O standard DCI supports the following Virtex 4 standards LVDCI HSLVDCI LVDCI_DV2 GTL DCI GTLP_DCI HSTL I DCI HSTL II DCI HSTL III DCI HSTL IV DCI HSTL I DCI 18 HSTL II DCI 18 HSTL III DCI 18 HSTL IV DCI 18 SSTL2 I DCI SSTL2 II DCI SSTL18 I DCI SSTL18 II DCI DIFF HSTL II DCI DIFF HSTL II DCI 18 DIFF SSTL2 II DCI DIFF SSTL18 II DCI LVDS 25 DCI and LVDSEXT 25 DCI To correctly use DCI in a Virtex 4 device users must follow the following rules www xilinx com 227 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Vcco pins must be connected to the appropriate V
322. its 1k 2 entries by 18 bits 512 1 entries by 36 bits 512 2 entries by 36 bits www xilinx com 145 UG070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX Top Level View of FIFO Architecture Figure 4 14 shows a top level view of the Virtex 4 FIFO architecture The read pointer write pointer and status flag logic is dedicated for FIFO use only DIN DO wrclk rdclk wren rden reset ug070 4 14 080204 Figure 4 14 Top Level View of FIFO in Block RAM FIFO Primitive Figure 4 15 shows the FIFO16 Primitive FIFO16 DI 31 0 DO 31 0 DIP 3 0 DOP 3 0 RDEN WRCOUNT 1 1 0 RDCLK RDCOUNTT 1 0 WREN FULL WRCLK EMPTY RST ALMOSTFULL ALMOSTEMPTY RDERR WRERR ug070 4 15 071204 Figure 4 15 FIFO16 Primitive 146 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX FIFO Port Descriptions FIFO Port Descriptions Table 4 10 lists the FIFO I O port names and descriptions Table 4 10 FIFO I O Port Names and Descriptions Port Name Direction Description DI Input Data input DIP Input Parity bit input WREN Input Write enable When WREN 1 data will be written to memory When WREN 0 write is disabled WRCLK Input Clock for write domain operation RDEN Input Read enable When RDEN 1 data will be read to output register When RDEN 0 read is disabled RDCLK Input Clock for r
323. itslip sub module can re align data to word boundaries detected with the help of a training pattern Input Serial to Parallel Logic Resources ISERDES The Virtex 4 ISERDES is a dedicated serial to parallel converter with specific clocking and logic features designed to facilitate the implementation of high speed source synchronous applications The ISERDES avoids the additional timing complexities encountered when designing deserializers in the FPGA fabric ISERDES features include e Dedicated Deserializer Serial to Parallel Converter The ISERDES deserializer enables high speed data transfer without requiring the FPGA fabric to match the input data frequency This converter supports both single data rate SDR and double data rate DDR modes In SDR mode the serial to parallel converter creates a 2 3 4 5 6 7 or 8 bit wide parallel word In DDR mode the serial to parallel converter creates a 4 6 8 or 10 bit wide parallel word e Digitally Controlled Delay Element IDELAY Every ISERDES block contains a programmable absolute delay element called IDELAY IDELAY is a 64 tap wraparound delay element with a fixed guaranteed tap resolution see Virtex 4 Data Sheet It can be applied to the combinatorial input path registered input path or both There are three modes of operation a DEFAULT Zero hold time delay mode similar to the Virtex II and Virtex II Pro delay elements b FIXED Delay value is set to the
324. ive a CLKIN input of the DCM 3 BUFGCTRL An Internal Global Buffer 4 Internal Clock Any internal clock using general purpose routing The frequency range of DCLK is described in the Virtex 4 Data Sheet When dynamic reconfiguration is not used this input must be tied to ground See the dynamic reconfiguration chapter in the Virtex 4 Configuration Guide for more information Control and Data Input Ports Reset Input RST The reset RST input pin resets the DCM circuitry The RST signal is an active High asynchronous reset Asserting the RST signal asynchronously forces all DCM outputs Low the LOCKED signal all status signals and all output clocks after some propagation delay When the reset is asserted the last cycle of the clocks can exhibit a short pulse and a severely distorted duty cycle or no longer be deskewed with respect to one another while deasserting Low Deasserting the RST signal starts the locking process at the next CLKIN cycle To ensure a proper DCM reset and locking process the RST signal must be held until the CLKIN and CLKFB signals are present and stable for at least 200 ms The 200 ms requirement for CLKFB only applies when external feedback is used The time it takes for the DCM to lock after a reset is specified in the Virtex 4 Data Sheet as LOCK DLL for a DLL output and LOCK FX for a DFS output These are the CLK and CLKFX outputs described in Clock Output Ports The DCM locks faster at higher fre
325. k event 1 This is also applicable to the XMUX YMUX XB YB Cour and F5 outputs at time Twosco Twosx TwosxRE TwosyB and TSHCKOF5 after clock event 1 Clock Event 2 Read Operation All Read operations are asynchronous in distributed RAM As long as WE is Low the address bus can be asserted at any time The contents of the RAM on the address bus are reflected on the X Y outputs after a delay of length Tr o propagation delay through a LUT The address F is asserted after clock event 2 and the contents of the RAM at address F are reflected on the output after a delay of length Tr o Virtex 4 User Guide www xilinx com 195 UGO070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX Slice SRL Timing Model and Parameters Available in SLICEM only Figure 5 24 illustrates shift register implementation in a Virtex 4 slice Some elements of the Virtex 4 slice have been omitted for clarity Only the elements relevant to the timing paths described in this section are shown Shift In COUT MUXFX FXINA gt C gt FX FXINB C gt gt Lo Y ADDRESS gt YB G3 C gt G2 C gt YMUX G1 C gt G0 C gt BY DATA_IN or ADDRESS L F5 X ADDRESS gt XMUX F3 gt F2 gt F1L Fo gt L XB SR C gt CLK C gt BX gt e DATA IN or ADDRESS i Shift Out CIN UGO070 5 24 071504
326. k outputs When CLKEX or CLKFX180 is selected the Clock Frequency Synthesizer window shown in Figure 2 18 appears This window provides the CLKFX jitter calculation To access further information on available settings choose the More Info button in each window WE HEIL LI M 4 v ug070 2 14 071404 Figure 2 14 Xilinx Clocking Wizard General Setup Virtex 4 User Guide www xilinx com 85 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs Z XILINX ug070 2 15 071504 Figure 2 15 Xilinx Clocking Wizard Advanced ug070 2 16 071504 Figure 2 16 Xilinx Clocking Wizard Clock Buffers 86 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Virtex 4 User Guide UG070 v2 0 January 4 2007 VHDL and Verilog Templates and the Clocking Wizard co CLK2X CLKFX OUT eux a co ug070 2 17 071504 Figure 2 17 Xilinx Clocking Wizard View Edit Buffer WWwW xilinx com 87 Chapter 2 Digital Clock Managers DCMs Z XILINX ug 070 2 18 071504 Figure 2 18 Xilinx Clocking Wizard Frequency Synthesizer When all the desired settings are selected choose the Finish button 8 The Clocking Wizard closes and the Project Navigator window returns The Clocking Wizard writes the selected settings into an XAW file The XAW file appears in the Sources in Project window list Select the XAW file In the Processes for Source window double
327. l 2Rypp 2Zo 1000 l Aa 2 t LVDS 25 cd E 2Rygy 229 1002 LVDS 25 DCI l l l Vcco 2 5V CC l 2Rypp 2Zg 1002 IH 2Rypy 2Zg 1002 ugo70 6 72 071904 Figure 6 74 LNVDS 25 DCI Receiver Termination Virtex 4 User Guide www xilinx com 283 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Figure 6 75 is an example of a differential termination for an LVDS receiver on a board with 50 O transmission lines IOB IOB 9 Zg 500 LVDS 25 pie LVDS 25 Rpirr 1000 Z 502 o AX Data in ug070 6 73 071904 Figure 6 75 LNVDS 25 With DIFF TERM Receiver Termination Table 6 33 lists the available Virtex 4 LVDS I O standards and attributes supported Table 6 33 Allowed Attributes of the LVDS I O Standard Primitives Attributes IBUFDS IBUFGDS OBUFDS OBUFTDS IOSTANDARD LVDS 25 LVDSEXT 25 ULVDS 25 LOW NORMAL CAPACITANCE DONT CARE NORMAL DIFF TERM TRUE FALSE Unused Table 6 34 lists the available Virtex 4 LVDS DCI I O standards and attributes supported Table 6 34 Allowed Attributes of the LVDS DCI I O Standard Primitives Attributes IBUFDS IBUFGDS OBUFDS OBUFTDS LVDS 25 DCI IOSTANDARD LVDSEXT 25 DCI Unused LOW NORMAL CAPACITANCE DONT CARE Unused HyperTransport Protocol LDT The Hypertransport protocol or formally known as Lightning Data Transport LDT is a low voltage stan
328. l of the write and read operation especially the maximum clock rate Additional Virtex 4 Block RAM Features Virtex 4 User Guide UGO070 v2 0 January 4 2007 All output ports are latched The state of the output port does not change until the port executes another read or write operation All inputs are registered with the port clock and have a setup to clock timing specification All outputs have a read function or a read during write function depending on the state of the WE pin The outputs are available after the clock to out timing interval The read during write outputs have one of three operating modes WRITE FIRST READ FIRST and NO CHANGE A write operation requires one clock edge www xilinx com 111 Chapter 4 Block RAM XILINX e A read operation requires one clock edge e DO has an optional internal pipeline register e Data input and output signals are always described as buses that is in a 1 bit width configuration the data input signal is DI 0 and the data output signal is DO 0 Block RAM Introduction In addition to distributed RAM memory Virtex 4 devices feature a large number of 18 Kb block RAM memories True Dual Port RAM offers fast blocks of memory in the device Block RAMs are placed in columns and the total number of block RAM memory depends on the size of the Virtex 4 device The 18 Kb blocks are cascadable to enable a deeper and wider memory implementation with a minimal timing penalt
329. l output buffer This standard does not require the use of a reference voltage Vpgp or a board termination voltage Vyr However it does require 3 3V input output source voltage Vcco A PCI undershoot overshoot specification could require Vcco to be regulated at 3 0V as discussed in Regulating Vcco at 3 0V page 293 This is not necessary if overshoot and undershoot are controlled by careful design Table 6 8 lists the DC voltage specifications Table 6 8 PCIS33 3 PCI66 3 and PCIX DC Voltage Specifications Parameter Min Typ Max Vcco 3 0 3 3 3 5 VREF Ver E Vig 0 5 x Veco 1 5 1 65 Veco 0 5 Vi 0 3 x Veco 0 5 0 99 1 08 Vou 09 x Veco 2 7 5 Vor 0 1 x Veco 0 36 Toy at Voy mA Note 1 T E www xilinx com 245 UG070 v2 0 January 4 2007 Chapter 6 SelectlO Resources 246 XILINX Table 6 8 PCIS33 3 PCI66_3 and PCIX DC Voltage Specifications Continued Parameter Min Typ Max Tor at Vor mA Note 1 Notes 1 Tested according to the relevant specification Table 6 9 details the allowed attributes that can also be applied to the PCI33 3 PCI66 3 and PCIX I O standards Table 6 9 Allowed Attributes of the PCI33 3 PCI66_3 and PCIX I O Standards Primitives Attributes IBUF IBUFG OBUF OBUFT IOBUF IOSTANDARD PCI33 3 PCI66 3 and PCIX CAPACITANCE LOW NORMAL DONT CARE GTL Gunning Transc
330. le circuit illustrating a valid unidirectional termination technique for SSTL2 Class II External Termination IOB Vr 1 25V V r 1 25V 5g SSTL2_II SSTL2 Il Rp Zg 502 Rp Zg 500 Dow Qz K 250 Vnrr 1 25V L DCI IOB IOB Veco 25V Veco 2 5V 2Rypp 2Zg 1000 E 2Rypp 2Zo 1000 Sorte SSTL2 Il DCI ono AH Vper 1 25V Ro 225Q RER 2Rypy 2Zo 1000 2Rypy 2Zo 1000 L ug070 6 58 071904 Figure 6 60 SSTL2 Class II with Unidirectional Termination Virtex 4 User Guide www xilinx com 271 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Figure 6 61 shows a sample circuit illustrating a valid bidirectional termination technique for SSTL2 Class II External Termination OB Vr 1 25V Vyr 1 25V OB SSTL2 II Rp Zo 500 SSTL2 Il Rg 250 Rp Zo 50Q Rg 250 Rew SED vg Veer 1 25V DCI IOB IOB l 2Rypp 2Zo 1000 i 2Rypp 2Zo 1000 SSTL2 Il DCI SSTL2 II DCI oD Veer 1 25V Ro 250 2Rypy 2Zg 1000 E 2Rvan 2Zo 1000 Veer 1 25V l Ro 2250 l ug070_6_59_071904 Figure 6 61 SSTL2 Class ll with Bidirectional Termination Table 6 27 lists the SSTL2 DC voltage specifications for Class II Table 6 27 SSTL2 DC Voltage Specifications Class ll Min Typ Max Vcco 23 2 5 2 7 VREF 0 5 x Veco 1
331. le correction of the 1x clock outputs CLK0 CLK90 CLK180 and CLK270 The possible values are True and False The default value is True When set to True the 1x clock outputs are duty cycle corrected to be within specified limits see the Virtex 4 Data Sheet for details It is strongly recommended to always set the DUTY CYCLE CORRECTION attribute to True Setting this attribute to False does not necessarily produce output clocks with the same duty cycle as the source clock Virtex 4 User Guide www xilinx com 65 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs XILINX DCM PERFORMANCE MODE Attribute The DCM PERFORMANCE MODE attribute allows the choice of optimizing the DCM either for high frequency and low jitter or for low frequency and a wide phase shift range The attribute values are MAX SPEED and MAX RANCGE The default value is MAX SPEED When set to MAX SPEED the DCM is optimized to produce high frequency clocks with low jitter However the phase shift range is smaller than when MAX RANGE is selected When set to MAX RANGE the DCM is optimized to produce low frequency clocks with a wider phase shift range The DCM PERFORMANCE MODE affects the following specifications DCM input and output frequency range phase shift range output jitter DCM TAP CLKIN CLKFB PHASE CLKOUT PHASE and duty cycle precision The Virtex 4 Data Sheet specifies these values For most cases the DCM PERFORMANCE MODE attribut
332. le mode the phase shift range can be extended by choosing CLK90 CLK180 or CLK270 rather than CLKO choosing CLK2X180 rather than CLK2X or choosing CLKFX180 rather than CLKFX Even at 25 MHz 40 ns period the fixed mode coupled with the various CLK phases allows shifting throughout the entire input clock period range e MAX RANGE mode extends the phase shift range e The phase shifting DPS function in the DCM requires the CLKFB for delay adjustment Because CLKFB must be from CLKO the DLL output is used The minimum CLKIN frequency for the DPS function is determined by DLL frequency mode Dynamic Reconfiguration Virtex 4 User Guide The Dynamic Reconfiguration Ports DRPs can update the initial DCM settings without reloading a new bit stream to the FPGA The Virtex 4 Configuration Guide provides more information on using DRPs Specific to the DCM DRPs can perform the following functions www xilinx com 77 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs XILINX e Allow dynamic adjustment of CLKFX MULTIPLY M and CLKFX DIVIDE D value to produce a new CLKFX frequency e Allow dynamic adjustment of PHASE SHIFT value to produce a new phase shift This feature can be used with the fixed variable or direct phase shift modes to set a specific phase shift value The following steps are required when using DRPs to load new M and D values e Subtract the desired M and D values by one For example i
333. le through ports D1 to D6 These ports are connected to the FPGA fabric and can be configured from two to six bits i e a 6 1 serialization Bit widths greater than six up to 10 can be supported see OSERDES Width Expansion Output Data Clock Enable OCE OCE is an active High clock enable for the data path Virtex 4 User Guide www xilinx com 375 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources XILINX Parallel 3 state Inputs T1 to T4 All parallel 3 state signals enter the OSERDES module through ports T1 to T4 The ports are connected to the FPGA fabric and can be configured as one two or four bits 3 state Signal Clock Enable TCE TCE is an active High clock enable for the 3 state control path OSERDES Attributes The Table 8 7 lists and describes the various attributes that are available for the OSERDES primitive The table includes the default values Table 8 7 OSERDES Attribute Summary OSERDES Attribute Description Value Default Value DATA RATE OQ Defines whether data OQ changes at every String SDR or DDR DDR clock edge or every positive clock edge with respect to CLK DATA RATE TO Defines whether the 3 state TQ changes at String BUF SDR or DDR every clock edge every positive clock edge DDR with respect to clock or is set to buffer configuration DATA WIDTH Defines the parallel to serial data converter Integer 2 3 4 5 6 7 8
334. les Non Sparse Chevron Equivalent Vcco GND Pairs Non Sparse Chevron Actual SSO Limits versus Nominal SSO Limits Electrical Basis of SSO Noise 000 00 eee Parasitic Factors Derating Method PFDM Weighted Average Calculation of SSO Calculation of Full Device SSO Full Device SSO Example 0 0 06 0 e eee ee Full Device SSO Calculator 0 0 0 ce eee Other SSO Assumptions 00 0 eee eee LVDCI and HSLVDCI Drivers 05 Chapter 7 SelectlO Logic Resources Introduction esee ILOGIC Resources ee eee Combinatorial Input Path Input DDR Overview IDDR ssese OPPOSITE EDGE Mode 00 0c eee SAME_EDGE Mode 0 0c cee eee eee SAME EDGE PIPELINED Mode Input DDR Primitive IDDR IDDR VHDL and Verilog Templates IDDR VHDL Template 0 00 0 eee eee IDDR Verilog Template 0 000 000 ee ILOGIC Timing Models 000 000 ILOGIC Timing Characteristics sess ILOGIC Timing Characteristics DDR Input Delay Element IDELAY IDELAY Primitive IDELAY Potts we A eg e IDELAY Attributes llle IDELAY Timing ume eee IDELAY VHDL and Verilog Instantiation Template IDELAYCTRL Overview sees IDELAYCTRL Pr
335. lf I Os BUFGCTRLs Top Half Virtex 4 Center Column BUFGCTRLs Bottom Half I Os PMCDs Bottom Half DCMs Bottom Half UGO070 3 01 071304 Figure 3 1 PMCD Location in the Virtex 4 Device Table 3 1 Available PMCD Resources Device Available PMCDs Site Names XC4VLX15 0 No PMCDs in these devices XC4VSX25 XC4VFX12 XC4VFX20 XC4VLX25 XC4VLX40 XC4VLX60 4 Bottom Half XC4VSX35 XC4VSX55 PMCD_X0Y0 PMCD_XOY1 one tile XC4VEX40 Top Half PMCD_X0Y2 PMCD X0Y3 one tile XCAVLX80 XCAVLX100 XCAVLX160 8 Bottom Half XCAVLX200 PMCD X0YO PMCD XO0YIl one tile XCAVFX60 XC4VFX100 XC4VEX140 PMCD X0Y2 PMCD X0Y3 one tile Top Half PMCD X0Y4 PMCD XO0Y5 one tile PMCD X0Y6 PMCD XO0Y7 one tile PMCD Primitives Ports and Attributes Figure 3 2 illustrates the PMCD primitive The VHDL and Verilog template section 96 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX PMCD Primitives Ports and Attributes includes an example of a PMCD instantiation template CLKA1 CLKA1D2 CLKA1D4 CLKA1D8 ug070_3_02_071404 Figure 3 2 PMCD Primitive Table 3 2 lists the port names and description of the ports Table 3 2 PMCD Port Description Port Name Direction Description CLKA Input CLKA is a clock input to the PMCD The CLKA frequency can be divided by 1 2 4 and 8 CLKB Input CLKB CLKC and CLKD
336. lines for Virtex 4 I O Supported Standards SSTL2 Il SSTL18 Il Usage Class II signaling uses Vrr Vcco 2 as a parallel termination voltage to a 50 Q resistor at the receiver and transmitter respectively A series resistor 25 Q at 2 5V 20 O at 1 8V must be connected to the transmitter output for a unidirectional link For a bidirectional link 25 Q series resistors must connected the transmitters of the transceivers SSTL2 Il DCI SSTL18 ll DCI Usage The DCI circuits have a split thevenin termination powered from Vcco and an internal series resistor 25 Q at 2 5V 20 O at 1 8V For a unidirectional link the series resistance is supplied only for the transmitter A bidirectional link has the series resistor for both transmitters DIFF SSTL2 Il DIFF SSTL18 ll Usage Differential SSTL 2 5V and 1 8V Class II pairs complementary single ended SSTL II type drivers with a differential receiver For a bidirectional link a series resistor must be connected to both transmitters DIFF SSTL2 Il DCI DIFF SSTL18 II DCI Usage Differential SSTL 2 5V and 1 8V Class II pairs complementary single ended SSTL II type drivers with a differential receiver including on chip differential termination For a bidirectional link a series resistor must be connected to both transmitters DCI can be used for unidirectional and bidirectional links 269 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX SSTL2 Class 2 5V Fi
337. lock CLK inputs are connected to one global clock enable and one clock signal per submodule If a global static or dynamic length mode is not required the SRLC16E primitive can be cascaded without multiplexers Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 207 Chapter 5 Configurable Logic Blocks CLBs XILINX Initialization in VHDL or Verilog Code A shift register can be initialized in VHDL or Verilog code for both synthesis and simulation For synthesis the attribute is attached to the 16 bit shift register instantiation and is copied in the EDIF output file to be compiled by Xilinx Alliance Series tools The VHDL code simulation uses a generic parameter to pass the attributes The Verilog code simulation uses a defparam parameter to pass the attributes The Virtex 4 SRL16E shift register instantiation code examples in VHDL and Verilog illustrate these techniques VHDL and Verilog Templates Virtex 4_SRL16E vhd and v files are not a part of the documentation Port Signals Clock CLK Either the rising edge or the falling edge of the clock is used for the synchronous shift operation The data and clock enable input pins have set up times referenced to the chosen edge of CLK Data In D The data input provides new data one bit to be shifted into the shift register Clock Enable CE optional The clock enable pin affects shift functionality An inactive clock enable pin does not shif
338. lock enable signal becomes valid high at the CE1 input of both of the DDR input registers enabling them for incoming data Since the CE1 and D signals are common to both DDR registers care must be taken to toggle these signals between the rising edges and falling edges of CLK as well as meeting the register setup time relative to both clocks e At time Trpoc before Clock Event 1 rising edge of CLK the input signal becomes valid high at the D input of both registers and is reflected on the Q1 output of input register 1 at time T cpo after Clock Event 1 Clock Event 2 e Attime Typocy before Clock Event 2 falling edge of CLK the input signal becomes valid low at the D input of both registers and is reflected on the Q2 output of input register 2 at time Tjcko after Clock Event 2 no change in this case Clock Event 9 e Attime Tyspcy before Clock Event 9 the SR signal configured as synchronous reset in this case becomes valid high resetting IFF1 O1 at time Ticko after Clock Event 9 and IFF2 Q2 at time Ticko after Clock Event 10 Table 7 5 describes the function and control signals of the ILOGIC switching characteristics in the Virtex 4 Data Sheet Table 7 5 LOGIC Switching Characteristics Symbol Description Setup Hold Ticrick Tickcpi CE1 pin Setup Hold with respect to CLK Ticeck TICKCE DLYCE pin Setup Hold with respect to CLKDIV TirstcK TIcKRST DLYRST pin Setup Hold with respect to CLKDIV
339. lock event 3 appears four read clock cycles after clock event 1 e At time Tppcy pr before clock event 1 WRCLK data 00 becomes valid at the DI inputs of the FIFO e At time Trcck wren before clock event 1 WRCLK write enable becomes valid at the WREN input of the FIFO e At time Trcko po after clock event 3 RDCLK data 00 becomes valid at the DO output pins of the FIFO In the case of standard mode data 00 does not appear at the DO output pins of the FIFO e At time Trcko Empty after clock event 3 RDCLK EMPTY is deasserted In the case of standard mode EMPTY is deasserted one read clock earlier than clock event 3 If the rising WRCLK edge is close to the rising RDCLK edge EMPTY could be deasserted one RDCLK period later Clock Event 2 and Clock Event 4 Write Operation and Deassertion of Almost EMPTY Signal Three read clock cycles after the fourth data is written into the FIFO the Almost EMPTY pin is deasserted to signify that the FIFO is not in the almost EMPTY state www xilinx com 155 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX For the example in Figure 4 17 the timing diagram is drawn to reflect FWFT mode Clock event 2 is with respect to write clock while clock event 4 is with respect to read clock Clock event 4 appears three read clock cycles after clock event 2 e Attime Tppcy pp before clock event 2 WRCLK data 03 becomes valid at the DI inputs of the FIFO e Write enable remains
340. lowing requirements In cases where PCB parameters do not meet all requirements listed below the Virtex 4 SSO Calculator must be used to determine the SSO limit according to the physical factors of the unique PCB www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX Simultaneous Switching Output Limits PCB Construction Veco and GND vias should have a drill diameter no less than 11 mils 279 p Total board thickness must be no greater than 62 mils 1575 y Signal Return Current Management Traces must be referenced to a plane on an adjacent PCB layer The reference plane must be either GND or the Vcco associated with the output driver The reference layer must remain uninterrupted for its full length from device to device Load Traces All IOB output buffers must drive controlled impedance traces with characteristic impedance of 509 10 Total capacitive loading at the far end of the trace input capacitance of receiving device must be no more than 10 pF Power Distribution System Design Designed according to Chapter 4 of the Virtex 4 PCB Designers Guide Atleast one decoupling capacitor per Vcco pin see page 42 No less than one of each capacitor value present see page 42 Capacitors mounted within a distance of 1 40 see page 38 Approved solder land patterns see page 35 Figures 4 6 B C and D Veco and GND planes can not be separated by more than 5 0 mils 152 u No
341. ly if all the write bytes are enabled Independent Read and Write port width selection increases the efficiency of implementing a content addressable memory CAM in block RAM Excluding the built in FIFO this option is available for all RAM port sizes and modes Cascadable Block RAM Combining two 16K x 1 RAMs to form one 32K x 1 RAM is possible in the Virtex 4 block RAM architecture without using local interconnect or additional CLB logic resources NO_CHANGE mode is not supported in 32K x 1 RAM configuration Any two adjacent block RAMs can be cascaded to generate a 32K x 1 block RAM Increasing the depth of the block RAM by cascading two block RAMs is available only in the 32K x 1 mode Further information on cascadeable block RAM is described in the Additional RAMB16 Primitive Design Considerations section For other wider and or deeper sizes consult the Creating Larger RAM Structures section Figure 4 6 shows the block RAM with the appropriate ports connected in the Cascadable mode The Additional Block RAM Features in Virtex 4 Devices section includes further information on cascadeable block RAMs Virtex 4 User Guide www xilinx com 117 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM DI A 13 0 DQ D XILINX CASCADEOUT No Connect A14 WE 3 0 RAM_EXTENSION P UPPER 0 PDOT DI A 13 0 4 D A14 gt Output FF DO D CASCADEIN of Top
342. m 251 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Figure 6 41 shows a sample circuit illustrating a valid termination technique for HSTL Class II 1 5V with bidirectional termination External Termination 68 V 0 75V Vit 0 75V 765 HSTL Il HSTL_II Rp Z9 500 Rp Zg 500 gt x C Zo Dj Vper 0 75V DCI IOB IOB Veco 15V Veco 1 5V 2Rypp 229 1000 2Rypp 2Zg 1000 HSTL Il DCI HSTL Il DCI gt t 534 2Rygw 2Zg 1000 Vper 0 75V 3 4 Vngr 0 75V E 2Rypy 2Zo 1000 d Figure 6 41 HSTL 1 5V Class Il Bidirectional Termination Table 6 15 lists the HSTL 1 5V Class II DC voltage specifications Table 6 15 HSTL 1 5V Class Il DC Voltage Specifications ug070 6 39 071904 Min Typ Max Veer 0 68 0 75 0 90 Ver Veco x 0 5 Vin Vggr 0 1 Vir Vggr 0 1 Vou Veco 0 4 g VoL 0 4 Ion at Voy mA 16 252 www Xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards Table 6 15 HSTL 1 5V Class Il DC Voltage Specifications Continued Min Typ Max lor at VoL mA M 16 Notes 1 Vor and Voy for lower drive currents are sample tested 2 Per EIA JESD8 6 The value of Vppr is to be selected by the user to provide optimum
343. mbines the two MUXF5 SLICE S1 outputs from slices S1 and S3 MUXF7 combines the two MUXF6 SLICE S2 outputs from slices SO and S1 MUXF6 combines the two MUXF5 SLICE SO outputs from slices SO and S2 CLB E SaS Se Y ug070 5 13 071504 Figure 5 13 MUXF5 and MUXFX Multiplexers 182 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX CLB Overview Designing Large Multiplexers 4 1 Multiplexer Each Virtex 4 slice has a MUXF5 to combine the outputs of the two LUTs and an extra MUXEX Figure 5 14 illustrates a valid combinatorial function with up to nine inputs or a 4 1 MUX in one slice 4 OUT F5 4 S F5 Any Slice UGO070 5 14 071504 Figure 5 14 LUTs and MUXF5 in a Slice Virtex 4 User Guide www xilinx com 183 UGO070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX 8 1 Multiplexer Slice S0 and 1 have a MUXF6 MUXF6 is designed to combine the outputs of two MUXF5 resources Figure 5 15 illustrates a combinatorial function up to 18 inputs or an 8 1 MUX in the slices SO and S2 or in the slices S1 and S3 Slice S2 or S3 OUT F6 Slice SO or S1 UG070 5 15 071504 Figure 5 15 LUTs and MUXF5 and MUXF6 in Two Slices 16 1 Multiplexer Slice S2 has a MUXF7 MUXF7 is designed to combine the outputs of two MUXF6 Figure 5 16 illustrates a combinator
344. minal SSO Limit Table Sparse Chevron Table 6 40 provides the guidelines for the maximum number of simultaneously switching outputs allowed per output power ground pair to avoid the effects of ground bounce Table 6 40 omits all I O standards that meet the no limit criteria Only I O standards with nominal SSO limits of eight or less are listed SSO limits for all I O standards are listed in the Virtex 4 SSO calculator available on the Xilinx website at http www xilinx com bvdocs userguides ug070 zip Table 6 41 lists the number of equivalent output Vcco GND pairs for each device package and I O bank Table 6 40 Spare Chevron Simultaneously Switching Output Limits per Equivalent Vcco GND Pair 1 Sparse Chevron Limit Voltage lOStandard FF672 FF676 FF1148 FF1152 FF1513 FF1517 FF1760 12V HSILI 12 TBD HSTL IV 5 15V HSTL IV DCI 5 Virtex 4 User Guide www xilinx com 295 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Table 6 40 Spare Chevron Simultaneously Switching Output Limits per Equivalent Vcco GND Pair 1 Sparse Chevron Limit Voltage lOStandard FF672 FF676 FF1148 FF1152 FF1513 FF1517 FF1760 HSTL III 18 HSTL III DCI 18 HSTL IV 18 HSTL IV DCI 18 LVCMOS25 24 fast LVDCI DV2 25250 LVCMOS323 24 fast LVTIL 24 slow GTL GTL_DCI GTLP GTLP_DCI or a G1 Aa oo O NID eA A NIN Equiv
345. ming signals by comparing them to a threshold referenced to the die ground as opposed to I O standards with input thresholds referenced to a Vggg voltage If the die voltage disturbance exceeds the instantaneous noise margin for the interface then a non changing input or output can be interpreted as changing Parasitic Factors Derating Method PFDM This section describes a method to evaluate whether a design is within the SSO limits when taking into account the specific electrical characteristics of the user s unique system The SSO limits in Table 6 40 and Table 6 42 assume nominal values for the parasitic factors of the system These factors fall into three groups of electrical characteristics e PCB PDS parasitics nominal 1 nH per via e Maximum allowable power system disturbance voltage nominal 600 mV e Capacitive loading nominal 10 pF per load When the electrical characteristics of a design differ from the nominal values the system SSO limit changes The degree of difference determines the new effective limit for the design A figure called SSO Allowance is used as a single derating factor taking into account the combined effect of all three groups of system electrical characteristics The SSO allowance is a number ranging from 0 to 100 and is a product of three scaling factors The First Scaling Factor accounts for the PCB PDS parasitic inductance It is determined by dividing the nominal PCB PDS inductance by the user s
346. most anywhere in the FIFO address range Two operating modes affect the reading of the first word after the FIFO was empty e InStandard mode the first word written into an empty FIFO will appear at DO after the user has activated RDEN The user must pull the data out of the FIFO In FWFT mode the first word written into an empty FIFO will automatically appear at DO without the user activating RDEN The FIFO pushes the data onto DO The next RDEN will then pull the subsequent data word onto DO EMPTY Latency Virtex 4 User Guide The rising edge of EMPTY is fast and inherently synchronous with RDCLK The empty condition can only be terminated by WRCLK asynchronous to RDCLK The falling edge of EMPTY must therefore artificially be moved onto the RDCLK time domain Since the two clocks have an unknown phase relationship it takes several cascaded flip flops to guarantee that such a move does not cause glitches or metastable problems The falling edge of EMPTY is thus delayed by several RDCLK periods after the first write into the previously empty FIFO This delay guarantees proper operation under all circumstances and causes an insignificant loss of performance after the FIFO had gone empty Table 4 9 shows the FIFO capacity in the two modes Table 4 9 FIFO Capacity Standard Mode FWFT Mode 4k 1 entries by 4 bits 4k 2 entries by 4 bits 2k 1 entries by 9 bits 2k 2 entries by 9 bits 1k 1 entries by 18 b
347. n Setup Hold with respect to CLK at DDR mode IOBDELAY IBUF or NONE D pin Setup Hold with respect to CLK at DDR mode IOBDELAY IFD or BOTH IOBDELAY_TYPE DEFAULT D pin Setup Hold with respect to CLK at DDR mode IOBDELAY IFD or BOTH IOBDELAY_TYPE FIXED IOBDELAY_VALUE 0 Sequential Delay Tiscko Q CLKDIV to Out at Q pins Timing Characteristics In the timing diagrams of Figure 8 5 and Figure 8 6 the timing parameter names change for different modes SDR DDR However the names do not change when a different bus input width including when two ISERDES are cascaded together to form 10 bits In DDR mode the data input D switches at every CLK edge rising and falling Figure 8 5 illustrates an ISERDES timing diagram for the input data to the ISERDES 1 2 CLK p ou l r liscck cH CE T L ISDCK D D X x X X X X ug070_8_04_072904 Figure 8 5 ISERDES Input Data Timing Diagram Clock Event 1 e At time Tiscck cr before Clock Event 1 the clock enable signal becomes valid high and the ISERDES can sample data Clock Event 2 e At time Trspcy p before Clock Event 2 the input data pin D becomes valid and is sampled at the next positive clock edge Virtex 4 User Guide www xilinx com 365 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources XILINX Figure 8 6 illustrates an ISERDES timing diagram fo
348. n be applied to the combinatorial input path registered input path or both IDELAY allows incoming signals to be delayed on an individual basis The delay element is calibrated to provide an absolute delay value TIDELAYRESOLUTION independent of process voltage and temperature variation Three modes of operation are available e Zero hold time delay mode IOBDELAY TYPE DEFAULT This mode of operation allows backward compatibility for designs using the zero hold time delay feature in Virtex II and Virtex II Pro devices When used in this mode the IDELAYCTRL primitive does not need to be instantiated see IDELAYCTRL Usage and Design Guidelines for more details e Fixed delay mode IOBDELAY TYPE FIXED In the fixed delay mode the delay value is preset at configuration to the tap number determined by the attribute IOBDELAY VALUE Once configured this value cannot be changed When used in this mode the IDELAYCTRL primitive must be instantiated see IDELAYCTRL Usage and Design Guidelines for more details Virtex 4 User Guide UG070 v2 0 January 4 2007 www xilinx com 2 XILINX ILOGIC Resources e Variable delay mode IOBDELAY TYPE VARIABLE In the variable delay mode the delay value can be changed after configuration by manipulating the control signals CE and INC When used in this mode the IDELAYCTRL primitive must be instantiated see IDELAYCTRL Usage and Design Guidelines for more details IDELAY Primitive F
349. n of the clock Both register outputs are then multiplexed and presented to the data input or 3 state control input of the IOB This structure is similar to the Virtex II and Virtex II Pro implementation The simplified output DDR registers and the signals associated with the OPPOSITE EDGE mode are shown in Figure 7 21 www xilinx com 343 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources 344 Figure 7 21 DDR MUX ug070 7 21 080104 Output DDR in OPPOSITE EDGE Mode 2 XILINX The timing diagram of the output DDR using the OPPOSITE_EDGE mode is shown in Figure 7 22 C CE D1 D2 A D D2A 1 B D2B D D2C D2D OQ D1A D2A DIB D2B D1C D2C D1D ug070 7 22 080104 Figure 7 22 Output DDR Timing in OPPOSITE EDGE Mode www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX OLOGIC Resources SAME_EDGE Mode In SAME_EDGE mode a third register OFF3 or TFF3 clocked by a rising edge clock is placed on the input of the falling edge register The output DDR registers and the signals associated with the SAME_EDGE mode are shown in Figure 7 23 DDR MUX ug070_7_23_080104 Figure 7 23 Output DDR in SAME_EDGE Mode Using this scheme data can now be presented to the IOB on the same clock edge Presenting the data to the IOB on the same clock edge avoids setu
350. n templates e Chapter 8 Advanced SelectIO Logic Resources Table 8 1 REV Added instruction to connect to GND Table 8 2 Corrected BITSLIP ENABLE value from String to Boolean Registered Outputs O1 to Q6 Added clarification on bit in out sequence High Speed Clock for Strobe Based Memory Interfaces OCLK Added instruction to ground OCLK when INTERFACE TYPE is NETWORKING BITSLIP ENABLE Attribute Specified setting according to setting of INTERFACE TYPE INTERFACE TYPE Attribute Added recommendation to use MIG when ISERDES is in Memory Mode Added Figure 8 3 to illustrate ISERDES internal connections in Memory Mode Added section ISERDES Clocking Methods ISERDES Width Expansion Added explanatory paragraph regarding master slave ISERDES use with differential single ended inputs Guidelines for Expanding the Serial to Parallel Converter Bit Width Corrected a number of master slave and input output reversals Verilog Instantiation Template to use Width Expansion Feature Corrected a number of errors in the template ISERDES Latencies Deleted former Table 8 4 and most of the text in this section and replaced with statement relating latency to INTERFACE_TYPE Deleted synthesis translate_off synthesis translate_on statements from all ISERDES instantiation templates Data Parallel to Serial Converter Added recommendation to apply a reset to OSERDES prior
351. nal Output Registers 0 6 eee 116 Independent Read and Write Port Width Selection 0000 117 Cascadable Block RAM 6 cc ccc ce ee cnet ren 117 FIFO Supporte siie ae 118 Byte Wide Write Enable 2 2 2 esee eee IR e rep wr ea Mee ke Mie ele reas 119 Block RAM Library Primitives sees eee 120 Block RAM Port Signals is iesus dde ne et Qa tune Qa dU dorado ep 121 Clock CLK A B correer ranea a e a ERR EAR 121 Enable EN A B verre aea bv Rr ERE a a Eve os 121 Write Enable WE A B 0 00 cece eH IH 121 Register Enable REGCE A B 00 cee eee eee 122 Set Reset SSR A B 0 0 ccc Ihn 122 10 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX Address Bus ADDR A B lt 14 gt ssssssssssseeees e eee eee 122 Data In Buses DI A B lt 0 gt amp DIP A B lt 0 gt 0 000000 cece eee e cece eee e ees 122 Data Out Buses DO A B lt 0 gt and DOP A B c0 sssseeeseeesse 123 Cascade CASCADEIN A B sseesesee RR 123 Cascade CASCADEOUT A B ssee Rees 123 Inverting Control Pins 3 205 e te tee Gee eae Soe ha athe oe aedes 123 GOR he ee Pate Geechee eee ao eee E EE A E EA AA Sams Neh ead ha 123 Unused Inpuit es rarer age ee eo rarer rar are Rt des eU 123 Block RAM Address Mapping 0 00 c cece cece eee 123 Block RAM Attributes 1 0 0 0 00000 ccc RR ree 124 Content Initialization
352. nal rules for combining DCI I O standards a Nomore than one Single Termination type input or output is allowed in the same bank Incompatible example HSIL IV DCI input and HSTL III DCI input b No more than one Split Termination type input or output is allowed in the same bank Incompatible example HSTL I DCI input and HSTL II DCI input The implementation tools enforce the above design rules Table 6 38 summarizes the Virtex 4 supported I O standards Table 6 38 VO Compatibility Vcco VREF Termination Type Lower Capacitance IOB I O Standard Output Input Input Output Input Output Input LVTTL 3 3 3 3 N R N R N R Yes Yes LVCMOS33 N R N R N R Yes Yes LVDCI 33 0 N R Series N R Yes Yes HSLVDCI 3300 Vcco 2 Series N R Yes Yes PCIX D N R N R N R Yes Yes PCI33 3 0 N R N R N R Yes Yes PCI66 30 N R N R N R Yes Yes Virtex 4 User Guide www xilinx com 287 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources Table 6 38 VO Compatibility Continued 2 XILINX 288 Veco VREF Termination Type Lower Capacitance IOB O Standard Output Input Input Output Input Output Input LVDS_25 2 5 Note 2 N R N R N R No Yes LVDSEXT_25 N R N R N R No Yes LDT_25 N R N R N R No Yes ULVDS_25 N R N R N
353. nel 1 10 Deserialization Factor ISERDES data_chan_slave O Q1 Q2 03 data internal 6 Q4 data internal 7 Q5 data internal 8 Q6 data internal 9 SHIFTOUT1 SHIFTOUT2 BITSLIP 1 b0 CE1 1 b1 CE2 1 b1 CLK iobclk CLKDIV clkdiv D 1 b0 DLYCE 1 b0 DLYINC 1 b0 DLYRST 1 b0 OCLK 1 b0 REV 1 b0 SHIFTIN1 shiftdatal SHIFTIN2 shiftdata2 SR rst Jor synthesis BITSLIP ENABLE of data chan slave is TRUE synthesis DATA RATE of data chan slave is DDR synthesis DATA WIDTH of data chan slave is 10 synthesis INTERFACE TYPE of data chan slave is NETWORKING synthesis IOBDELAY of data chan slave is NONE synthesis IOBDELAY TYPE of data chan slave is DEFAULT synthesis IOBDELAY VALUE of data chan slave is 0 Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 363 Chapter 8 Advanced SelectlO Logic Resources synthesis NUM CE of data chan slave is XILINX T synthesis SERDI BUFIO bufiol ES MODI SLAVI E of data chan slave is O iobclk I iserd es clkout To get a 1 10 deserialization factor in DDR mode set the clock divide BUFR bufr1 O clkdiv CE 1 Db1 CLR 1 b0 I iobclk Es synthesis BUFR DIVIDE endmodule ISERDES Latencies factor to 5 of bufrl is 5n P When the IS
354. nes whether the DCM waits in one of the startup cycles for the DCM to lock The possible values for this attribute are True and False The default value is False When STARTUP WAIT is set to True and the LCK cycle BitGen 66 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX DCM Attributes option is used then the configuration startup sequence waits in the startup cycle specified by LCK_cycle until the DCM is locked Table 2 7 DCM Attributes DCM Attribute Name Description Values Default Value CLKDV_DIVIDE This attribute controls CLKDV such Real 2 0 that the source clock is divided by 1 5 2 0 2 5 3 0 3 5 4 0 4 5 N 5 0 5 5 6 0 6 5 7 0 7 5 8 9 This feature provides automatic 10 11 12 13 14 15 16 duty cycle correction such that the CLKDV output pin has a 50 50 duty cycle always in low frequency mode as well as for all integer values of the division factor N in high frequency mode CLKFX DIVIDE Integer 1 to 32 1 CLKFX MULTIPLY Integer 2 to 32 4 CLKIN PERIOD This specifies the source clock Real in ns 0 0 period to help DCM adjust for optimum CLKFX CLKFX180 outputs CLKIN DIVIDE BY 2 This attribute allows for the input Boolean FALSE or TRUE FALSE clock frequency to be divided in half when such a reduction is necessary to meet the DCM input clock frequency requirements CLKOUT PHASE SHIFT This attribute specifies the phase String NONE
355. ng resources The signals connected to the RST and REFCLK input ports of the instantiated IDELAYCTRL instance are connected to the corresponding input ports of the replicated IDELAYCTRL instances There are two special cases 1 When the RDY port is ignored the RDY signals of all the replacement IDELAYCTRL instances are left unconnected The VHDL and Verilog use models for instantiating an IDELAYCTRL primitive without LOC constraints leaving the RDY output port unconnected are provided VHDL Use Model Only one instance of IDELAYCTRL primitive is instantiated The RDY port is left open www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX ILOGIC Resources dlyctrl IDELAYCTRL port map RDY open REFCLK refclk RST gt rst Verilog Use Model Only one instance of IDELAYCTRL primitive is instantiated The RDY port is left open IDELAYCTRL dlyctrl RDY REFCLK refclk RST rst Hi The resulting circuitry after instantiating the IDELAYCTRL components is illustrated in Figure 7 16 Instantiated by user REFCLK REFCLK RDY IDELAYCTRL RST RST 34 REFCLK RDY _ IDELAYCTRL RDY signal ignored RST Replicated for all IDELAYCTRL sites REFCLK RDY IDELAYCTRL RST Auto generated by mapper tool ug070 7 16 080104 Figure 7 16 Instantiate IDELAYCTRL Without LOC Constraints RDY Unconnected 2
356. noise margin in the use conditions specified by the user Complementary Single Ended CSE Differential HSTL Class II Figure 6 42 shows a sample circuit illustrating a valid termination technique for differential HSTL Class II 1 5V with unidirectional termination External Termination V 0 75V V 0 75V log T m IOB DIFF HSTL Il 500 500 Dj TZ X DIFF HSTL II Vr 0 75V Vr 0 75V DIFF HSTL II 500 500 D4 C Zo D4 ug070 6 40 071904 Figure 6 42 Differential HSTL 1 5V Class II Unidirectional Termination Virtex 4 User Guide www xilinx com 253 UGO070 v2 0 January 4 2007 XILINX Chapter 6 SelectlO Resources Figure 6 43 shows a sample circuit illustrating a valid termination technique for differential HSTL Class II 1 5V with unidirectional DCI termination DCI IOB DOE e e e Veco 1 5V Veco 15V DIFF_HSTL_II_DCI 2Rypp 2Zg 1000 2Rygp 2Zo 1002 D3 925 P1 2Rypy 2Zg 1000 4 2Rypy 7229 1009 DIFF_HSTL_II_DCI Voco 1 5V Voco 1 5V eee 2Rypp 2Zg 1002 2Rygp 2Zo 1002 tO 2 PD4 4 E 2Rypy 2Zg 1002 4 2Rygw 2Zo 1000 ug070_6_41_071904 Figure 6 43 Differential HSTL 1 5V Class Il DCI Unidirectional Termination Figure 6 44 shows a sample circuit illustrating a valid termination technique for differential HSTL Class II 1 5V with bidirectional termination External Termination
357. nt into the state specified by the SRVAL attributes When using SR a second input REV forces the storage element into the opposite state The reset condition predominates over the set condition Table 7 1 and Table 7 2 describe the operation of SR in conjunction with REV Virtex 4 User Guide www xilinx com 309 UGO070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources 310 XILINX Table 7 1 Truth Table when SRVAL 0 Default Condition SR REV Function 0 0 NOP 0 1 Set 1 0 Reset 1 1 Reset Table 7 2 Truth Table when SRVAL 1 SR REV Function 0 0 NOP 0 1 Reset 1 0 Set 1 1 Reset The SRVAL attributes can be set individually for each storage element in the ILOGIC block but the choice of synchronous or asynchronous set reset SRTYPE can not be set individually for each storage element in the ILOGIC block www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX ILOGIC Resources Most of the control signals have an optional inverter Any inverter placed on a control signal is automatically absorbed into the ILOGIC block i e no CLBs are used IDELMUX1USED D 1 1 a gt C0 IDELMUX IMUX IDELAYMUX D20BYP SRC D20BYP SEL IDELAY 1 a IFF1 a 9FB IFF3 Q1 IFFDELMUX IFFMUX GTMLDC i TFB DLYINC F
358. nto the DDR flip flop When Low clock transitions are ignored and new data is not loaded into the DDR flip flop CE must be High to load new data into the DDR flip flop D Data input DDR IDDR register input from IOB Virtex 4 User Guide www xilinx com 315 UG070 v2 0 January 4 2007 Chapter 7 SelectlO Logic Resources 2 XILINX Table 7 3 IDDR Port Signals Continued For Function Description Name R Reset Synchronous Asynchronous reset pin Reset is asserted High S Set Synchronous Asynchronous set pin Set is asserted High Table 7 4 IDDR Attributes Attribute Name Description Possible Values DDR CLK EDGE Sets the IDDR mode of operation OPPOSITE EDGE default with respect to clock edge SAME EDGE SAME EDGE PIPELINED INIT O1 Sets the initial value for Q1 port 0 default 1 INIT Q2 Sets the initial value for Q2 port 0 default 1 SRTYPE Set Reset type with respect to ASYNC SYNC default clock C IDDR VHDL and Verilog Templates The following examples illustrate the instantiation of the IDDR primitive in VHDL and Verilog IDDR VHDL Template Example IDDR component IDDR component declaration generic DDR CLK EDGE string OPPOSITE EDGE INIT Q1 bit I Oty INIT_Q2 bit 0 SRTYPE string SYNC port Q1 out std ulogic Q2 out std ulogic C in std ulogic CE in std ulogic D in std ulogic R in std
359. ock periods Ideally the purpose of a DLL is to zero out the clock delay to produce faster clock to out and non positive hold times The system synchronous setting default for DESKEW_ADJUST configures the feedback delay element to guarantee non positive hold times for all input IOB registers The exact delay number added to the feedback path is device size dependent This is determined by characterization In the timing report this is included as timing reduction to input clock path represented by the Tpcwrvo parameter As shown in Figure 2 4 the feedback path includes tap delays in the default setting red line The pin to pin timing parameters with DCM on the Virtex 4 Data Sheet reflects the setup hold and clock to out times when the DCM is in system synchronous mode www xilinx com 71 UGO070 v2 0 January 4 2007 72 Chapter 2 Digital Clock Managers DCMs XILINX Source Synchronous Setting When DESKEW ADJUST is set to source synchronous mode the DCM feedback delay element is set to zero As shown in Figure 2 4 in source synchronous mode the DCM clock feedback delay element is set to minimize the sampling window This results in a more positive hold time and a longer clock to out compared to system synchronous mode The source synchronous switching characteristics section in the Virtex 4 Data Sheet reflects the various timing parameters for the source synchronous design when the DCM is in source synchronous mode Chara
360. of BUFGCTRL Verilog Template Example BUFGMUX module declaration module BUFGMUX O IO I1 S Virtex 4 User Guide www xilinx com 47 UGO070 v2 0 January 4 2007 Chapter 1 Clock Resources XILINX output O input I0 input I1 input S endmodule Example BUFGMUX BUFGMUX U BUFGMUX O user o0 IO user i0 Il1 user i1 S0 user s instantiation Declaring constraints in Verilog synthesis attribute LOC of U BUFGMUX is BUFGCTRL_X Y where is valid integer locations of BUFGCTRL Declaring Constraints in UCF File INST U BUFGMUX LOC BUFGCTRL_X Y where is valid integer locations of BUFGCTRL BUFGMUX VIRTEX4 VHDL and Verilog Templates The following examples illustrate the instantiation of the BUFGMUX VIRTEX4 module in VHDL and Verilog VHDL Template Example BUFGMUX_VIRTEX4 declaration component BUFGMUX_VIRTEX4 port O out std ulogic I0 in std ulogic I1 in std ulogic S in std ulogic Jor end component Example BUFGMUX_VIRTEX4 instantiation U_BUFGMUX_VIRTEX4 Port map O gt user_o IO gt user i0 Il gt user i1 S gt user Ss BUFGMUX VIRTI EX4 Declaring constraints in VHDL file attribute INIT_OUT integer attribute PRESELECT IO boolean attribute PRESELECT I1 boolean attribute LOC string 1 1 48 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2
361. of the latter two constraints taking into account design specific parameters The criteria are as follows e SSO for any single bank cannot exceed 100 e Average SSO of two adjacent banks cannot exceed 105 of SSO allowance e Package SSO cannot exceed SSO allowance SSO is computed first on a per I O bank basis Next the average SSO of each adjacent bank pair is computed Finally the average SSO is computed for all banks to determine the effective utilization for the entire package Full Device SSO Example A sample calculation of full device SSO is shown for a Virtex 4 XC4VLX60 FF1148 package The subscript NOM denotes a nominal value while the subscript DES denotes a value for the design under analysis www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX Virtex 4 User Guide Simultaneous Switching Output Limits Step 0 Calculate the SSO Allowance SSO Allowance LuoM Loes x VNoIsE_DES VNOISE_NOM Vuorsg NoM CroAp pgs CLOAD_NOM X Vcosrr VNOISE_NOM SSO Allowance 1 0 nH 1 1 nH x 550 mV 600 mV x 600 mV 22 x pF 15 pF x 9 mV pF 600 mV SSO Allowance 75 4 Step 1 Calculate the SSO for Each Individual Bank for Bank 1 Ensure the SSO for each bank does not exceed 100 Bank1 SSO 50 9 lt 100 Bank2 SSO 50 9 lt 100 Bank3 SSO 0 lt 100 Bank4 SSO 60 lt 100 Bank5 SSO 35 lt 100 Bank6 SSO 40 lt 100 Bank7 SSO 15 lt 100 Bank8 SSO 30
362. og VHDL Examples e At time Tsgcp before clock event 3 the SR signal configured as synchronous reset in this case becomes valid high resetting the slice register This is reflected on either the XQ or YQ pin at time Tcgo after clock event 3 CLB Primitives and Verilog VHDL Examples Distributed RAM Primitives Four primitives are available from 16 x 1 bit to 64 x 1 bit Three primitives are single port RAM and one primitive is a dual port RAM as shown in Table 5 9 Table 5 9 Single Port and Dual Port Distributed RAM Primitive RAM Size Type Address Inputs RAM16X1S 16 bits single port A3 A2 A1 A0 RAM32XI1S 32 bits single port AA A3 A2 A1 AO RAM64X1S 64 bits single port A5 A4 A3 A2 A1 AO RAMI6XID 16 bits dual port A3 A2 A1 AO The input and output data are 1 bit wide However several distributed RAMs can be used to implement wide memory blocks Figure 5 28 shows generic single port and dual port distributed RAM primitives The A and DPRA signals are address busses RAM X1S RAM16X1D D D WE o WE SPO WCLK WCLK R W Port A 0 A 0 DPO DPRA 0 Read Port ug070_5_28_071504 Figure 5 28 Single Port and Dual Port Distributed RAM Primitive As shown in Table 5 10 wider primitives are available for 2 bit 4 bit and 8 bit RAM Table 5 10 Wider Primitives Virtex 4 User Guide Primitive RAM Size Data Inputs Address Inputs Data Outputs RAM16X2S 16 x 2
363. ogic DIN lt 3 0 gt DOUT lt 3 0 gt DOUT lt 3 0 gt WREN AFULL RDCLK FIFO 2 RDEN 8K x 4 FIFO ug070 4 23 071204 Figure 4 22 Cascading FIFO Cascading FIFOs to Increase Width As shown in Figure 4 23 the Virtex 4 FIFO can be cascaded to add width to the design CLB logic is used to implement the AND OR gates The maximum frequency can be limited by the logic gate feedback path 512 x 72 FIFO DOUT lt 35 0 gt DIN lt 35 0 gt DIN lt 35 0 gt DOUT lt 35 0 gt WREN RDEN RDEN WRCLK WRCLK EMPTY ra RDCLK FIFO 1 AFULL DOUT lt 71 36 gt DIN lt 71 36 gt DIN lt 35 0 gt DOUT lt 35 0 gt WREN WREN RDEN WRCLK EMPTY RDCLK EiEo 2 AFULL ug070 4 24 071204 Figure 4 23 Cascading FIFO by Width Virtex 4 User Guide www xilinx com 161 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX Built in Block RAM Error Correction Code Two vertically adjacent block RAMs can be configured as a single 512 x 64 RAM with built in Hamming error correction using the extra eight bits in the 72 bit wide RAM The operation is transparent to the user The eight protection bits are generated during each write operation and are used during each read operation to correct any single error or to detect but not correct any double error Two status outputs indicate the three possible read results No
364. on Name Q Data output DDR ODDR register output C Clock input port The C pin represents the clock input pin CE Clock enable port CE represents the clock enable pin When asserted Low this port disables the output clock on port O D1 and D2 Data inputs ODDR register inputs R Reset Synchronous Asynchronous reset pin Reset is asserted High S Set Synchronous Asynchronous set pin Set is asserted High Table 7 12 ODDR Attributes Attribute Name Description Possible Values DDR CLK EDGE Sets the ODDR mode of operation with OPPOSITE EDGE respect to clock edge default SAME EDGE INIT Sets the initial value for Q port 0 default 1 SRTYPE Set Reset type with respect to clock C ASYNC SYNC default www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX OLOGIC Resources ODDR VHDL and Verilog Templates The following examples illustrate the instantiation of the OSERDES module in VHDL and Verilog ODDR VHDL Template Example ODDR component declaration component ODDR generic DDR CLK EDGE string OPPOSITE EDGE INIT pit A xg SRTYPE string SYNC port Q out std ulogic Cc in std ulogic CE in std ulogic D1 in std ulogic D2 in std ulogic R in std ulogic S in std ulogic end component Example ODDR instantiation U ODDR ODDR Port map Q gt user q C gt user_c CE gt user_ce D1 gt user_dl D2 gt user_
365. on is always adjusted to match the reference resistors DCI can configure output drivers to be the following types 1 Controlled Impedance Driver Source Termination 2 Controlled Impedance Driver with Half Impedance Source Termination It can also configure inputs to have the following types of on chip terminations 1 Input termination to Vcco Single Termination 2 Input termination to Vcco 2 Split Termination Thevenin equivalent For bidirectional operation both ends of the line can be DCI terminated permanently 1 Driver with termination to Vcco Single Termination 2 Driver with termination to Vcco 2 Split Termination Thevenin equivalent Alternatively bidirectional point to point lines can use controlled impedance drivers with 3 state buffers on both ends Controlled Impedance Driver Source Termination Some I O standards such as LVCMOS must have a drive impedance matching the characteristic impedance of the driven line DCI can provide controlled impedance output drivers to eliminate reflections without an external source termination The impedance is set by the external reference resistors with resistance equal to the trace impedance The DCI I O standards supporting the controlled impedance driver are LVDCI 15 LVDCI 18 LVDCI 25 LVDCI 33 HSLVDCI 15 HSLVDCI 18 HSLVDCI 25 and HSLVDCI 33 Figure 6 4 illustrates a controlled impedance driver in a Virtex 4 device d gt a 2 UGO70 6 04 071404
366. on technique for SSTL Class I 1 8V External Termination IOB IOB SSTL18_ SSTL18 Rg 200 BW D x Veer 0 9V ue ul ae eee L DCI IOB l IOB Veco 1 8V 2Rypp 2Zg 1000 SSTL18 DCI SSTL18 DCI Sk C Zo Ro 20Q Vaer 0 9V E 2Rypy 2Zg 1000 ug070 6 64 071904 Figure 6 66 SSTL18 1 8V Class I Termination 276 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards SSTL18 Class II 1 8V Figure 6 67 shows a sample circuit illustrating a valid unidirectional termination technique for SSTL Class II 1 8V External Termination iOB Va 0 9V Vat 0 9V ig SSTL18 Il A SSTL18 Il Rg 200 P 40 P 0 NN 40 D Veer 0 9V L DCI IOB IOB 2Rypp 2Zo 1002 2Rygp 2Zg 1002 SSTL18 Il DCI SSTL18 Il DCI 1 51 09 2 43 Vac 0 9V Ro 20Q REF 2Rypy 2Zo 1000 2Rypy 2Zo 1000 L ug070_6_65_071904 Figure 6 67 SSTL18 1 8V Class Il Unidirectional Termination Virtex 4 User Guide www xilinx com 277 UG070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Figure 6 68 shows a sample circuit illustrating a valid bidirectional termination technique for SSTL 1 8V Class II External Termination Vr 0 9V Vr 0 9V
367. or FIXED NONE shift mode or VARIABLE POSITIVE or VARIABLE CENTER or DIRECT DESKEW ADJUST This affects the amount of delay in String SYSTEM the feedback path and should be SYSTEM SYNCHRONOUS SYNCHRONOUS used for source synchronous or interfaces SOURCE_SYNCHRONOUS DFS_FREQUENCY_MODE This specifies the frequency mode String LOW or HIGH LOW of the frequency synthesizer DLL_FREQUENCY_MODE This specifies the frequency mode String LOW or HIGH LOW of the DLL DUTY_CYCLE_CORRECTION This controls the DCM Boolean TRUE or FALSE TRUE 1X outputs CLKO CLK90 CLK180 and CLK270 to exhibit a 50 50 duty cycle Leave this attribute set at the default value DCM_PERFORMANCE_MODE Allows selection between String MAX_SPEED or MAX_SPEED maximum frequency minimum jitter and low frequency maximum phase shift range MAX RANGE Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 67 Chapter 2 Digital Clock Managers DCMs XILINX Table 2 7 DCM Attributes Continued FACTORY JF DCM Attribute Name Description Values Default Value DLL FREQUENCY MODE LOW BIT VECTOR FOFO default FOF 0 DLL_FREQUENCY_MODE HIGH default FOFO PHASE_SHIFT This specifies the phase shift Integer 255 to 1023 0 numerator The value range depends on CLKOUT_PHASE_SHIFT and clock frequency STARTUP_WAIT When this attribute is set to TRUE Boolean FALSE or
368. or to text above table Added HSLVDCI to Table 6 42 page 297 Revised Virtex 4 SX Family FF668 in Table 6 43 Chapter 8 Revised Clock Enable Inputs CE1 and CE2 Chapter 9 Added the Virtex 4 temperature sensing diode 10 06 06 1 6 Chapter 7 Modified text in section REFCLK Reference Clock and deleted former Table 7 10 01 04 07 2 0 e Chapter 1 Clock Resources I O Clock Buffer BUFIO Added in the same region to BUFIO ability to drive BUFRs BUFG VHDL and Verilog Templates Corrected typo in VHDL template Regional Clocks and I O Clocks Added reference to the PACE tool for identifying clock regions e Chapter 2 Digital Clock Managers DCMs Status Flags Corrected descriptions for Clock Events 2 3 and 4 Input Clock Requirements Clarified when DCM output clocks are deskewed Reset Input RST Updated RST hold time to 200 ms after clock stabilization Frequency Synthesizer Characteristics Added reference and link to a macro for monitoring LOCKED e Chapter 4 Block RAM Data Flow Added paragraph clarifying ADDR setup hold requirements Table 4 11 Corrected typo to ALMOST FULL RAMB16 Port Mapping Design Rules Corrected logic level tie for unused ADDR A B pins to High Synchronous Clocking Clarified synchronous write read timing Deleted SIM_COLLISION_CHECK statement
369. or to the operations performed in Figure 4 20 the FIFO is almost completely empty In this example the timing diagram reflects standard mode For FWFT mode data at DO appears one read clock cycle earlier 1 2 3 4 we liL T LT LT LI7LIG LI LS WREN RDCLK TECCK RDEN TFCCK RDEN RDEN Trcko DO TFcko po l DO lt 00 X 01 X 02 X OS X O04 TFcko EMPTY E EMPTY k TrcKo_AEMPTY AEMPTY TECKO_RDERR 4 RDERR ee e FCKO_RDERR ug070 4 20 071204 Figure 4 20 Reading From an Empty Almost Empty FIFO Standard Mode Clock Event 1 Read Operation and Assertion of Almost EMPTY Signal During a read operation to an almost empty FIFO the Almost EMPTY signal is asserted e At time Trcck RDEN before clock event 1 RDCLK read enable becomes valid at the RDEN input of the FIFO e At time Trcko po after clock event 1 RDCLK data 00 becomes valid at the DO outputs of the FIFO e At time Trcko AgMpry One clock cycle after clock event 1 RDCLK Almost Empty is asserted at the AEMPTY output pin of the FIFO Clock Event 2 Read Operation and Assertion of EMPTY Signal The EMPTY signal pin is asserted when the FIFO is empty e Read enable remains asserted at the RDEN input of the FIFO e Attime Trcko po after clock event 2 RDCLK data 04 last data becomes valid at the DO outputs of the FIFO e At time Trcko Empty after clock event 2 RDCLK Empty is asserted
370. ort output registers TRUE or FALSE Virtex 4 User Guide www xilinx com 127 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX INVERT CLK DOB REG FALSE Invert clock on B port output registers TRUE or FALSE RAM EXTENSION A NONE UPPER LOWER or NONE when cascaded RAM EXTENSION B NONE UPPER LOWER or NONE when cascaded READ WIDTH A gt 0 Valid values are 1 2 4 9 18 or 36 READ WIDTH B gt 0 Valid values are 1 2 4 9 18 or 36 SRVAL A X 000000000 Port A ouput value upon SSR assertion SRVAL B gt X 000000000 Port B ouput value upon SSR assertion WRITE MODE A WRITE FIRST WRITE FIRST READ FIRST or NO CHANGE WRITE MODE B WRITE FIRST WRITE FIRST READ FIRST or NO CHANGE WRITE WIDTH A gt 2 Valid values are 1 2 4 9 18 or 36 WRITE WIDTH B gt 0 Valid values are 1 2 4 9 18 or 36 INIT 00 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 01 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 02 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 03 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 04 gt X 0000000000000000000000000000000000000000000000000000000000000000 INIT 05 gt X 000000000000000000000000000000000000000
371. ossible values are WRITE FIRST default READ FIRST and NO CHANGE Additional information on the write modes is in the Operating Modes section Block RAM Location Constraints Block RAM instances can have LOC properties attached to them to constrain placement Block RAM placement locations differ from the convention used for naming CLB locations allowing LOC properties to transfer easily from array to array www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Block RAM Initialization in VHDL or Verilog Code The LOC properties use the following form LOC RAMB16 XiYi The RAMB16 X0YO is the bottom left block RAM location on the device If RAMB16 is constrained to RAMB16_X Y the FIFO cannot be constrained to FIFO16_X Y since they share a location An example location constraint is shown in the Block RAM VHDL and Verilog Templates section Block RAM Initialization in VHDL or Verilog Code Block RAM memory attributes and content can be initialized in VHDL or Verilog code for both synthesis and simulation by using generic maps VHDL or defparams Verilog within the instantiated component Modifying the values of the generic map or defparam will effect both the simulation behavior and the implemented synthesis results Block RAM VHDL and Verilog Templates The following template is a RAMB16 example in both VHDL and Verilog This primitive is the building block for all different sizes of block RAM
372. ows the next change to be performed The user interface and the physical implementation are different The user interface describes the phase shift as a fraction of the clock period N 256 The physical implementation adds the appropriate number of buffer stages each DCM_TAP to the clock delay The DCM_TAP granularity limits the phase resolution at higher clock frequencies All phase shift modes with the exception of DIRECT mode are temperature and voltage adjusted Hence a Vcc or temperature adjustment will not change the phase shift The DIRECT phase shift is not temperature or voltage adjusted since it directly controls DCM TAP Changing the ratio of Vcc temperature results in a phase shift change proportional to the size of the DCM_TAP at the specific voltage and temperature www xilinx com 75 UGO070 v2 0 January 4 2007 76 Chapter 2 Digital Clock Managers DCMs XILINX Interaction of PSEN PSINCDEC PSCLK and PSDONE The variable and direct phase shift modes are controlled by the PSEN PSINCDEC PSCLK and PSDONE ports In addition a phase shift overflow DO 0 status indicates when the phase shift counter has reached the end of the phase shift delay line or the maximum value 255 for variable mode 1023 for direct mode After the DCM locks the initial phase in the VARIABLE POSITIVE and VARIABLE CENTER modes is determined by the PHASE SHIFT value The initial phase in the DIRECT mode is always 0 regardless of
373. p time violations and allows the user to perform higher DDR frequency with minimal register to register delay as opposed to using the CLB registers The additional register is used to maintain an alternating bits output of DATA_1 and DATA 2 on the DDR multiplexer Figure 7 24 shows the timing diagram of the output DDR using the SAME EDGE mode C CE D1 D2 OQ D1A D2A DIB D2B DiC D2C D10 ug070 7 24 080104 Figure 7 24 Output DDR Timing in SAME EDGE Mode Clock Forwarding Output DDR can forward a copy of the clock to the output This is useful for propagating aclock and DDR data with identical delays and for multiple clock generation where every Virtex 4 User Guide www xilinx com 345 UGO070 v2 0 January 4 2007 346 Chapter 7 SelectlO Logic Resources XILINX clock load has a unique clock driver This is accomplished by tying the D1 input of the ODDR primitive Low and the D2 input High Xilinx recommends using this scheme to forward clocks from the FPGA fabric to the output pins Output DDR Primitive ODDR Figure 7 25 shows the ODDR primitive block diagram Table 7 11 lists the ODDR port signals Table 7 12 describes the various attributes available and default values for the ODDR primitive D1 Q D2 ODDR CE ug070_7_25_080104 Figure 7 25 ODDR Primitive Block Diagram Table 7 11 ODDR Port Signals Por Function Descripti
374. parameter SRVAL_OQ 1 b0 parameter SRVAL TQ 1 b0 parameter TRISTATE WIDTH 4 output OQ output SHIFTOUT1 output SHIFTOUT2 output TQ CLK CLKDIV D1 D2 D3 D4 input input input input input input input D5 input D6 tri0 GSR input OCE input REV input SHIFTIN1 input SHIFTIN2 input SR input T1 input T2 input T3 glbl GSR T2 CLK CLKDIV T3 D1 T4 D2 TCI 1 P D3 1 Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 383 Chapter 8 Advanced SelectlO Logic Resources XILINX input T4 input TCE endmodule Example OSERDES instantiation OSERDES U_OSERDES OQ user_oq SHIFTOUT1 user shiftout1 SHIFTOUT2 user_shiftout2 TQ user_tq CLK user clk CLKDIV user clkdiv D1 user d1 D2 user 32 D3 user d3 DA user d4 D5 user d5 D6 user d6 OCE user oce REV user rev SHIFTIN1 user shiftinl SHIFTIN2 user shiftin2 SR user sr T1 user t1 T2 user t2 T3 user t3 T4 user t4 TCE user tce 384 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Chapter 9 Temperature Sensing Diode Temperature Sensing Diode TDP TDN The Virtex 4 temperature sensing diode is accessible through the TDP anode and TDN cathode pins The TDP and TDN pins are wired internally to
375. ple circuit illustrating a valid termination technique for CSE differential SSTL2 Class II 2 5V with unidirectional DCI termination DCI IOB IOB Veco 25V Voco 2 5V DIFF SSTL2 II DCI 2Rypp 2Zg 1000 2Rypp 2Zg 1000 Ry 252 E RyRy 220 1002 E 2Rygw 7229 1000 DIFF ssri2 Il DCI ne DCI DIFF_SSTL2_II_DC 2Rypp 2Zg 1000 2Rypp 2Zg 1000 DJ 0 2 P41 4 2Rvpy 2Za7 1002 2Rypn 2Zp 1002 Ro 250 VRN 0 VRN 0 ug070_6_61_071904 Figure 6 63 Differential SSTL2 2 5V Class II Unidirectional DCI Termination Figure 6 64 shows a sample circuit illustrating a valid termination technique for CSE differential SSTL2 Class II 2 5V with bidirectional termination External Termination IOB IOB Vyp obest Vr 1 25V DIFF_SSTL2_II sd DIFF SSTL2 Il 250 250 z Cz wrx Vaz 1 25V Vr 1 25V DIFF_SSTL2_II DIFF_SSTL2_II A 500 500 250 Dg Q zo Dd DIFF_SSTL2_II DIFF_SSTL2_II 4 ug070 6 62 121206 Figure 6 64 Differential SSTL2 2 5V Class II with Bidirectional Termination 274 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX DCI Specific Guidelines for Virtex 4 I O Supported Standards Figure 6 65 shows a sample circuit illustrating a valid termination technique for CSE differential SSTL2 Class II 2 5V with bidirectional DCI termination DIFF SST
376. quencies The worse case numbers are specified in the Virtex 4 Data Sheet In all designs the DCM must be held in reset until CLKIN is stable Phase Shift Increment Decrement Input PSINCDEC Virtex 4 User Guide The phase shift increment decrement PSINCDEC input signal must be synchronous with PSCLK The PSINCDEC input signal is used to increment or decrement the phase shift factor when PSEN is activated As a result the output clocks will be shifted The PSINCDEC signal is asserted High for increment or deasserted Low for decrement This input must be tied to ground when the CLKOUT PHASE SHIFT attribute is set to NONE or FIXED www xilinx com 59 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs XILINX 60 Phase Shift Enable Input PSEN The phase shift enable PSEN input signal must be synchronous with PSCLK A variable phase shift operation is initiated by the PSEN input signal It must be activated for one period of PSCLK After PSEN is initiated the phase change is gradual with completion indicated by a High pulse on PSDONE There are no sporadic changes or glitches on any output during the phase transition From the time PSEN is enabled until PSDONE is flagged the DCM output clock moves bit by bit from its original phase shift to the target phase shift The phase shift is complete when PSDONE is flagged PSEN must be tied to ground when the CLKOUT PHASE SHIFT attribute is set to NONE or FIXED Figu
377. r input termination source termination must be implemented on the driver side Figure 6 79 shows the recommended external source termination resistors to be incorporated on the external device side The total impedance of the LVTTL LVCMOS driver added to the series termination resistor Ry must match the board trace impedance 10 percent to minimize overshoot and undershoot An IBIS simulation is advised for calculating the exact value needed for Ro Veco 3 3v Veco Ro Roriver IBUF_LVDCI_33 Any 3 3V LVTTL Zo 500 typical Virtex 4 FPGA O Device LVCMOS dis Driver OBUF LVDCI 33 External Device ug070 6 77 071904 Figure 6 79 Connecting LVTTL or LVCMOS Using the LVDCI 33 Standard www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Rules for Combining I O Standards in the Same Bank The connection scheme shown in Figure 6 80 is for a bidirectional bus scenario The signal performance may be degraded by R Therefore it is also recommended to verify the Ro value and performance with an IBIS simulation OBUFT LVDCI 33 gt me External Device IBUF_LVDCI Virtex 4 FPGA ug070 6 78 071404 Figure 6 80 3 3V I O Configuration When designing with the LVDCI 33 standard e The output drive strength and slew rates are not programmable The output impedance references the VRP and VRN resistors and the output current is determined by the output impedance e If only LVDCI
378. r the output data from the ISERDES 2 1 CLKDIV i Asynchronous D wl t lscko a Reset 4 Reset ug070 8 05 073004 Figure 8 6 SERDES Output Data Timing Diagram Clock Event 1 e Attime Trscko o after Clock Event 1 data appears on the Q1 to Q6 output pins Clock Event 2 e Attime Clock Event 2 the reset signal is valid high an asynchronous reset e After Clock Event 2 the O1 to Q6 output pins are asynchronously reset to zero 8 1 SDR ISERDES Figure 8 7 illustrates an ISERDES timing diagram for an 8 1 SDR ISERDES Due to the nature of the ISERDES it takes multiple CLKDIV cycles for data to appear The number of cycles depends on the INTERFACE TYPE attribute Timing parameter names are different depending on the mode SDR DDR however they do not change for different bus input widths In DDR mode the example is similar except the data input D switches every CLK edge rising and falling The first data bit received appears on the highest order output CLKDIV Event 1 CLK CLK CLKDIV Reset Event 1 1 2 Event 2 CLK akie LJ LT ULT UL T Tl J SR J Tiscck ce 7 CE 1 deem cR P7 Tispck p o ll 1lILTI l1ILTI 1l 1 Tiscko o Q1 Q8 00000000 00000000 11111010 6 00000000 11100101 UGO70 8 06 072904 Figure 8 7 8 1 SDR ISERDES CLKDIV Event 1 e At time Tiscck cg before CLKDIV event 1 the clock enable signal becomes a valid high The ISERDES can
379. ransistor Transistor Logic 00 e eee eee eee 238 LVCMOS Low Voltage Complementary Metal Oxide Semiconductor 240 LVDCI Low Voltage Digitally Controlled Impedance 0 0 00 0 0 cee eee 242 DN DCI DVZ up ices pitied wee iube eae eee Roe Gel Aah E Ed E ERE 242 HSLVDCI High Speed Low Voltage Digitally Controlled Impedance 244 PCIX PCI33 PCI66 Peripheral Component Interface ssseeesesss 245 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX GTL Gunning Transceiver Logic sseeseeesseeee e 246 GIL DCIUSape i 2r ai rye tra ata edd estes esee d cubare 246 GTLP Gunning Transceiver Logic Plus 6 06 247 GILP DC Usage iss cies Baia Sate gate AR E ee bet ite 248 HSTL High Speed Transceiver Logic 6 6c cece eens 249 HSTL I HSTL IIL HSTL I 18 HSTL_III_18 Usage 6 eene 249 HSTL I DCI HSTL III DCI HSTL I DCI 18 HSTL III DCI 18Usage 249 HSTL IL HSTL_IV HSTL II 18 HSTL_IV_18 Usage 6 0 0 ce ee eee ee eee 249 HSTL II DCI HSTL IV DCI HSTL II DCI 18 HSTL IV DCI 18Usage 249 DIEE HSTIL IL DIFF HSTE II 18 uei Bb 8 ERR PRCIY E RETE 249 DIFF HSTL II DCI DIFF_HSTL_IT_DCL18 0 0 0 0 0 cee eee eee 250 HSILClassI 23 3e ER RE ERO REN OP Shai be es ein ee ERE 250 HST Clase I ems e er pe hese okies nER DH Dip E PER iid 251 Complementary Single Ended CSE Differential HSTL Class IT
380. re 2 6 shows the timing for this input Dynamic Reconfiguration Data Input DI 15 0 The dynamic reconfiguration data DI input bus provides reconfiguration data for dynamic reconfiguration When not used all bits must be assigned zeros See the Dynamic Reconfiguration chapter of the Virtex 4 Configuration Guide for more information Dynamic Reconfiguration Address Input DADDR 6 0 The dynamic reconfiguration address DADDR input bus provides a reconfiguration address for the dynamic reconfiguration When not used all bits must be assigned zeros The DO output bus will reflect the DCM s status See the Dynamic Reconfiguration chapter of the Virtex 4 Configuration Guide for more information Dynamic Reconfiguration Write Enable Input DWE The dynamic reconfiguration write enable DWE input pin provides the write enable control signal to write the DI data into the DADDR address When not used it must be tied Low See the Dynamic Reconfiguration chapter of the Virtex 4 Configuration Guide for more information Dynamic Reconfiguration Enable Input DEN The dynamic reconfiguration enable DEN input pin provides the enable control signal to access the dynamic reconfiguration feature When the dynamic reconfiguration feature is not used DEN must be tied Low When DEN is tied Low DO reflects the DCM status signals See the Dynamic Reconfiguration chapter of the Virtex 4 Configuration Guide for more information Clock Output Ports
381. re 6 7 illustrates DCI single termination inside a Virtex 4 device IOB i Veco R o gt gt Z 0 VREF l Virtex 4 DCI g UG070_6_07_071904 Figure 6 7 Input Termination Using DCI Single Termination www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX SelectlO Resources General Guidelines Input Termination to Vcco 2 Split Termination Some I O standards e g HSTL Class I and II require an input termination voltage of Vcco 2 see Figure 6 8 Vcco 2 JddB COC R oo Tt VREF Virtex 4 UG070_6_08_071904 Figure 6 8 Input Termination to Vcco 2 without DCI This is equivalent to having a split termination composed of two resistors One terminates to Vcco the other to ground The resistor values are 2R DCI provides termination to Vcco 2 using split termination The termination resistance is set by the external reference resistors i e the resistors to Vccg and ground are each twice the reference resistor value Both HSTL and SSTL standards need 50 O external reference resistors The DCI I O standards supporting split termination are HSTL I DCI HSTL I DCI 18 HSTL II DCI HSTL II DCI 18 DIFF HSTL II DCI DIFF HSTL II DCI 18 SSTL2 I DCI SSTL2 II DCI SSTL18 I DCI SSTL18 II DCI DIFF SSTL2 II DCI and DIFF SSTL18 II DCI Figure 6 9 illustrates split termination inside a Virtex 4 device IOB Vova oR Q T gt S San VREF Vir
382. re Rr mee ee Fee ener wales eng oman 370 Bitslip Operation 2s oda Eo abide ere ee ds dea dee ees 370 Bitslip Timing Model and Parameters lssseeeeeee e 372 Output Parallel to Serial Logic Resources OSERDES 372 Data Parallel to Serial Converter llle 373 3 State Parallel to Serial Conversion 0 0 0 000 ccc cent eee es 374 OSERDES Primitive ree rer pue aede ente e ARM or Qe erede 374 OSERDES POTIS erae etu pa e e aer oe ean POE qoe C pre cvs t 374 Data Path Output OQ fi epea eect hex e Reque RU tede eee eed eet d 375 3 state Control Output TO 0 ect hn 375 High Speed ClockInput CLK seeeeeeeeeeee nn 375 Divided ClockInput CLKDIV seeeeeeeeeee Ie 375 Parallel Data Inputs DI to D6 i feed eee hee ete eke g Ree ehe better wate eh 375 Output Data Clock Enable OCE 2 6 cece eee eens 375 Parallel 3 state Inputs T1 to T4 6 cee eens 376 3 state Signal Clock Enable TCE n n nauuna nnn nanan rnrn eee ees 376 Virtex 4 User Guide www xilinx com UGO070 v2 0 January 4 2007 17 XILINX OSERDES Attributes sss csssuersis ensert kinet E EE EEEE s 376 DATA RATE OQ Attrib te 222m cini oa ev deeds Ae ER ERR 376 DATA RATE TO Attribute 0 ce ee ence hc hn 376 DATA WIDTH Attribute leeeeeeeee RR RI aa 377 SERDES MODE Attribute eese hh hh nnn 377 TRISTATE WIDTH Attribute esseeeeee eee I an 377 OSERDES Width Expansion
383. re any integer from one to 32 The default settings are M 4 and D 1 CLKIN_PERIOD Attribute The CLKIN_PERIOD attribute specifies the source clock period in nanoseconds The default value is 0 0 ns CLKIN_DIVIDE_BY_2 Attribute The CLKIN_DIVIDE_BY_2 attribute is used to enable a toggle flip flop in the input clock path to the DCM When set to False the effective CLKIN frequency of the DCM equals the source clock frequency driving the CLKIN input When set to True the CLKIN frequency is divided by two before it reaches the rest of the DCM Thus the DCM sees half the frequency applied to the CLKIN input and operates based on this frequency For example if a 100 MHz clock drives CLKIN and CLKIN DIVIDE BY 2 is set to True then the effective CLKIN frequency is 50 MHz Thus CLKO output is 50 MHz and CLK2X output is 100 MHz The effective CLKIN frequency must be used to evaluate any operation or specification derived from CLKIN frequency The possible values for CLKIN DIVIDE BY 2 are True and False The default value is False CLKOUT PHASE SHIFT Attribute The CLKOUT PHASE SHIFT attribute indicates the mode of the phase shift applied to the DCM outputs The possible values are NONE FIXED VARIABLE POSITIVE VARIABLE CENTER or DIRECT The default value is NONE When set to NONE a phase shift cannot be performed and a phase shift value has no effect on the DCM outputs When set to FIXED the DCM outputs are phase shifted by a fixed phas
384. rilog Instantiation Template VHDL and Verilog instantiation templates are available in the Libraries Guide for all primitives and submodules In VHDL each template has a component declaration section and an architecture section Each part of the template should be inserted within the VHDL design file The port map of the architecture section should include the design signals names VHDL for Zero Hold Time Delay Mode The following VHDL code shows how to instantiate the IDELAY module in a zero hold time delay mode Module IDELAY Description VHDL instantiation template Zero Hold Time Mode Device Virtex 4 Family Components Declarations Component Declaration for IDELAY should be placed after architecture statement but before begin keyword component IDELAY generic IOBDELAY TYPE string DEFAULT DEFAULT FIXED VARIABLE IOBDELAY VALUE integer 0 0 to 63 Ve port O out STD LOGIC I in STD LOGIC C in STD LOGIC CE in STD LOGIC INC in STD LOGIC RST in STD LOGIC end component www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX ILOGIC Resources Component Attribute specification for IDELAY should be placed after architecture declaration but before the begin keyword Architecture Section attribute IOB attribute IOB DEI DE LAY TYPE jAY VALUE string integer
385. ring attribute loc of dlyctrl 1 1abel is IDELAYCTRL XO0Y0 attribute loc of dlyctrl 2 1abel is IDELAYCTRL XO0Y1 attribute loc of dlyctrl n label is IDELAYCTRL XnYn Declaring LOC constraints in the UCF file INST dlyctrl 1 LOC IDELAYCTRL X0Y0 INST dlyctrl 2 LOC IDELAYCTRL X0Y1 INST dlyctrl n LOC IDELAYCTRL XnYn One instantiation of an IDELAYCTRL primitive without LOC constraint RST and RDY port signals are independent from LOC ed instances dlyctrl noloc IDELAYCTRL port map RDY rdy noloc REFCLK refclk RST rst noloc di Verilog Use Model Multiple instantiations of IDELAYCTRL primitives with LOC contraints 338 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 2 XILINX ILOGIC Resources Each instance has reconfiguration The REFCLK signal instances IDELAYCTRL dlyctrl 1 IDELAYCTRL dlyctrl 2 its own RST and RDY signal to allow for partial is common to all instances LOC and replicated RDY rdy 1 REFCLK refclk RST rst 1 E RDY rdy 2 REFCLK refclk RST rst 2 Ju IDELAYCTRL dlyctrl n RDY rdy n REFCLK refclk RST rst n Ju The user should either declare the LOC constraints in the Nerilog design file or in the UCF file Declaring LOC constraints in the Verilog file synthesis attribute loc of dlyctrl 1 is IDELAYCTRL X0YO synthesis attribute loc of
386. rtex 4 Data Sheet The requirement must be met even when the read data output is of no interest and ignored by the user www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX Synchronous Dual Port and Single Port RAMs CASCADEOUTA CASCADEOUTB 18 Kbit Block RAM DIA DIPA ADDRA WEA ENA SSRA Port A REGCEA CASCADEINA CASCADEINB ugo70 4 01 071204 Figure 4 1 Dual Port Data Flows Table 4 1 Dual Port Names and Descriptions Port Name Description DI A B Data Input Bus DIP A BJ Data Input Parity Bus ADDRJA B Address Bus WE A B Write Enable EN A B When inactive no data is written to the block RAM and the output bus remains in its previous state SSR A B Set Reset CLK A B Clock Input DO A B Data Output Bus DOP A BJ Data Output Parity Bus REGCE A B Output Register Enable CASCADEINL A B Cascade input pin for 32K x 1 mode CASCADEOUT A B Cascade output pin for 32K x 1 mode Notes 1 The Data Parity Buses DIP A B and DOP A B section has more information on Data Parity pins Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 113 Chapter 4 Block RAM XILINX Read Operation The read operation uses one clock edge The read address is registered on the read port and the stored data is loaded into the output latches after the RAM access time Write Operation
387. rtup sequence The second phase maintains the impedance in response to temperature and supply voltage changes by controlling the smaller transistors in the I Os It begins immediately after the first phase and continues indefinitely even while the device is operating By default the DONE pin does not go High until the first phase of the impedance adjustment process is complete www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX SelectlO Resources General Guidelines The coarse impedance calibration during first phase of impedance adjustment can be invoked after configuration by instantiating the DCIRESET primitive By toggling the RST input to the DCIRESET primitive while the device is operating the DCI state machine is reset and both phases of impedance adjustment proceed in succession All I Os using DCI will be unavailable until the LOCKED output from the DCIRESET block is asserted This functionality is useful in applications where the temperature and or supply voltage changes significantly from device power up to the nominal operating condition Once at the nominal operating temperature and voltage performing the first phase of impedance adjustment allows optimal headroom for the second phase of impedance adjustment For controlled impedance output drivers the impedance can be adjusted either to match the reference resistors or half the resistance of the reference resistors For on chip termination the terminati
388. s HSIL II 18 DCI 0 9 Split Split Yes Yes DIFF HSTL II 18 DCI N R Split Split Yes Yes SSTL18 I DCI 0 9 N R Split Yes Yes SSTLI8 II DCI 0 9 Split Split Yes Yes DIFF SSTL18 II DCI N R Split Split Yes Yes Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 289 Chapter 6 SelectlO Resources Table 6 38 VO Compatibility Continued XILINX Vcco VREF Termination Type Lower Capacitance IOB I O Standard Output Input Input Output Input Output Input HSITL III 1 5 Note 2 0 9 N R N R Yes Yes HSTL IV 0 9 N R N R Yes Yes HSTL_I 0 75 N R N R Yes Yes HSTL_II 0 75 N R N R Yes Yes DIFF_HSTL_II N R N R N R Yes Yes LVCMOS15 1 5 N R N R N R Yes Yes LVDCI 15 N R Series N R Yes Yes HSLVDCI 15 Vcco 2 Series N R Yes Yes LVDCI DV2 15 N R Series N R Yes Yes GTLP DCI 1 Single Single Yes Yes HSTL III DCI 0 9 N R Single Yes Yes HSTL IV DCI 0 9 Single Single Yes Yes HSTL I DCI 0 75 N R Split Yes Yes HSTL II DCI 0 75 Split Split Yes Yes DIFF HSTL II DCI N R Split Split Yes Yes GTL_DCI 1 2 1 2 0 8 Single Single Yes Yes GTLP N R Note 2 1 N R N R Yes Yes GTL 0 8 N R N R Yes Yes Notes 1 See 3 3V I O Design Guidelines for more detailed information 2 Differential inputs and inputs using Vggg are powered from Vccayx However pin voltage must not exceed Veco
389. s and thermal specifications UG076 Virtex 4 RocketIO Multi Gigabit Transceiver User Guide This guide describes the RocketIO Multi Gigabit Transceivers available in the Virtex 4 FX family UG074 Virtex 4 Tri mode Ethernet Media Access Controller This guide describes the Tri mode Ethernet Media Access Controller available in the Virtex 4 FX family UG018 PowerPC 405 Processor Block Reference Guide This guide is updated to include the IBM 9 PowerPC 405 processor block available in the Virtex 4 FX family Additional Support Resources To search the database of silicon and software questions and answers or to create a technical support case in WebCase see the Xilinx website at http www xilinx com support This document uses the following conventions An example illustrates each convention The following typographical conventions are used in this document Meaning or Use Messages prompts and program files that the system displays Example Speed grade 100 Literal commands that you enter in a syntactical statement ngdbuild design name Commands that you select from a menu File Open Keyboard shortcuts Ctrl C Conventions Typographical Convention Courier font Courier bold Helvetica bold 20 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Conventions Convention Italic font Meaning or Use Variables in a s
390. s depend on the DATA RATE and DATA WIDTH attributes Latency is defined as the number of slow clock CLKDIV edges needed to sample the parallel data into OSERDES followed by the number of fast clock CLK edges needed for the OSERDES to deliver the first serialized data into the QQ output after the parallel data is sampled Table 8 9 summarizes the various OSERDES latency values 378 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX Output Parallel to Serial Logic Resources OSERDES Table 8 9 OSERDES Latencies DATA_RATE DATA_WIDTH Latency SDR 2 1 1 CLKDIV cycle and 1 CLK cycle 3 1 1 CLKDIV cycle and 3 CLK cycle 4 1 1 CLKDIV cycle and 4 CLK cycle 5 1 1 CLKDIV cycle and 4 CLK cycle 6 1 1 CLKDIV cycle and 5 CLK cycle 7 1 1 CLKDIV cycle and 5 CLK cycle 81 1 CLKDIV cycle and 6 CLK cycle DDR 4 1 1 CLKDIV cycle and 1 CLK cycle 6 1 1 CLKDIV cycle and 3 CLK cycle 8 1 1 CLKDIV cycle and 4 CLK cycle 10 1 1 CLKDIV cycle and 4 CLK cycle OSERDES Timing Model and Parameters This section discusses all timing models associated with the OSERDES primitive Table 8 10 describes the function and control signals of the OSERDES switching characteristics in the Virtex 4 Data Sheet Table 8 10 OSERDES Switching Characteristics Symbol Setup Hold Description Tospck p Tosckp p D input Setup Hold with respect to CLKDIV Tospck T Tosckp T T input Setup Hold
391. s elena 88 Reset Lock 1 Ree e esce e etc He e eH erede Hove dH eerie 89 Fixed Phase Shifting eresi peses erg eter eh penbe ie ed erg enia ma 90 Variable Phase Shifting lt 0 ew eee eh eee beer ier eer aee ee es 90 Status Tags cose ees n eae mersa Rc epe Madan Sin ecd ene di 92 Legacy SUpport 624 ecteceree Ext exten VR A2 qa Sk Ra paken a TRES E VER Na iE 93 Virtex 4 User Guide www xilinx com UGO070 v2 0 January 4 2007 XILINX Chapter 3 Phase Matched Clock Dividers PMCDs PMCD S Bilaty ouo veces hisse desas ERREUR RE RE pie Pad e e ER x Pea bus 95 PMCD Primitives Ports and Attributes 0 0 00 00 c eee eee 96 PMCD Usage and Design Guidelines 0 000 0 cee eee eee 98 Phase Matched Divided Clocks 0 0 0 0 0 cece eee eee 98 Matched Clock Phase 6 6 cc n 98 Reset RST and Release REL Control Signals eese 99 Connecting PMCD to other Clock Resources 00 0000 cece 101 IBUPFG to PMCD essct der ea Ron pa n teet uber e tetra ea e Ue ee denk eg 101 BEM t PMC tr pee pa pd ee eee a ce di d e Ra deeds 101 BUPFGGTRE to PMGQD 2d ate dedit e eee rete E tende erre teet Ra 101 PMGD to BUEGCTRLE itte en Hcet Ee Hager tri dede 102 PMGD to PMGD derer ouek oeque enatis etate pal traen be ar epa RR te q c eua 102 Application Examples sssssssssssssss e 102 DCM and a Single PMCD i e oie bung etacng eo hander ex hr ER he P e checa 102 DCM and Parallel PMCDs
392. s from all templates e Chapter 6 SelectIO Resources Figure 6 53 Corrected internal termination resistor designation Table 6 1 Updated LVTTL DC voltage specifications Table 6 31 and following Globally corrected OBUFGDS to OBUFTDS Differential Termination Attribute Corrected paragraph describing use of DIFF_TERM attribute Xilinx DCI Added reference to section Driver with Termination to Vcco 2 Split Termination Figure 6 64 Corrected I O standard name to DIFF SSTL2 II Table 6 38 Corrected I O standard name to DIFF HSTL II 18 DCI Virtex 4 User Guide www xilinx com UG070 v2 0 January 4 2007 01 04 07 cont d Version 2 0 cont d Revision e Chapter 7 SelectIO Logic Resources IDELAYCTRL Locations Reworded description of IDELAYCTRL locations in clock regions Table 7 6 Added when in Variable mode to function descriptions of C INC and CE ports Table 7 9 Added Note 1 to TrTDELAYRESOLUTION Added requirement to wait 8 clock cycles after increment or decrement before sampling IDELAY Figure 7 12 Modified to show 8 clock cycle wait time Modified timing desription to match new Figure 7 12 IDELAY VHDL and Verilog Instantiation Template Changed port map for C CE INC and RST from open to zero both Verilog and VHDL Deleted synthesis translate off synthesis translate on statements from all IDELAY instantiatio
393. s identical to a LVCMOS receiver Some I O standards such as LVTTL IVCMOS etc must have a drive impedance that matches the characteristic impedance of the driven line Virtex 4 devices provide a controlled impedance output driver to provide series termination without external source termination resistors The impedance is set by the common external reference resistors with resistance equal to the trace characteristic impedance Zp Sample circuits illustrating both unidirectional and bidirectional termination techniques for a controlled impedance driver are shown in Figure 6 29 and Figure 6 30 The DCI I O standards supporting a controlled impedance driver are LVDCI 15 LVDCI 18 LVDCI 25 and LVDCI 33 ug070 6 29 071904 Figure 6 29 Controlled Impedance Driver with Unidirectional Termination LVDCI pt LVDCI Ro van Rvrp Zo lt Figure 6 30 Controlled Impedance Driver with Bidirectional Termination Ro Rynw RypP o ug070_6_30_071904 LVDCI_DV2 A controlled impedance driver with half impedance source termination can also provide drivers with one half of the impedance of the reference resistors The I O standards supporting a controlled impedance driver with half impedance are LVDCI_DV2_15 242 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Specific Guidelines for Virtex 4 I O Supported Standards LVDCI DV2 18 and LVDCI DV2 25 Fi
394. s inputs Time before the clock that address signals must be stable at the F G inputs of the slice LUT configured as RAM Tws Twu WE input SR Time before the clock that the write enable signal must be stable at the WE input of the slice LUT configured as RAM Clock CLK Twc Minimum clock period to meet address write cycle time Distributed RAM Timing Characteristics The timing characteristics of a 16 bit distributed RAM implemented in a Virtex 4 slice LUT configured as RAM are shown in Figure 5 23 1 2 3 4 5 6 7 m Twe ITwPH Tweet ox ae BO Oe Oe ae ae amp ADDR DI WE DATA OUT X XMUX Output l WRITE READ WRITE WRITE WRITE READ UGO070 5 23 080204 Figure 5 23 Slice Distributed RAM Timing Characteristics 194 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX CLB Slice Timing Models Clock Event 1 Write Operation During a Write operation the contents of the memory at the address on the ADDR inputs are changed The data written to this memory location is reflected on the X Y outputs synchronously e Attime Tws before clock event 1 the write enable signal WE becomes valid high enabling the RAM for the following Write operation e At time Tas before clock event 1 the address 2 becomes valid at the F G inputs of the RAM e Attime Tps or Tcycy before clock event 1 the DATA becomes valid 1 at the DI input of the RAM and is reflected on the X XMUX output at time Tspcxpo after cloc
395. s set www xilinx com 125 UGO070 v2 0 January 4 2007 126 Chapter 4 Block RAM XILINX Table 4 5 Port Width Values Port Data Width DOP Bus DO Bus INIT SRVAL 1 NA 0 1 2 NA 1 0 2 4 NA 3 0 4 9 0 7 0 1 8 9 18 lt 1 0 gt lt 15 0 gt 2 16 18 36 lt 3 0 gt lt 31 0 gt 4 32 36 Optional Output Register On Off Switch DO AIB _REG This attribute sets the number of pipeline register at A B output of RAMB16 The valid values are 0 default or 1 Clock Inversion at Output Register Switch INVERT CLK DO AIB REG When set to TRUE the clock input to the pipeline register at A B output of RAMB16 is inverted The default value is FALSE Extended Mode Address Determinant RAM EXTENSION AIB This attribute determines whether the block RAM of interest has its A B port as UPPER LOWER address when using the cascade mode Refer to the Cascadable Block RAM section When the block RAM is not used in cascade mode the default value is NONE Read Width READ WIDTH AIB This attribute determines the A B read port width of the block RAM The valid values are 0 default 1 2 4 9 18 and 36 Write Width WRITE WIDTH AIB This attribute determines the A B write port width of theblock RAM The valid values are 0 default 1 2 4 9 18 and 36 Write Mode WRITE MODE AIB This attribute determines the write mode of the A B input ports The p
396. se an OBUF instead of BUFG and ODDR Figure 2 9 Virtex 4 User Guide www xilinx com 79 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs 80 XILINX However the clock quality will not be as well preserved as when connected using a global buffer and a DDR register Figure 2 10 Outside FPGA IBUFG Inside FPGA CLK V IBUFG CLK V RST PSE PSC DAD DCM ADV CLKO IN CLK90 CLK180 FB CLK270 CLK2X CLK2X180 CLKDV CLKFX PSINCDEC CLKFX180 N LK DISSI LOCKED DO 15 0 Voc ODDR UG070 2 08 071204 Figure 2 8 Board Level Clock Using DDR Register with External Feedback Outside FPGA Inside FPGA IBUFG CLKIN IBUFG CLKFB RST PSINCDEC PSEN PSCLK DADDR e 0 DCM ADV CLKO CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV CLKFX CLKFX180 LOCKED DO 15 0 OBUF re I UGO70 2 09 071204 Figure 2 9 Board Level Clock Using OBUF with External Feedback www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX IBUFG DCM_ADV CLKO CLK90 CLK180 CLK270 CLK2X CLK2X180 RST CLKDV CLKFX PSINCDEC CLKFX180 PSEN PSCLK DADDR 6 0 DI 15 0 DWE DEN DCLK LOCKED DO 15 0 BUFG Application Examples Voc ODDR GND UG070 2 10 071204 Fig
397. sed in conjunction with LVDS 25 LVDSEXT 25 LDT 25 and ULVDS 25 It replaces the Virtex II Pro LVDS 25 DT LVDSEXT 25 DT LDT 25 DT and ULVDS 25 DT The on chip input differential termination in Virtex 4 devices provides major advantages over the external resistor by removing the stub at the receiver completely and therefore greatly improving signal integrity e Consumes less power than DCI termination e Does not use VRP VRN pins DCI e Supports LDT and ULVDS not supported by DCI termination The Vcco of the I O bank must be connected to 2 5V 5 to provide 100 of effective differential termination DIFF TERM is only available for inputs and can only be used with a bank voltage of Vcco 2 5V The Differential Termination Attribute DIFF TERM section outlines using this feature LVDS and Extended LVDS Low Voltage Differential Signaling Low Voltage Differential Signaling LVDS is a very popular and powerful high speed interface in many system applications Virtex 4 I Os are designed to comply with the EIA TIA electrical specifications for LVDS to make system and board design easier With the use of an LVDS current mode driver in the IOBs the need for external source termination in point to point applications is eliminated and with the choice of an extended mode Virtex 4 devices provide the most flexible solution for doing an LVDS design in an FPGA Extended LVDS provides a higher drive capability and voltage swing 350 750 mV
398. shows the length of the INIT attribute for each primitive Table 5 11 INIT Attributes Length Primitive Template INIT Attribute Length RAM16X1S RAM 16S 4 digits RAM32X1S RAM_32S 8 digits RAM64X1S RAM_64S 16 digits RAM16X1D RAM_16S 4 digits Initialization in VHDL or Verilog Codes Distributed RAM structures can be initialized in VHDL or Verilog code for both synthesis and simulation For synthesis the attributes are attached to the distributed RAM instantiation and are copied in the EDIF output file to be compiled by Xilinx Alliance Series tools The VHDL code simulation uses a generic parameter to pass the attributes The Verilog code simulation uses a defparam parameter to pass the attributes The distributed RAM instantiation templates in VHDL and Verilog illustrate these techniques VHDL and Verilog Templates Location Constraints The CLB has four slices S0 1 S2 and S3 As an example in the bottom left CLB the slices have the coordinates shown in Figure 5 1 Distributed RAM instances can have LOC properties attached to them to constrain placement The RAM16X1S primitive fits in any LUT of slices S0 or S2 For example the instance U_LRAM16 is placed in slice XOYO with the following LOC properties INST U RAM16 LOC SLICE X0YO Distributed RAM placement locations use the slice location naming convention allowing LOC properties to transfer easily from array to array Virtex 4
399. sion feature in DDR mode with a deserialization factor of 1 10 Virtex 4 User Guide UGO070 v2 0 January 4 2007 tf Module serial_parallel_converter Description Verilog instantiation template for a serial to parallel converter function using the ISERDES Device Virtex 4 Family VLIbllll VL LP P a TAA TITTIES timescale 1ps 1ps module serial parallel converter Din clk in rst J3 input Din www xilinx com 361 Chapter 8 Advanced SelectlO Logic Resources input clk in input rst wire iserdes clkout wire iobclk wire clkdiv wire shiftdatal wire shiftdata2 wire 9 0 data internal Instantiate ISERDES for forwarded clock ISERDES fwd clk synthesis synthesis synthesis synthesis synthesis synthesis synthesis synthesis synthesis O iserdes clkout SOU 5 Q2 03 J Q4 05 Q6 SHIFTOUT1 SHIFTOUT2 BITSLIP 1 b0 CEl 1 b1 CE2 1 b1 LK iobclk LKDIV clkdiv clk in LYCE 1 b0 LYINC 1 b0 LYRST 1 Db0 CLK 1 b0 EV 1 b0 HIFTIN1 1 b0 HIFTIN2 1 b0 R rst C C D D D D O R S S S Js BITSLIP ENABLE of fwd clk is DATA RATE of fwd clk is DDR DATA WIDTH of fwd clk is 4 INTERFACE TYPE of fwd clk is N IOBDELAY of fwd clk is NONE IOBDELAY TYPE of fwd clk is IOBDELAY VALUE of fwd clk is 0 NUM CE of fwd clk is 1
400. slip operation causes the output pattern to shift left by one In DDR mode every Bitslip operation causes the output pattern to alternate between a shift right by one and shift left by three In this example on the eighth Bitslip operation the output pattern reverts to the initial pattern This assumes that serial data is an eight bit repeating pattern Bitslip Operation in SDR Mode Bitslip Operation in DDR Mode Bitslip Output Bitslip Output Operations Pattern 8 1 Operations Pattern 8 1 Executed Executed 10010011 Initial 00100111 00100111 10010011 2 01001110 3 10011100 4 S 00111001 5 01110010 6 11100100 2 10011100 3 01001110 4 S 901110010 5 00111001 6 11001001 ug070 8 16 072604 Figure 8 8 Bitslip Operation Examples www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Input Serial to Parallel Logic Resources ISERDES Figure 8 9 illustrates the ISERDES configured in Bitslip mode Two ISERDES modules are in a master slave configuration for a data width of eight The Bitslip operation in SDR mode is also shown IOB SERDES_MODE MASTER BITSLIP_ENABLE TRUE Note 1 1001 0011 ISERDES Master SHIFTINI SHIFTIN2 D Q1 Q2 ISERDES Q7 Q3 Slave Q8 Q4 Q5 Q6 Initial oo 004 ist 2nd Sth Ath 5th 6th 7th 8th Bitslip Bitslip Bitslip Bitslip Bitslip Bitslip Bitslip Bitslip
401. st SSO limits for each I O standard are obtained from Table 6 42 1 0 Group 1 0 Standard SSO Limit Drivers per Vcco GND Pair 1 SSTL2_II 10 2 LVCMOS25_16 Fast 8 3 LVCMOS25_6 Fast 17 From Table 6 41 the number of equivalent Vcco GND pairs in Bank 1 for the FF1148 package is eight The Bank SSO limit is calculated for each I O standard Bank SSO Limit drivers per Vcco GND pair x 8 Vcco GND pairs Bank SSO Limit 1 10 drivers per Vcco GND pair x 8 Vcco GND pairs 80 drivers Bank SSO Limit 2 8 drivers per Vcco GND pair x 8 Vcco GND pairs 64 drivers Bank SSO Limit 3 18 drivers per Vcco GND pair x 8 Vcco GND pairs 136 drivers The SSO contribution of each I O standard is calculated as SSO Contribution quantity of drivers Bank SSO limit SSO Contribution 1 22 80 27 5 SSO Contribution 2 6 64 9 3 SSO Contribution 3 19 136 14 0 Finally the bank SSO is calculated Bank 1 SSO SSO contribution 1 SSO contribution 2 SSO Contribution 3 27 5 9 3 14 0 50 9 Calculation of Full Device SSO Three separate criteria must be satisfied for a full device design to be within the SSO limit The first criterion ensures the number of simultaneously switching outputs does not exceed the per bank limit The second criterion ensures even distribution of output drivers across the package A final criterion ensures overall power system disturbance in the chip is not excessive The SSO allowance is used in both
402. ster 0 Clock Event 2 Shift In e At time Tps before clock event 2 the data becomes valid 1 at the DI input of the SRL and is reflected on the X Y output after a delay of length Tpgg after clock event 2 Since the address 0 is still specified at clock event 2 the data on the DI input is reflected at the D output because it is written to register 0 Clock Event 3 Shift In Addressable Asynchronous READ All Read operations are asynchronous to the CLK signal If the address is changed between clock events the contents of the register at that address are reflected at the addressable output X Y outputs after a delay of length Ty o propagation delay through a LUT e At time Tps before clock event 3 the data becomes valid 1 at the DI input of the SRL and is reflected on the X Y output Trg time after clock event 3 e The address is changed from 0 to 2 some time after clock event 3 The value stored in register 2 at this time is a 0 in this example this was the first data shifted in and it is reflected on the X Y output after a delay of length Tyo Clock Event 16 MSB Most Significant Bit Changes At time Tpggcxg after clock event 16 the first bit shifted into the SRL becomes valid logical 0 in this case on the XB output of the slice via the MC15 output of the LUT SRL This is also applicable for the XMUX YMUX XB YB Cour and F5 outputs at time Twosco Twosx TwosxE and TwosvB after clock event 16 Slice Carry Cha
403. t data into the shift register and does not write new data Activating the clock enable allows the data in D to be written to the first location and all data to be shifted by one location When available new data appears on output pins Q and the cascadable output pin O15 Address AO A1 A2 A3 Address inputs select the bit range 0 to 15 to be read The nth bit is available on the output pin Q Address inputs have no effect on the cascadable output pin O15 it is always the last bit of the shift register bit 15 Data Out Q The data output Q provides the data value 1 bit selected by the address inputs Data Out Q15 optional The data output Q15 provides the last bit value of the 16 bit shift register New data becomes available after each shift in operation Inverting Control Pins The two control pins CLK CE have an individual inversion option The default is the rising clock edge and active High clock enable Global Set Reset GSH The global set reset GSR signal has no impact on shift registers 208 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Shift Registers SRLs Primitives and Verilog VHDL Example Attributes Content Initialization INIT The INIT attribute defines the initial shift register contents The INIT attribute is a hex encoded bit vector with four digits 0000 The left most hexadecimal digit is the most significant bit By default the shift reg
404. t causing a glitch The Setup Hold time on S is for determining whether the output will pass an extra pulse of the previously selected clock before switching to the new clock If 5 changes as shown in Figure 1 12 prior to the setup time Tpcccy s and before I0 transitions from High to Low then the output will not pass an extra pulse of I0 If S changes following the hold time for S then the output will pass an extra pulse If S violates the Setup Hold requirements the output might pass the extra pulse but it will not glitch In any case the output will change to the new clock within three clock cycles of the slower clock The Setup Hold requirements for S0 and S1 are with respect to the falling clock edge assuming INIT OUT 0 not the rising edge as for CEO and CE1 Switching conditions for BUFGMUX_VIRTEX4 are the same as the S pin of BUFGCTRL Figure 1 12 illustrates the timing diagram for BUFGMUX_VIRTEX4 ME iu M sr l J None wj E cr I oA INL 4 ___ Fe Teccko_o I TBcCkO O ug070 1 12 080204 Figure 1 12 BUFGMUX_VIRTEX4 Timing Diagram Other capabilities of the BUFGMUX_VIRTEX4 primitive are e Pre selection of I0 and I1 input after configuration e Initial output can be selected as High or Low after configuration Virtex 4 User Guide www xilinx com 33 UGO070 v2 0 January 4 2007 Chapter 1 Clock Resources XILINX 34 Additional Use Models Asynchronous Mux Using BUFGCTRL
405. tate control of the IOB Unlike data conversion the 3 state converter can only serialize up to four bits of parallel 3 state signals The 3 state converter cannot be cascaded OSERDES Primitive The OSERDES primitive is shown in Figure 8 12 CLK gt CLKDIV gt D1 gt D2 gt D3 gt D4 gt D5 gt D6 gt OCE gt REV gt SHIFTIN1 gt SHIFTIN2 VVVVVV VVVVVVVVNVN 0Q SHIFTOUT1 SHIFTOUT2 TQ OSERDES Ports ug070 8 19 072604 Figure 8 12 OSERDES Primitive Table 8 6 lists the available ports in the OSERDES primitive Table 8 6 OSERDES Port List and Definitions Port Name Type Width Description OQ Output 1 Data path output SHIFTOUT1 Output 1 Carry out for data width expansion Connect to SHIFTIN1 of master OSERDES See OSERDES Width Expansion SHIFTOUT2 Output 1 Carry out for data width expansion Connect to SHIFTIN2 of master OSERDES See OSERDES Width Expansion 374 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Output Parallel to Serial Logic Resources OSERDES Table 8 6 OSERDES Port List and Definitions Continued Port Name Type Width Description TQ Output 1 3 state control output CLK Input 1 High speed clock input CLKDIV Input 1 Divided clock input Clocks delay element deseriali
406. te Error flag is deasserted when Write Enable or Full is deasserted Low This signal is synchronous to WRCLK Almost Full Flag Virtex 4 User Guide The Almost Full flag is set when the FIFO has the number of available empty spaces specified by the ALMOST_FULL_OFFSET value or fewer The Almost Full flag warns the user to stop writing It deasserts when the number of empty spaces in the FIFO is greater than the ALMOST_FULL_OFFSET value and is synchronous to WRCLK Table 4 11 shows the number of clock cycles to assert or deassert each flag Table 4 11 Clock Cycle Latency for Flag Assertion and Deassertion Assertion Deassertion Clock Cycle Latency Standard FWFT Standard FWFT EMPTY 0 0 3 4 FULL 1 1 3 3 ALMOST EMPTY 1 1 3 3 ALMOST FULL 1 1 3 3 READ ERROR 0 0 0 0 WRITE ERROR 0 0 0 0 Notes 1 Depending on the time between read and write clock edges the Almost Empty and Almost Full flags can deassert one cycle later www xilinx com 149 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM X XILINX FIFO Attributes Table 4 12 lists the FIFO16 attributes The size of the asynchronous FIFO can be configured by setting the DATA WIDTH attribute The FIFO VHDL and Verilog Templates section has examples for setting the attributes Table 4 12 FIFO16 Attributes Attribute Name Type Values Default Notes ALMOST FUL
407. te address counters and must be asserted to initialize flags after power up Reset does not clear the memory nor does it clear the output register When reset is asserted High EMPTY and ALMOST_EMPTY will be set to 1 FULL and ALMOST_FULL will be reset to 0 The reset signal must be High for at least three read clock and write clock cycles to ensure all internal states are reset to the correct values During RESET RDEN and WREN must be held Low Operating Mode There are two operating modes in FIFO functions They differ only in output behavior after the first word is written to a previously empty FIFO Standard Mode After the first word is written into an empty FIFO the Empty flag deasserts synchronously with RDCLK After Empty is deasserted Low and RDEN is asserted the first word will appear at DO on the rising edge of RDCLK First Word Fall Through FWFT Mode After the first word is written into an empty FIFO it automatically appears at DO without asserting RDEN Subsequent Read operations require Empty to be Low and RDEN to be High Figure 4 16 illustrates the difference between standard mode and FWFT mode RDCLK iN RDEN EMPTY DO Sanda nuuc cw oe ee a DO FWE zw wet ws 1 ug070 4 16 071204 Figure 4 16 Read Cycle Timing Standard and FWFT Modes Status Flags Empty Flag The Empty flag is synchronous with RDCLK and is asserted when the last entry in the FIFO is read When there are no more valid
408. tex 4 DCI UG070_6_09_071904 Figure 6 9 Input Termination to Vcco 2 Using DCI Split Termination Virtex 4 User Guide www xilinx com 225 UGO070 v2 0 January 4 2007 Chapter 6 SelectlO Resources XILINX Driver with Termination to Vcco Single Termination Some I O standards e g HSTL Class IV require an output termination to Vcco Figure 6 10 illustrates an output termination to Vcco Vcco IOB gt Qo Zo Virtex 4 UG070_6_10_071904 Figure 6 10 Driver with Termination to Vcco without DCI DCI can provide an output termination to Vcco using single termination In this case DCI only controls the impedance of the termination but not the driver Both GTL and HSTL standards need 50 Q external reference resistors The DCI I O standards supporting drivers with single termination are GTL_DCI GTLP_DCI HSTL IV DCI and HSTL IV DCI 18 Figure 6 11 illustrates a driver with single termination inside a Virtex 4 device Vcco IOB R Zo Virtex 4 DCI UG070_6_11_071904 Figure 6 11 Driver with Termination to Vcco Using DCI Single Termination 226 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX SelectlO Resources General Guidelines Driver with Termination to Vcco 2 Split Termination Some I O standards such as HSTL Class II require an output termination to Vcco 2 see Figure 6 12 Zo Virtex 4 UG070_6_12_071904 Figure 6 12 Driver w
409. tex 4 OBUF primitive is shown in Figure 6 18 OBUF Input O Output From FPGA to device pad ug070 6 18 071904 Figure 6 18 Output Buffer OBUF Primitive OBUFT The generic 3 state output buffer OBUFT shown in Figure 6 19 typically implements 3 state outputs or bidirectional I O OBUFT 3 state input Input O Output From FPGA to device pad ug070 6 19 071904 Figure 6 19 3 State Output Buffer OBUFT Primitive 232 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Virtex 4 SelectlO Primitives IOBUF The IOBUF primitive is needed when bidirectional signals require both an input buffer and a 3 state output buffer with an active High 3 state pin Figure 6 20 shows a generic Virtex 4 IOBUF IOBUF T 3 state input Input Tx V0 from FPGA to from device pad O Output to FPGA ug070 6 20 071904 Figure 6 20 Input Output Buffer IOBUF Primitive IBUFDS and IBUFGDS The usage and rules corresponding to the differential primitives are similar to the single ended SelectIO primitives Differential SelectIO primitives have two pins to and from the device pads to show the P and N channel pins in a differential pair N channel pins have a B suffix Figure 6 21 shows the differential input buffer primitive IBUFDS IBUFGDS i8 Inputs from device pads Output to FPGA ug070 6 21 071904 Figure 6 21 Differential Input Buffer Primitive
410. th an automatic 50 50 duty cycle correction Until the DCM is locked the CLK2X output appears as a 1x version of the input clock with a 25 75 duty cycle This behavior allows the DCM to lock on the correct edge with respect to the source clock 2x Output Clock 180 Phase Shift CLK2X180 The CLK2X180 output clock provides a clock with the same frequency as the DCM s CLK2X only phase shifted by 180 Frequency Divide Output Clock CLKDV The CLKDV output clock provides a clock that is phase aligned to CLKO with a frequency that is a fraction of the effective CLKIN frequency The fraction is determined by the CLKDV_DIVIDE attribute Refer to the CLKDV DIVIDE Attribute for more information Frequency Synthesis Output Clock CLKFX The CLKFX output clock provides a clock with the following frequency definition CLKFX frequency M D x effective CLKIN frequency In this equation M is the multiplier numerator with a value defined by the CLKFX MULTIPLY attribute D is the divisor denominator with a value defined by the CLKFX DIVIDE attribute Specifications for M and D as well as input and output frequency ranges for the frequency synthesizer are provided in the Virtex 4 Data Sheet The rising edge of CLKFX output is phase aligned to the rising edges of CLK0 CLK2X and CLKDV When M and D to have no common factor the alignment occurs only once every D cycles of CLKO Frequency Synthesis Output Clock 180 CLKFX180 The CLKFX1
411. the output data or 3 state control 2 The pack I O register latches into IOBs is set to OFF Output DDR Overview ODDR Virtex 4 devices have dedicated registers in the OLOGIC to implement output DDR registers This feature is accessed when instantiating the ODDR primitive DDR multiplexing is automatic when using OLOGIC No manual control of the mux select is needed This control is generated from the clock There is only one clock input to the ODDR primitive Falling edge data is clocked by a locally inverted version of the input clock All clocks feeding into the I O tile are fully multiplexed i e there is no clock sharing between ILOGIC or OLOGIC blocks The ODDR primitive supports the following modes of operation e OPPOSITE EDGE mode e SAME EDGE mode The SAME EDGE mode is new for the Virtex 4 architecture This new mode allows designers to present both data inputs to the ODDR primitive on the rising edge of the ODDR clock saving CLB and clock resources and increasing performance This mode is implemented using the DDR CLK EDGE attribute It is supported for 3 state control as well The following sections describe each of the modes in detail OPPOSITE EDGE Mode Virtex 4 User Guide In OPPOSITE EDGE mode two output registers are used to clock data from the FPGA fabric at twice the throughput of a single rising edge clocking scheme Both registers are rising edge triggered A second register receives an inverted versio
412. the four slices of any CLB can implement a 16 1 and the MUXF8 and two CLBs can implement a 32 1 multiplexer Figure 5 18 summarizes the implementation of a wide input multiplexer The section Multiplexer Verilog VHDL Examples has code for the wide input multiplexers 8 1 MUX DATA 7 0 J S2 8 1 Output DATA 15 8 SELECT 2 0 SELECT 3 8 1 81 amp S3 16 1 MUX Figure 5 18 8 1 and 16 1 Multiplexers Fast Lookahead Carry Logic 16 1 output CLB UGO70 5 18 071504 Dedicated carry logic provides fast arithmetic addition and subtraction The Virtex 4 CLB has two separate carry chains as shown in the Figure 5 19 Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 187 Chapter 5 Configurable Logic Blocks CLBs 188 XILINX The height of the carry chains is two bits per slice The carry chain in the Virtex 4 device is running upward The dedicated carry path and carry multiplexer MUXCY can also be used to cascade function generators for implementing wide logic functions First Carry Chain COUT A to SO of the next CLB CIN COUT COUT to CIN of S1 of the next CLB SLICE S3 SLICE S1 SLICE S2 SLICE SO Figure 5 19 Fast Carry Logic Path www xilinx com Second Carry Chain ug070_5_19_071504 Virtex 4 User Guide UG070 v2
413. the same region BUFIOs cannot drive logic resources CLB block RAM etc because the I O clock network only reaches the I O column BUFIO Primitive BUFIO is simply a clock in clock out buffer There is a phase delay between input and output Figure 1 18 shows the BUFIO Table 1 7 lists the BUFIO ports A location constraint is available for BUFIO BUFIO ug070 1 18 071304 Figure 1 18 BUFIO Primitive Table 1 7 BUFIO Port List and Definitions Port Name Type Width Definition O Output 1 Clock output port I Input 1 Clock input port www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Regional Clocking Resources BUFIO Use Models In Figure 1 19 a BUFIO is used to drive the I O logic using the clock capable I O This implementation is ideal in source synchronous applications where a forwarded clock is used to capture incoming data To Adjacent O Tile 4 Region 4 I O Tile 4 I O Tile 4 I O Tile 4 I O Tile 4 I O Tile 4 I O Tile 4 Clock Capable I O VO Tile BUFR gt To Fabric Clock Capable I O O Tile I O Tile 4 I O Tile 4 I O Tile 4 I O Tile 4 I O Tile 4 O Tile 4 MSAN To Adjacent Region ug070 1 19 072204 Figure 1 19 BUFIO Driving I O Logic In a Single Clock Region Regional Clock Buffer BUFR The regional clock buffer BUFR is another new clock buffer available in Virtex 4 devices BUFRSs drive clock signals to a dedicated clock net within
414. the slice to Coy output of the slice TGANDCY output using FAND product Topcyr F G input to Coyr Propagation delay from the F G input of the slice to Coyr output of the slice TopcyG output Topx F G input to Propagation delay from the F G inputs of the slice to XMUX YMUX output Topy XMUX YMUX output of the slice using XOR sum Setup Hold for Slice LUT Configured as Carry Chain Tyg Setup time before clock edge Tx Hold time after clock edge The following descriptions are for setup times only Towck Cyn Data inputs DI Time before Clock CLK that data from the Cry input of the slice must be T stable at the D input of the slice sequential elements configured as a flip flop CKCIN P q 8 p Pop Figure 5 27 shows the worst case path Slice Carry Chain Timing Characteristics Figure 5 27 illustrates the timing characteristics of a slice carry chain implemented in a Virtex 4 slice 1 2 3 CLK A Cou AA o l k Tomck CIN P DATA Tnck SR Y N RESET l pm Icko p lcko Q o0 C0N O0 OUT ug070 5 27 080204 Figure 5 27 Slice Carry Chain Timing Characteristics e Attime Tcqncx before clock event 1 data from Cyy input becomes valid high at the D input of the slice register This is reflected on either the XQ or YO pin at time Tcko after clock event 1 200 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX CLB Primitives and Veril
415. these attributes is available in the Additional RAMB16 Primitive Design Considerations section Content Initialization INIT_xx INIT_xx attributes define the initial memory contents By default block RAM memory is initialized with all zeros during the device configuration sequence The 64 initialization attributes from INIT_00 through INIT_3F represent the regular memory contents Each INIT_xx is a 64 digit hex encoded bit vector The memory contents can be partially initialized and are automatically completed with zeros The following formula is used for determining the bit positions for each INIT_xx attribute Given yy conversion hex encoded to decimal xx INIT_xx corresponds to the memory cells as follows e from yy 1 256 1 e to yy 256 For example for the attribute INIT_1F the conversion is as follows e yy conversion hex encoded to decimal X 1F 31 e from 31 1 256 1 8191 e to 31 256 7936 More examples are given in Table 4 4 Table 4 4 Block RAM Initialization Attributes Memory Location Attribute From To INIT_00 255 0 INIT 01 511 256 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Block RAM Attributes Table 4 4 Block RAM Initialization Attributes Continued Memory Location Attribute From To INIT_02 767 512 INIT OE 3839 3584 INIT 0F 4095 3840 INIT 10 4351 4096 IN
416. tical issue PC board traces must be properly terminated to avoid reflections or ringing To terminate a trace resistors are traditionally added to make the output and or input match the impedance of the receiver or driver to the impedance of the trace However due to increased device I Os adding resistors close to the device pins increases the board area and component count and can in some cases be physically impossible To address these issues and to achieve better signal integrity Xilinx developed the Digitally Controlled Impedance DCI technology DCI adjusts the output impedance or input termination to accurately match the characteristic impedance of the transmission line DCI actively adjusts the impedance of the I O to equal an external reference resistance This compensates for changes in I O impedance due to process variation It also continuously adjusts the impedance of the I O to compensate for variations of temperature and supply voltage fluctuations In the case of controlled impedance drivers DCI controls the driver impedance to match two reference resistors or optionally to match half the value of these reference resistors DCI eliminates the need for external series termination resistors DCI provides the parallel or series termination for transmitters or receivers This eliminates the need for termination resistors on the board reduces board routing difficulties and component count and improves signal integrity by elimina
417. ting stub reflection Stub reflection occurs when termination resistors are located too far from the end of the transmission line With DCI the termination resistors are as close as possible to the output driver or the input buffer thus eliminating stub reflections Xilinx DCI DCI uses two multi purpose reference pins in each bank to control the impedance of the driver or the parallel termination value for all of the I Os of that bank The N reference pin VRN must be pulled up to Vcco by a reference resistor and the P reference pin VRP must be pulled down to ground by another reference resistor The value of each reference resistor should be equal to the characteristic impedance of the PC board traces or should be twice that value see section Driver with Termination to Vcco 2 Split Termination page 227 When a DCI I O standard is used on a particular bank the two multi purpose reference pins cannot be used as regular I Os However if DCI I O standards are not used in the bank these pins are available as regular I O pins The Virtex 4 Packaging Specification gives detailed pin descriptions DCI adjusts the impedance of the I O by selectively turning transistors in the I Os on or off The impedance is adjusted to match the external reference resistors The impedance adjustment process has two phases The first phase compensates for process variations by controlling the larger transistors in the I Os It occurs during the device sta
418. tio Eq ae rod ia E i ex ode rper Almost Empty Flag 6 0 ccc cece eee R ad Error Flag issue rg deer Eee Ep a 3 Full Pap m Write Error Flag 6 ee cee eee Almost Full Flag esens eee eee PLEO ACIDS 6 42255 IUE enr etp kea Sons nie ede dpt FIFO Almost Full Empty Flag Offset Range FIFO VHDL and Verilog Templates FIFO VHDL Template sisse csse 0 6 6 6 cece eee eee FIFO Verilog Template 0060s cece eee ee FIFO Timing Models and Parameters FIFO Timing Characteristics 0 6 06 6 cece eee eens Case 1 Writing to an Empty FIFO 000 Case 2 Writing to a Full or Almost Full FIFO Case 3 Reading From a Full FIFO 5 000 Case 4 Reading From An Empty or Almost Empty FIFO Case 5 Resetting All Flags 0 0 cece cece eee eee FIFO Applications i 004 iere eere rtr eae Cascading FIFOs to Increase Depth Cascading FIFOs to Increase Width sue Built in Block RAM Error Correction Code Top Level View of the Block RAM ECC Architecture Block RAM ECC Primitive 00000 Block RAM ECC Port Description 06 Error Status Description lssssseeeeee Block RAM ECC Attribute 00 0 0 000 000 00 eee Block RAM ECC VHDL and Verilog Templates Block RAM ECC VHDL Template 0000 Block RAM ECC Verilog T
419. tive Input Output Description IBUFG I O Input clock buffer for single ended I O IBUFGDS I IB O Input clock buffer for differential I O These two primitives work in conjunction with the Virtex 4 I O resource by setting the IOSTANDARD attribute to the desired standard Refer to Chapter 6 I O Compatibility Table 6 38 for a complete list of possible I O standards Virtex 4 User Guide www xilinx com UG070 v2 0 January 4 2007 XILINX Global Clocking Resources Global Clock Buffers There are 32 global clock buffers in every Virtex 4 device Each half of the die top bottom contains 16 global clock buffers A global clock input can directly connect from the P side of the differential input pin pair to any global clock buffer input in the same half either top or bottom of the device Each differential global clock pin pair can connect to either a differential or single ended clock on the PCB If using a single ended clock then the P side of the pin pair must be used because a direct connection only exists on this pin For pin naming conventions please refer to the Virtex 4 Packaging Specifications A single ended clock connected to the N side of the differential pair results in a local route and creates additional delay If a single ended clock is connected to a differential pin pair then the other side N side typically can not be used as another single ended clock pin However it can be used as a user I O A devi
420. to use OSERDES Width Expansion Added explanatory paragraph regarding master slave OSERDES use with differential single ended outputs OSERDES VHDL Template in Chapter 8 Removed erroneous semicolon following TRISTATE_WIDTH UGO070 v2 0 January 4 2007 www xilinx com Virtex 4 User Guide Virtex 4 User Guide www xilinx com UG070 v2 0 January 4 2007 Table of Contents Revision History asp ose boit bue deed afe Gel we den AS ed aS ICE ae ew Qu teed ard 3 Preface About This Guide Guide Contents 0000 e e n eee e eens 19 Additional Documentation 0 0 0 0 0 00 ccc ee 19 Additional Support Resources esee 20 Conventions ue ERE ARE Boece Baca BSE na ERE RS 20 Typographical sses siege ho brye rk RETE eR Debe tebe P Ve da a epd acted 20 Online Document sceo neris Cren ce ehh 21 Chapter 1 Clock Resources Global and Regional Clocks usse eee 23 Global Clocks 2a irm nena enua n EAR EEEW REY ORE MT E RAS PAS 23 Regional Clocks and I O Clocks sssssseeeeeee arrra 23 Global Clocking Resources sssssssssssess eee 23 Global Clock Inputs ke ceece exe Ree eye memes eee ere ee PER ema 24 Global Clock Input Buffer Primitives 0 6 0 0 cee en 24 Global Clock Butters eee Era aree eder teo kon aod efe gee eed ge re a eds 25 Global Clock Buffer Primitives llle 25 Additional Use Models 0 0 0 ccc een nee n een eens 34 Clock Tree and Nets GCLK 2
421. transitions High to Low When I1 transitions from High to Low the output switches to I1 If Setup Hold are met no glitches or short pulses can appear on the output BUFGMUX 1 is rising edge sensitive and held at High prior to input switch Figure 1 10 illustrates the timing diagram for BUFGMUX 1 A LOC constraint is available for BUFGMUX and BUFGMUX 1 TBCCCK CE gue O oed Ne 2 TBCCKO_O UGO70 1 10 082504 Figure 1 10 BUFGMUX 1 Timing Diagram In Figure 1 10 The current clock is IO S is activated High If I0 is currently Low the multiplexer waits for IO to be asserted High Once I0 is High the multiplexer output stays High until I1 transitions Low to High When I1 transitions from Low to High the output switches to I1 If Setup Hold are met no glitches or short pulses can appear on the output www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Global Clocking Resources BUFGMUX_VIRTEX4 BUFGMUX_VIRTEX4 is a clock buffer with two clock inputs one clock output and a select line This primitive is based on BUFGCTRL with some pins connected to logic High or Low Figure 1 11 illustrates the relationship of BUFGMUX_VIRTEX4 and BUFGCTRL IGNORE1 CE1 S1 GND Vpp BUFGMUX_VIRTEX4 5o 50 Wan CEO GND IGNOREO ug070 1 11 071304 Figure 1 11 BUFGMUX VIRTEX4 as BUFGCTRL BUFGMUX_VIRTEX4 uses the S pins as select pins S can switch anytime withou
422. tring IOBDELAY TYPE string IOBDELAY VALUE integer NUM CE integer SERDES MODE string ce ce ce ce ce ce ce ce ce but Component Instantiation for ISERDES should be placed in architecture after the begin keyword Instantiation Section ISERDE S BITSLIP ENABLE FALSE TRUE FALSE DATA RATE gt DDR SDR DDR DATA WIDTH gt 4 2 3 4 5 6 7 8 10 INTERFACE TYPE MEMORY MEMORY NETWORKING IOBDELAY gt NONE NONE IBUF IFD BOTH IOBDELAY TYPE DEFAULT DEFAULT FIXED VARIABLE IOBDELAY VALUE gt 0 0 to 63 NUM CE 2 1 2 SERDES MODE MASTER MASTER SLAVE ja port map O gt data output Q1 gt Q 0 Q2 Q 1 Q3 gt Q 2 Q4 gt Q 3 Q5 open 368 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 X XILINX Input Serial to Parallel Logic Resources ISERDES Q6 open SHIFTOUT1 gt open SHIFTOUT2 gt open BITSLIP bitslip CE1 gt ce CE2 gt open CLK gt clk CLKDIV gt clkdiv D gt data_input DLYCE gt dlyce DLYINC gt dlyinc DLYRST gt dlyrst OCLK gt open REV gt open SHIFTIN1 gt open SHIFTIN2 gt open SR gt rst ISERDES Verilog Instantiation Module ISERDES Description Verilog instantiation template Device Virt
423. ts are set to 0 the Xilinx ISE tools will not implement the design Port Mapping Design Rules The Virtex 4 block RAM can be configurable to various port widths and sizes Depending on the configuration some data pins and address pins are not used Table 4 2 page 122 shows the pins used in various configurations In addition to the information in Table 4 2 the following rules are useful to determine port connections www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX Additional Block RAM Primitives If the DI A B pins are less than 32 bits wide concatenate 32 DI BIT WIDTH logic zeros to the front of DI A B If the DIP A B pins areless than 4 bits wide concatenate 4 DIP BIT WIDTH logic zeros to the front of DIP A BJ DIP A B is unconnected when not in use DO A B pins must be 32 bits wide However valid data are only found on pins 0 to DO BIT WIDTH DOP A B pins must be 4 bits wide However valid data are only found on pins 0 to DO BIT WIDTH DOPI A B is unconnected when not in use ADDR A B pins must be 15 bits wide However valid addresses for non cascadable block RAM are only found on pins 13 to 14 address width The remaining pins including pin 14 should be tied High Cascadeable Block RAM To use the cascadeable block RAM feature 1 2 Two RAMB16 primitives must be instantiated Set the RAM EXTENSION A and RAM EXTENSION B attribute for one R
424. ts for these devices e http pdfserv maxim ic com ds en MAX1617 pdf e http www maxim ic com quick view2 cfm qv pk 3000 e http pdfserv maxim ic com en ds MAX6627 M A X6628 pdf The PC Board Layout section of these data sheets include important design considerations National Semiconductor LM83 or LM86 These National Semiconductor devices are triple diode input and local digital temperature sensors with a two wire interface General information on these devices is available at the National Semiconductor website http ww w national com Virtex 4 User Guide www xilinx com 385 UGO070 v2 0 January 4 2007 Chapter 9 Temperature Sensing Diode X XILINX Links to the specific data sheets for these devices e http www national com ds LM LMS83 pdf e http www national com ds LM LMS86 pdf The Application Hints section of these data sheets include important design considerations 386 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 Index A asynchronous clocking 116 distributed RAM 174 FIFO 112 118 144 global set reset 123 mux 34 set reset in register or latch 173 Bitslip 370 See ISERDES 354 371 guidelines for use 371 operation 370 timing 372 block RAM 111 defined 112 asynchronous clocking 116 ECC 162 Primitive 163 Error Status 164 FIFO 118 operating modes NO CHANGE 115 READ FIRST 115 WRITE FIRST 114 ports 121 synchronous clocking 116 BLVDS 285 BUFG 29 BU
425. ttribute controls the CLKDV frequency The source clock frequency is divided by the value of this attribute The possible values for CLKDV DIVIDE are 1 5 2 2 5 8 8 5 4 4 5 5 5 5 6 6 5 7 7 5 8 9 10 11 12 13 14 15 or 16 The default value is 2 In the low frequency mode any CLKDV DIVIDE value produces a CLKDV output with a 50 50 duty cycle In the high frequency mode the CLKDV DIVIDE value must be set to an integer value to produce a CLKDV output with a 50 50 duty cycle For non integer CLKDV DIVIDE values the CLKDV output duty cycle is shown in Table 2 6 Table 2 6 Non Integer CLKDV DIVIDE CLKDV Duty Cycle in CLKDV DIVIDE Value High Frequency Mode High Pulse Low Pulse Value 1 5 1 3 2 5 2 5 3 5 3 7 4 5 4 9 www xilinx com 63 UGO070 v2 0 January 4 2007 Chapter 2 Digital Clock Managers DCMs XILINX 64 Table 2 6 Non Integer CLKDV_DIVIDE CLKDV Duty Cycle in CLKDV_DIVIDE Value High Frequency Mode High Pulse Low Pulse Value 5 5 5 11 6 5 6 13 7 5 7 15 CLKFX_MULTIPLY and CLKFX_DIVIDE Attribute The CLKFX_MULTIPLY attribute sets the multiply value M of the CLKFX output The CLKFX_DIVIDE attribute sets the divisor D value of the CLKFX output Both control the CLKFX output making the CLKFX frequency equal the effective CLKIN source clock frequency multiplied by M D The possible values for M are any integer from two to 32 The possible values for D a
426. uide UG070 v2 0 January 4 2007 XILINX Built in Block RAM Error Correction Code Block RAM ECC Primitive Figure 4 25 shows RAMB32 564 ECC the block RAM ECC primitive RAMB32 S64 ECC DI lt 63 0 gt DO lt 63 0 gt WRADDR lt 8 0 gt RDADDR lt 8 0 gt STATUS lt 1 0 gt ug070 4 ECC 022204 Figure 4 25 RAMB32 S64 ECC Block RAM ECC Primitive Block RAM ECC Port Description Table 4 15 lists and describes the block RAM ECC I O port names Table 4 15 Block RAM ECC Port Names and Descriptions Port Name Direction Signal Description DI lt 63 0 gt Input Data input bus WRADDR lt 8 0 gt Input Write address bus RDADDR lt 8 0 gt Input Read address bus WREN Input Write enable When WREN 1 data will be written into memory When WREN 0 write is disabled RDEN Input Read enable When RDEN 1 data will be read from memory When RDEN 0 read is disabled SSR Input Not supported when using the block RAM ECC primitive Always connect to GND WRCLK Input Clock for write operations RDCLK Input Clock for read operations DO lt 63 0 gt Output Data output bus STATUS 1 0 Output Error status bus Notes 1 Hamming code implemented in the block RAM ECC logic detects one of three conditions no detectable error single bit error detected and corrected on DO but not corrected in the memory and double bit error detected without correction The result of STATUS lt 1
427. ule RAM Ax By templates with x 1 2 4 9 18 or 36 and y 1 2 4 9 18 or 36 are dual port modules and instantiate the corresponding RAMB16 Sx Sy module Block RAM Applications Creating Larger RAM Structures Block RAM columns have special routing to create wider deeper blocks with minimal routing delays Wider or deeper RAM structures are achieved with a smaller timing penalty than is encountered when using normal routing resources The Xilinx CORE Generator program offers the designer an easy way to generate wider and deeper memory structures using multiple block RAM instances This program outputs VHDL or Verilog instantiation templates and simulation models along with an EDIF file for inclusion in a design Block RAM Timing Model This section describes the timing parameters associated with the block RAM in Virtex 4 devices illustrated in Figure 4 12 The switching characteristics section in the Virtex 4 Data Sheet and the Timing Analyzer TRCE report from Xilinx software are also available for reference Block RAM Timing Parameters Table 4 8 shows the Virtex 4 block RAM timing parameters Table 4 8 Block RAM Timing Parameters Control Signal Setup and Hold Relative to Clock CLK Tack x Setup time before clock edge and Tack x Hold time after clock edge Parameter Function Description TRCCK_ADDR Time before the clock that address signals must be stable at the ADDR inputs of the block R
428. ure 2 10 Board Level Clock with Internal Feedback Board Deskew with Internal Deskew Some applications require board deskew with internal deskew to interface with other devices These applications can be implemented using two or more DCM The circuit shown in Figure 2 11 can be used to deskew a system clock between multiple Virtex devices in the same system Virtex 4 User Guide UGO070 v2 0 January 4 2007 www xilinx com 81 Chapter 2 Digital Clock Managers DCMs 2 XILINX IBUFG gt IBUFG gt Virtex 4 FPGA DCM_ADV CLKIN CLKO CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV CLKFX CLKFX180 RST PSINCDEC PSEN PSCLK DADDR 6 0 DI 15 0 DWE DEN DCLK LOCKED DO 15 0 DCM ADV CLKO CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV CLKFX CLKFX180 CLKIN CLKFB RST PSINCDEC PSEN PSCLK DADDR 6 0 DI 15 0 DWE DEN DCLK LOCKED DO 15 0 Voc BUFG A ODDR D1 Q D2 gt LGND C INV OBUF to RST BUFG IBUFG Virtex 4 FPGA DCM_ADV CLKO CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV CLKFX CLKFX180 CLKIN CLKFB RST PSINCDEC PSEN PSCLK DADDR 6 0 DI 15 0 DWE DEN DCLK LOCKED DO 15 0 BUFG Figure 2 11 This circuit can be duplicated to multiple Virtex devices Use CLKDLL for Virtex and Virtex E devices DCM for Virtex Il and Virtex Il Pro devi
429. user stops trying to write into a full FIFO e At time Trcck wren before clock event 4 WRCLK write enable is deasserted at the WREN input of the FIFO e At time Trcko wrerr after clock event 4 WRCLK write error is deasserted at the WRERR output pin of the FIFO The write error signal is asserted deasserted at every write clock positive edge As long as both the write enable and Full signals are true write error will remain asserted Case 3 Reading From a Full FIFO Virtex 4 User Guide Prior to the operations performed in Figure 4 19 the FIFO is completely full RDEN AM TrFcko po Il4 Trcko Do DO 38 XC 01 XC G3 X 38 XC 18 XC 08 TECKO_FULL gt k T FULL ee AFULL ug070 4 19 071204 Figure 4 19 Reading From a Full FIFO www xilinx com 157 UGO070 v2 0 January 4 2007 Chapter 4 Block RAM XILINX Clock Event 1 and Clock Event 2 Read Operation and Deassertion of Full Signal During a read operation on a full FIFO the content of the FIFO at the first address is asserted at the DO output pins of the FIFO Three write clock cycles later the FULL pin is deasserted when the FIFO is no longer full The example in Figure 4 19 reflects both standard and FWFT modes Clock event 1 is with respect to read clock while clock event 2 is with respect to write clock Clock event 2 appears three write clock cycles after clock event 1 e At time Trcck rpe before clock event 1 RDCLK read
430. ut will use the I0 input after configuration FALSE default TRUE PRESELECT I1 If TRUE BUFGCTRL output will use the I1 input after configuration FALSE default TRUE Notes 1 Both PRESELECT attributes cannot be TRUE at the same time 2 The LOC constraint is available www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 X XILINX Virtex 4 User Guide Global Clocking Resources BUFG BUFG is simply a clock buffer with one clock input and one clock output This primitive is based on BUFGCTRL with some pins connected to logic High or Low Figure 1 3 illustrates the relationship of BUFG and BUFGCTRL A LOC constraint is available for BUFG IGNORE1 GND GND BUFG GND IGNOREO ug070 1 03 071204 Figure 1 3 BUFG as BUFGCTRL The output follows the input as shown in the timing diagram in Figure 1 4 ur uM E aD ME REQUE QE Bre EUNT SNC TsccKo_o UGO70 1 04 071204 Figure 1 4 BUFG Timing Diagram BUFGCE and BUFGCE 1 Unlike BUFG BUFGCE is a clock buffer with one clock input one clock output and a clock enable line This primitive is based on BUFGCTRL with some pins connected to logic High www xilinx com 29 UGO070 v2 0 January 4 2007 Chapter 1 Clock Resources XILINX or Low Figure 1 5 illustrates the relationship of BUFGCE and BUFGCTRL A LOC constraint is available for BUFGCE and BUFGCE 1 BUFGCE as BUFGCTRL IGNORE1 D Gnp CE
431. ute 0 0 0 0 0 e eee 282 LVDS and Extended LVDS Low Voltage Differential Signaling 282 Transmitter Termination cccs0s paceree rep cet pd ee ne KR REA eie 283 Receiver Termination is 2i eoe ere tiene etx ie Seen eee ae ean 283 HyperTransport Protocol LDT 6 284 BLVDS Bus LVDS errores idni nn E eee X Meet RD e Ute p PE de 285 CSE Differential LVPECL Low Voltage Positive Emitter Coupled Logic 285 LVPECL Transceiver Termination cies ne 286 Rules for Combining I O Standards in the Same Bank 286 3 9V I O Design Guidelimes eee re bREO RE RERO Re rer dus 290 I O Standard Design Rules srianan a i a i nn 290 Mixing Techniques o riedade edat edes edu ede Boece greed editus 293 Summaty uico h en pb acea bebo dicte acu edere totu et 294 Simultaneous Switching Output Limits 0 0 000200 294 Sparse Chevron Packages 0 0 6 eee ees 294 Nominal PCB Specifications 0 6 6 6 neces 294 PCP COFSEICUCUOD use pi d a pate eese does Md p xe aed od os oe eal aes 295 Signal Return Current Management 6 0 006 cee ccc een 295 Load Traces e 2m ere Died eo edss eed Hebe eee bees eder mid 295 Virtex 4 User Guide www xilinx com UGO070 v2 0 January 4 2007 16 Power Distribution System Design Nominal SSO Limit Table Sparse Chevron Equivalent Vcco GND Pairs Sparse Chevron Nominal SSO Limit Tab
432. utput is phase shifted using the dynamic phase shift adjustments in the synchronous user interface The PSDONE signal is asserted for one cycle when the DCM completes one phase adjustment After PSDONE is deasserted PSEN can be asserted again allowing an additional phase shift to occur 90 www xilinx com Virtex 4 User Guide UG070 v2 0 January 4 2007 XILINX DCM Timing Models As shown in Figure 2 21 all the variable phase shift control and status signals are synchronous to the rising edge of PSCLK ae Lo T LJ iL o cx Li LI Lisi tL Le 2 1 e PSCLK PSEN _ OT 81 gt p lpwcck PsEN PSDONE Towcko Pspone TDMCCK_PSINCDEC PSINCDEC D C D C ug070_2_21_071504 Figure 2 21 Phase Shift Example Variable e Clock Event 1 At TpmccK_PSEN before clock event 1 PSEN is asserted PSEN must be active for exactly one clock period otherwise a single increment decrement of phase shift is not guaranteed Also the PSINCDEC value at Tpycck psiIncpEc before clock event 1 determines whether it is an increment logic High or a decrement logic Low e Clock Event 2 At TpmcKo_PSDONE after clock event 2 PSDONE is asserted to indicate one increment or decrement of the DCM outputs PSDONE is High for exactly one clock period when the phase shift is complete The time required for a complete phase shift will vary As a result PSDONE must be
433. value in the IOBDELAY VALUE Virtex 4 User Guide www xilinx com 353 UGO070 v2 0 January 4 2007 Chapter 8 Advanced SelectlO Logic Resources XILINX c VARIABLE Delay value can be changed at run time by manipulating a set of control signals The section Input Delay Element IDELAY in Chapter 7 discusses IDELAY in detail e Bitslip Sub Module The Bitslip sub module allows designers to reorder the sequence of the parallel data stream going into the FPGA fabric This can be used for training source synchronous interfaces that include a training pattern e Dedicated Support for Strobe based Memory Interfaces ISERDES contains dedicated circuitry including the OCLK input pin to handle the strobe to FPGA clock domain crossover entirely within the ISERDES block This allows for higher performance and a simplified implementation e Dedicated support for Networking interfaces Figure 8 1 shows the block diagram of the ISERDES highlighting all the major components and features of the block D DLYINC C gt DLYCE L gt DLYRST gt Serial to Parallel Converter cov C SHIFTIN1 2 SHIFTOUT1 2 gt Cc gt BITSLIP Module Bitslip ug070 8 01 072904 Figure 8 1 ISERDES Block Diagram 354 www xilinx com Virtex 4 User Guide UGO070 v2 0 January 4 2007 XILINX Input Serial to Parallel Logic Resources ISERDES ISERDES Primitive Figure
434. ve must be instantiated in conjunction with the IDELAY primitive when used in Fixed Delay Mode Description VHDL instantiation template after architecture statement but before DELAY should be placed begin keyword component IDELAY generic IOBDELAY TYPE string DEFAULT DEFAULT FIXED VARIABLE IOBDELAY VALUE integer 0 0 to 63 port O out STD_LOGIC x in STD LOGIC C in STD LOGIC CE in STD LOGIC INC in STD LOGIC RST in STD LOGIC end component Component Attribute specification for IDELAY should be placed after architecture declaration but before the begin keyword Architecture Section attribute IOBDEI attribute IOBDE LAY TYPE jAY VALUE Component Instantiation for string integer IDELAY should be placed in architecture after the begin keyword Instantiation Section Ul IDELAY generic map P I IOBDELAY TYPE gt IOBDELAY VALUE gt www xilinx com FIXED Set to FIXED for Fixed delay mode 31 Set the delay value equal Virtex 4 User Guide UGO070 v2 0 January 4 2007 2 XILINX ILOGIC Resources por Verilog to the center of the delay element t map O gt data output I data input C emot CE gt 0 INC gt 0 RST gt 04 Jes Code for Fixed Delay Mode The IDELAYCTRL primitive must be instantiated
435. vided and phase matched versions of an input clock CLKA The output clocks are a function of the input clock frequency divided by 1 CLKA1 divided by 2 CLKA1D2 divided by 4 CLKA1D4 and divided by 8 CLKA1D8 CLKA1 CLKA1D2 CLKA1D4 and CLKA1D8 output clocks are rising edge aligned to each other but not to the input CLKA Phase Matched Delay Clocks PMCDs preserve edge alignments phase relations or skews between the input clock CLKA and other PMCD input clocks Three additional inputs CLKB CLKC and CLKD and three corresponding delayed outputs CLKB1 CLKC1 and CLKD1 are available The same delay is inserted to CLKA CLKB CLKC and CLKD thus the delayed CLKA1 CLKB1 CLKC1 and CLKD1 outputs maintain edge alignments phase relations and the skews of the respective inputs A PMCD can be used with other clock resources including global buffers and DCMs Together these clock resources provide flexibility in managing complex clock networks in designs In Virtex 4 devices the PMCDs are located in the center column Figure 3 1 shows a simplified view of the Virtex 4 center column resources The PMCDs are grouped with two PMCDs in one tile The PMCDs in each tile have special characteristics to support applications requiring multiple PMCDs Table 3 1 summarizes the availability of PMCDs in each Virtex 4 device www xilinx com 95 Chapter 3 Phase Matched Clock Dividers PMCDs XILINX DCMs Top Half PMCDs Top Ha
436. vioral code MUX 4 1 SUBM MUX 8 1 SUBM MUX 16 1 SUBM MUX 32 1 SUBM The corresponding submodules have to be synthesized with the design The submodule MUX 16 1 SUBM is provided as an example in VHDL and Verilog VHDL Template Module MUX 16 1 SUBM Description Multiplexer 16 1 Device Virtex 4 Family library IEEE use IEEE std logic 1164 all library UNISIM use UNISIM VCOMPONENTS ALL entity MUX 16 1 SUBM is port DATA I in std logic vector 15 downto 0 SELECT I in std logic vector 3 downto 0 DATA O out std logic Jus end MUX 16 1 SUBM architecture MUX 16 1 SUBM arch of MUX 16 1 SUBM is Component Declarations component MUXF7 port I0 in std logic I1 in std logic S in std logic O out std logic end component signal DATA MSB std logic signal DATA LSB std logic begin SELECT PROCESS LSB process SELECT I DATA I begin case SELECT I 2 downto 0 is when 000 gt DATA LSB lt DATA I 0 hen 001 gt DATA LSB lt DATA I 1 hen 010 gt DATA LSB lt DATA I 2 hen 011 gt DATA LSB lt DATA I 3 hen 100 gt DATA LSB lt DATA I 4 hen 101 gt DATA LSB lt DATA I 5 hen 110 gt DATA LSB lt DATA I 6 hen 111 gt DATA LSB lt DATA I 7 when others DATA LSB X end case end process SELECT PROCESS LSB SELECT PROCESS MSB process SELECT I DATA I begin
437. x 4 User Guide www xilinx com 171 UG070 v2 0 January 4 2007 Chapter 5 Configurable Logic Blocks CLBs XILINX Look Up Table LUT Virtex 4 function generators are implemented as 4 input look up tables LUTs There are four independent inputs for each of the two function generators in a slice F and G The function generators are capable of implementing any arbitrarily defined four input Boolean function The propagation delay through a LUT is independent of the function implemented Signals from the function generators can exit the slice through the X or Y output enter the XOR dedicated gate see Arithmetic Logic enter the select line of the carry logic multiplexer see Fast Lookahead Carry Logic feed the D input of the storage element or go to the MUXF5 In addition to the basic LUTS the Virtex 4 slices contain multiplexers MUXF5 and MUXFX These multiplexers are used to combine up to eight function generators to provide any function of five six seven or eight inputs in a CLB The MUXFX is either MUXF6 MUXF7 or MUXF8 according to the position of the slice in the CLB The MUXFX can also be used to map any function of six seven or eight inputs and selected wide logic functions Functions with up to nine inputs MUXF5 multiplexer can be implemented in one slice see Figure 5 14 page 183 Wide function multiplexers can effectively combine LUTs within the same CLB or across different CLBs making logic functions with
438. y Embedded dual or single port RAM modules ROM modules synchronous FIFOs and data width converters are easily implemented using the Xilinx CORE Generator block memory modules Asynchronous FIFOs can be generated using the CORE Generator FIFO Generator module The synchronous or asynchronous FIFO implementation does not require additional CLB resources for the FIFO control logic since it uses dedicated hardware resources Synchronous Dual Port and Single Port RAMs Data Flow 112 The 18 Kb block RAM dual port memory consists of an 18 Kb storage area and two completely independent access ports A and B The structure is fully symmetrical and both ports are interchangeable Figure 4 1 illustrates the dual port data flow Table 4 1 lists the port names and descriptions Data can be written to either or both ports and can be read from either or both ports Each write operation is synchronous each port has its own address data in data out clock clock enable and write enable The read operation is synchronous and requires a clock edge There is no dedicated monitor to arbitrate the effect of identical addresses on both ports It is up to the user to time the two clocks appropriately However conflicting simultaneous writes to the same location never cause any physical damage When a block RAM port is enabled all address transitions must meet the setup hold time of the ADDR inputs with respect to the port clock as listed in the Vi
439. y the CLK0 DCM output to the CLKFB pin When the CLKFB pin is connected all clock outputs will be deskewed to CLKIN When the CLKFB pin is not connected DCM clock outputs are not deskewed to CLKIN However the relative phase relationship between all output clocks is preserved During internal feedback configuration the CLKO output of a DCM connects to a global buffer on the same top or bottom half of the device The output of the global buffer connects to the CLKFB input of the same DCM During the external feedback configuration the following rules apply 1 To forward the clock the CLKO of the DCM must directly drive an OBUF or a BUFG to DDR configuration 2 External to the FPGA the forwarded clock signal must be connected to the IBUFG GCLK pin or the IBUF driving the CLKFB of the DCM Both CLK and CLKFB should have identical I O buffers Figure 2 8 and Figure 2 9 in Application Examples page 78 illustrate clock forwarding with external feedback configuration The feedback clock input signal can be driven by one of the following buffers 1 IBUFG Global Clock Input Buffer This is the preferred source for an external feedback configuration When an IBUFG drives a CLKFB pin of a DCM in the same top or bottom half of the device the pad to DCM skew is compensated for deskew 2 BUFGCTRL Internal Global Clock Buffer This is an internal feedback configuration 3 IBUF Input Buffer This is an external feedback configurat
440. yntax statement for which you must supply values Example ngdbuild design name References to other manuals See the Development System Reference Guide for more information Emphasis in text If a wire is drawn so that it overlaps the pin of a symbol the two nets are not connected Square brackets An optional entry or parameter However in bus specifications such as bus 7 0 they are required ngdbuild option name design name Braces A list of items from which you must choose one or more lowpwr on off Verticalbar Separates items in a list of choices lowpwr on off Vertical ellipsis Repetitive material that has been omitted IOB 1 IOB 2 Name QOUT Name CLKIN Horizontal ellipsis Repetitive material that has been omitted allow block block name loci loc2 locn Online Document The following conventions are used in this document Convention Blue text Meaning or Use Cross reference link to a location in the current document Example See the section Additional Resources for details Refer to Title Formats in Chapter 1 for details Red text Cross reference link to a location in another document See Figure 2 5 in the Virtex II Platform FPGA User Guide Blue underlined text Hyperlink to a website URL Go to http www xilinx com for the latest speed files
441. zed data Bitslip sub module and CE unit D1 D6 Input 1 each Parallel data inputs OCE Input 1 Output data clock enable REV Input 1 Reverse SR pin Not available in the OSERDES block SHIFTIN1 Input 1 Carry input for data width expansion Connect to SHIFTOUTI of slave OSERDES See OSERDES Width Expansion SHIFTIN2 Input 1 Carry input for data width expansion Connect to SHIFTOUT2 of slave OSERDES See OSERDES Width Expansion SR Input 1 Set Reset This pin only functions as an asynchronous Reset in the OSERDES block T1 to T4 Input 1 each Parallel 3 state inputs TCE Input 1 3 state clock enable Data Path Output OQ The OQ portis the data output port of the OSERDES module Data at the input port D1 will appear first at OQ This port connects the output of the data parallel to serial converter to the data input of the IOB 3 state Control Output TQ This port is the 3 state control output of the OSERDES module When used this port connects the output of the 3 state parallel to serial converter to the control 3 state input of the IOB High Speed Clock Input CLK This high speed clock input drives the serial side of the parallel to serial converters Divided Clock Input CLKDIV This divided high speed clock input drives the parallel side of the parallel to serial converters This clock is the divided version of the clock connected to the CLK port Parallel Data Inputs D1 to D6 All incoming parallel data enters the OSERDES modu
Download Pdf Manuals
Related Search
Related Contents
BL 1 - Fisher UK Extranet Philips Soundbar speaker HTL2160G Device Extensions User's Guide - Welcome to the van der Mark Site Slick VC100 User's Manual Copyright © All rights reserved.
Failed to retrieve file