Xilinx XC4000 Series Manual Download Page 30

XC4000 Series Field Programmable Gate Arrays

4-34

September 18, 1996 (Version 1.04)

F1

C1

G1

F2 C2 G2

F3

C3

G3

F4 C4 G4

K

X

Y

XQ

YQ

LONG

SINGLE

DOUBLE

LONG

GLOBAL

QUAD

LONG

SINGLE

DOUBLE

LONG

LONG

DOUBLE

DOUBLE

QUAD

GLOBAL

Common to XC4000E and XC4000EX

XC4000EX only

Programmable Switch Matrix

CLB

DIRECT

FEEDBACK

DIRECT

FEEDBACK

Figure 27:   Detail of Programmable Interconnect Associated with XC4000-Series CLB 

Summary of Contents for XC4000 Series

Page 1: ...ction at 3 0 3 6 Volts XC4000L Low Voltage Versions of XC4000E devices XC4000XL Low Voltage Versions of XC4000EX devices Additional XC4000EX XL Features Highest Capacity Over 130 000 Usable Gates Additional Routing Over XC4000E almost twice the routing capacity for high density designs Buffered Interconnect for Maximum Speed New Latch Capability in Configurable Logic Blocks Improved VersaRingTM I ...

Page 2: ...ck of the configuration bit stream Because Xilinx FPGAs can be reprogrammed an unlimited number of times they can be used in innovative designs where hardware is changed dynamically or where hard ware must be adapted to different user applications FPGAs are ideal for shortening design and development cycles and also offer a cost effective solution for produc tion rates well beyond 5 000 systems pe...

Page 3: ...reconfig ured for different environments or operations or implement multi purpose hardware for a given application As an added benefit using reconfigurable FPGA devices simpli fies hardware design and debugging and shortens product time to market Table 2 Density and Performance for Several Common Circuit Functions in XC4000E1 Design Class Function CLBs Used XC4000E 3 XC4000E 2 Units Memory 256 x 8...

Page 4: ...ally Some parameters such as the delay on the carry chain through a single CLB TBYP have improved by as much as 50 from XC4000 values See Fast Carry Logic on page 21 for more information Select RAM Memory Edge Triggered Synchronous RAM Modes The RAM in any CLB can be configured for synchronous edge triggered write operation The read operation is not affected by this change to an edge triggered wri...

Page 5: ...ting near the IOBs enhances pin flexibility Faster Input and Output A fast dedicated early clock sourced by global clock buffers is available for the IOBs To ensure synchronization with the regular global clocks a Fast Capture latch driven by the early clock is available The input data can be initially loaded into the Fast Capture latch with the early clock then transferred to the input flip flop ...

Page 6: ...cd cd4cle cd4rle cb4ce cb4cle cb4re 3 5 6 3 6 5 Registers rd4r rd8r rd16r 2 4 8 8 and 16 Bit Counters Shift Registers cb8ce cb8re cc16ce cc16cle cc16cled 6 10 9 9 21 sr8ce sr16re 4 8 Decoders d2 4e d3 8e d4 16e 2 4 16 Identity Comparators comp4 comp8 comp16 1 2 5 Explanation of counter nomenclature cb binary counter cd BCD counter cc cascadable binary counter d bidirectional l loadable e clock ena...

Page 7: ...de the CLB The CLB can therefore implement certain functions of up to nine variables like parity check or expandable identity comparison of two sets of four inputs Each CLB contains two storage elements that can be used to store the function generator outputs However the stor age elements and function generators can also be used independently These storage elements can be configured as flip flops ...

Page 8: ...as latches The two latches have common clock K and clock enable EC inputs Storage element functionality is described in Table 4 Clock Input Each flip flop can be triggered on either the rising or falling clock edge The clock pin is shared by both storage ele ments However the clock is individually invertible for each storage element Any inverter placed on the clock input is automatically absorbed ...

Page 9: ... Data Inputs and Outputs The source of a storage element data input is programma ble It is driven by any of the functions F G and H or by the Direct In DIN block input The flip flops or latches drive the XQ and YQ CLB outputs Two fast feed through paths are available as shown in Figure 1 A two to one multiplexer on each of the XQ and YQ outputs selects between a storage element output and any of t...

Page 10: ... Options The function generators in any CLB can be configured as RAM arrays in the following sizes Two 16x1 RAMs two data inputs and two data outputs with identical or if preferred different addressing for each RAM One 32x1 RAM one data input and one data output One F or G function generator can be configured as a 16x1 RAM while the other function generators are used to imple ment any function of ...

Page 11: ...CH ENABLE K CLOCK WE D1 D0 EC WRITE PULSE MUX 4 4 Figure 3 16x2 or 16x1 Edge Triggered Single Port RAM G 4 G1 G4 F1 F4 C1 C4 WRITE DECODER 1 of 16 DIN 16 LATCH ARRAY X6754 4 4 MUX F WRITE DECODER 1 of 16 DIN 16 LATCH ARRAY READ ADDRESS READ ADDRESS WRITE PULSE LATCH ENABLE LATCH ENABLE K CLOCK WE D1 A4 D0 EC EC WRITE PULSE MUX 4 4 H Figure 4 32x1 Edge Triggered Single Port RAM F and G addresses ar...

Page 12: ...e enable signals are not required and the external write enable pulse becomes a simple clock enable The active edge of WCLK latches the address input data and WE sig nals An internal write pulse is generated that performs the write See Figure 3 and Figure 4 for block diagrams of a CLB configured as 16x2 and 32x1 edge triggered single port RAM The relationships between CLB pins and RAM inputs and o...

Page 13: ...e data at address DPRA 3 0 Therefore by using A 3 0 for the write address and DPRA 3 0 for the read address and reading only the DPO output a FIFO that can read and write simultaneously is easily generated Simultaneous access doubles the effec tive throughput of the FIFO The relationships between CLB pins and RAM inputs and outputs for dual port edge triggered mode are shown in Table 8 See Figure ...

Page 14: ...on 1 04 G G1 G4 F1 F4 WRITE DECODER 1 of 16 DIN 16 LATCH ARRAY X6748 4 4 MUX F WRITE DECODER 1 of 16 DIN 16 LATCH ARRAY READ ADDRESS READ ADDRESS WRITE PULSE LATCH ENABLE LATCH ENABLE K CLOCK WRITE PULSE MUX 4 4 C1 C4 4 WE D1 D0 EC Figure 7 16x1 Edge Triggered Dual Port RAM ...

Page 15: ... be used However there are inherent risks in this approach since the WE pulse must be guaranteed inactive before the next rising edge of the system clock Several older application notes are available from Xilinx that dis cuss the design of level sensitive RAMs These application notes include XAPP031 Using the XC4000 RAM Capabil ity and XAPP042 High Speed RAM Design in XC4000 However the edge trigg...

Page 16: ...ODER 1 of 16 DIN 16 LATCH ARRAY 4 READ ADDRESS MUX 4 C1 C4 4 WE D1 D0 EC Figure 9 16x2 or 16x1 Level Sensitive Single Port RAM Enable WRITE DECODER 1 of 16 DIN 16 LATCH ARRAY X6749 4 READ ADDRESS MUX Enable WRITE DECODER 1 of 16 DIN 16 LATCH ARRAY 4 READ ADDRESS MUX G 4 G1 G4 F1 F4 C1 C4 4 F WE D1 A4 D0 EC 4 H Figure 10 32x1 Level Sensitive Single Port RAM F and G addresses are identical ...

Page 17: ... should have lit tle impact because the smallest XC4000EX device the XC4028EX can accommodate a 64 bit carry chain in a sin gle column Additionally standard interconnect can be used to route a carry signal in the downward direction Figure 13 on page 22 shows an XC4000E CLB with dedi cated fast carry logic The carry logic in the XC4000EX is similar except that COUT exits at the top only and the sig...

Page 18: ... Version 1 04 D Q S R EC YQ Y DIN H G F G H D Q S R EC XQ DIN H G F H X H F G G4 G3 G2 G1 F F3 F2 F1 F4 F CARRY G CARRY C C DOWN CARRY LOGIC D C C UP K S R EC H1 X6699 OUT IN OUT IN IN COUT0 Figure 13 Fast Carry Logic in XC4000E CLB shaded area not present in XC4000EX ...

Page 19: ...0 3 M 1 M I G1 G4 F2 F1 F3 COUT G2 G3 F4 C INUP C IN DOWN X2000 TO FUNCTION GENERATORS M M M COUT0 Figure 15 Detail of XC4000EX Dedicated Carry Logic shaded areas show differences from XC4000E carry logic M M M M M 0 1 0 1 0 1 1 0 1 0 3 1 0 M M M M M F4 G3 G2 G1 G4 F2 F1 F3 M TO FUNCTION GENERATORS COUT COUT0 CIN UP X6701 ...

Page 20: ...ls are also configurable the two global adjustments of input threshold and output level are inde pendent Inputs of the low voltage devices must be configured as CMOS at all times They can be driven by the outputs of all 5 Volt XC4000 Series devices provided that the 5 Volt out puts are in TTL mode They can also be driven by any TTL output that does not exceed 3 7 V 5 Volt XC3000 family device outp...

Page 21: ...ll Down 2 I1 X6704 Figure 16 Simplified Block Diagram of XC4000E IOB Q Flip Flop Latch Fast Capture Latch D Q Latch D G D 0 1 CE CE Q Out T Output Clock I Input Clock Clock Enable Pad Flip Flop Slew Rate Control Output Buffer Output MUX Input Buffer Passive Pull Up Pull Down 2 I1 X5984 Delay Delay Figure 17 Simplified Block Diagram of XC4000EX IOB shaded areas indicate differences from XC4000E ...

Page 22: ...e FastCLK buffers For a description of each of these buffers see Global Nets and Buffers XC4000EX only on page 43 Table 12 XC4000EX IOB Input Delay Element Additional Input Latch for Fast Capture XC4000EX only The XC4000EX IOB has an additional optional latch on the input This latch as shown in Figure 17 is clocked by the output clock the clock used for the output flip flop rather than the input c...

Page 23: ... current specification of many FPGAs often forces the user to add external buffers which are especially cumbersome on bidirectional I O lines The XC4000E and XC4000EX devices solve many of these problems by providing a guaranteed output sink current of 12 mA Two adjacent outputs can be interconnected exter nally to sink up to 24 mA XC4000L and XC4000XL out puts can sink up to 4 mA and two adjacent...

Page 24: ...executing an EXTEST instruction This global net GTS does not com pete with other routing resources it uses a dedicated distri bution network GTS can be driven from any user programmable pin as a global 3 state input To use this global net place an input pad and input buffer in the schematic or HDL code driving the GTS pin of the STARTUP symbol A specific pin loca tion can be assigned to this input...

Page 25: ...e clocks are sourced by the same sources as the Global Low Skew buffers but are separately buffered They have fewer loads and therefore less delay The early clock can drive either the IOB output clock or the IOB input clock or both The early clock allows fast capture of input data and fast clock to output on output data The Global Early buffers that drive these clocks are described in Global Nets ...

Page 26: ...WAND16 are also available See the XACT Libraries Guide for further information The T pin is internally tied to the I pin Connect the input to the I pin and the output to the O pin Connect the outputs of all the WAND1s together and attach a PULLUP symbol Wired OR AND The buffer can be configured as a Wired OR AND A High level on either input turns off the output Use the WOR2AND library symbol which...

Page 27: ...FPGAs Users often resorted to exter nal PALs for simple but fast decoding functions Now the dedicated decoders in the XC4000 Series device can implement these functions fast and efficiently To use the wide edge decoders place one or more of the WAND library symbols WAND1 WAND4 WAND8 WAND16 Attach a DECODE attribute or property to each WAND symbol Tie the outputs together and attach a PUL LUP symbo...

Page 28: ...s Extra routing is included in the IOB pad ring The XC4000EX also includes a ring of octal interconnect lines near the IOBs to improve pin swapping and routing to locked pins XC4000E devices include two types of global buffers while XC4000EX devices have three different types These glo bal buffers have different properties and are intended for different purposes They are discussed in detail later ...

Page 29: ... 33 x5994 Quad Quad Single Double Long Direct Connect Long CLB Long Global Clock Long Double Single Global Clock Carry Chain Direct Connect Figure 26 High Level Routing Diagram of XC4000 Series CLB shaded arrows indicate XC4000EX only ...

Page 30: ...4 K X Y XQ YQ LO N G SIN G LE D O U BLE LO N G G LO BAL QUAD LONG SINGLE DOUBLE LONG LO N G DOUBLE D O U BLE Q U AD G LO BAL Common to XC4000E and XC4000EX XC4000EX only Programmable Switch Matrix CLB D IR EC T FEED BAC K DIRECT FEEDBACK Figure 27 Detail of Programmable Interconnect Associated with XC4000 Series CLB ...

Page 31: ...ty is shown in Figure 27 Single length lines incur a delay whenever they go through a switching matrix Therefore they are not suitable for rout ing signals for long distances They are normally used to conduct signals within a localized area and to provide the branching for nets with fanout greater than one Double Length Lines The double length lines consist of a grid of metal segments each twice a...

Page 32: ...rix contains one buffer and six pass transistors It resembles the programmable switch matrix shown in Figure 28 with the addition of a program mable buffer There can be up to two independent inputs and up to two independent outputs Only one of the inde pendent inputs can be buffered The place and route software automatically uses the timing requirements of the design to determine whether or not a ...

Page 33: ...ine into two indepen dent routing channels each running half the width or height of the array Each XC4000EX longline not driven by TBUFs has a buff ered programmable splitter switch at the 1 4 1 2 and 3 4 points of the array Due to the buffering XC4000EX lon gline performance does not deteriorate with the larger array sizes If the longline is split the resulting partial longlines are independent R...

Page 34: ...s shown in Figure 32 The shaded arrows represent routing present only in XC4000EX devices Figure 33 is a detailed diagram of the XC4000E and XC4000EX VersaRing The area shown includes two IOBs There are two IOBs per CLB row or column therefore this diagram corresponds to the CLB routing diagram shown in Figure 27 on page 34 The shaded areas represent routing and routing connections present only in...

Page 35: ... O C T A L E D G E D E C O D E QUAD LONG SINGLE DOUBLE LONG L O N G DOUBLE D O U B L E G L O B A L IK OK I1 CE I2 T O DECODER DECODER Common to XC4000E and XC4000EX XC4000EX only IOB IOB DIRECT Figure 33 Detail of Programmable Interconnect Associated with XC4000 Series IOB Left Edge ...

Page 36: ...ice edge The octal lines bend around the corners of the device The lines cross at the corners in such a way that the segment most recently buffered before the turn has the farthest dis tance to travel before the next buffer as shown in Figure 34 IOB inputs and outputs interface with the octal lines via the single length interconnect lines Single length lines are also used for communication between...

Page 37: ...y when used to drive non clock CLB inputs The Primary Global buffers must be driven by the semi dedicated pads The Secondary Global buffers can be sourced by either semi dedicated pads or internal nets Each CLB column has four dedicated vertical Global lines Each of these lines can be accessed by one particular Pri mary Global buffer or by any of the Secondary Global buff ers as shown in Figure 35...

Page 38: ...4 4 IOB CLOCKS CLB CLOCKS PER COLUMN CLB CLOCKS PER COLUMN CLB CLOCKS PER COLUMN CLB CLOCKS PER COLUMN locals locals locals locals locals BUFGLS locals BUFGLS BUFGLS BUFGLS BUFGLS BUFGE BUFGE BUFGE BUFGE BUFGE BUFGE BUFGE BUFGE BUFGLS BUFGLS IOB IOB IOB IOB IOB IOB IOB IOB BUFGLS BUFGLS BUFGLS BUFGLS GCK8 GCK7 GCK1 GCK6 BUFFCLK BUFFCLK BUFFCLK FCLK1 FCLK4 FCLK2 BUFFCLK FCLK3 GCK2 GCK5 GCK3 GCK4 IO...

Page 39: ...pe in parallel This configuration is particularly useful when using the Fast Capture latches as described in IOB Input Signals on page 24 Paired Global Early and Global Low Skew buffers share a common input they cannot be driven by two different signals Choosing an XC4000EX Clock Buffer The clocking structure of the XC4000EX provides a large variety of features However it can be simple to use with...

Page 40: ...le reading the following explana tion Each Global Early buffer can access the eight vertical Glo bal lines for all CLBs in the quadrant Therefore only one fourth of the CLB clock pins can be accessed This restric tion is in large part responsible for the faster speed of the buffers relative to the Global Low Skew buffers The left side Global Early buffers can each drive two of the four vertical li...

Page 41: ...e is used should be the same clock as the related internal logic Since the FastCLK pads are different from the Global Early and Global Low Skew pads care must be taken to ensure that skew external to the device does not create internal timing difficulties The FastCLK buffers can also be used to provide a fast Clock to Out on device output pins However a fast clock in the output flip flop IOB must ...

Page 42: ...ate limited mode default which should be used where output rise and fall times are not speed critical Pin Descriptions There are three types of pins in the XC4000 Series devices Permanently dedicated pins User I O pins that can have special functions Unrestricted user programmable I O pins Before and during configuration all outputs not used for the configuration process are 3 stated with a 50 kΩ ...

Page 43: ...rrent clear cycle and executes another complete clear cycle before it goes into a WAIT state and releases INIT The PROGRAM pin has a permanent weak pull up so it need not be externally pulled up to Vcc User I O Pins That Can Have Special Functions RDY BUSY O I O During Peripheral mode configuration this pin indicates when it is appropriate to write another byte of data into the FPGA The same statu...

Page 44: ...e the start of configuration Master mode devices stay in a WAIT state an additional 30 to 300 µs after INIT has gone High During configuration a Low on this output indicates that a configuration data error has occurred After the I O go active INIT is a user programmable I O pin PGCK1 PGCK4 XC4000E only Weak Pull up I or I O Four Primary Global inputs each drive a dedicated internal global net with...

Page 45: ...allel and Peripheral configuration these eight input pins receive con figuration data After configuration they are user programmable I O pins DIN I I O During Slave Serial or Master Serial configuration DIN is the serial configuration data input receiving data on the rising edge of CCLK During Parallel configuration DIN is the D0 input After configuration DIN is a user programmable I O pin DOUT O ...

Page 46: ...imple mented XC4000EX boundary scan logic is identical Figure 43 on page 52 is a diagram of the XC4000 Series boundary scan logic It includes three bits of Data Register per IOB the IEEE 1149 1 Test Access Port controller and the Instruction Register with decodes XC4000 Series devices can also be configured through the boundary scan logic See Configuration Through the Boundary Scan Pins on page 64...

Page 47: ...LEW RATE PULL UP M OUT SEL D EC Q rd M M M INVERT OUTPUT M M INVERT S R Ouput Clock OK Clock Enable Ouput Data O O update Q capture O capture Boundary Scan M EXTEST TS update TS capture 3 State TS sd sd TS INV OUTPUT TS OE PULL DOWN INPUT Boundary Scan Boundary Scan Figure 42 Block Diagram of XC4000E IOB with Boundary Scan some details not shown XC4000EX Boundary Scan Logic is Identical ...

Page 48: ...IOB IOB IOB IOB IOB IOB IOB IOB IOB IOB IOB IOB IOB IOB IOB IOB 1 0 1 0 1 0 1 0 1 0 1 0 1 0 D Q LE sd sd LE D Q D Q D Q 1 0 1 0 1 0 1 0 D Q LE sd sd LE D Q sd LE D Q IOB D Q D Q 1 0 1 0 D Q LE sd sd LE D Q 1 0 DATA IN IOB T IOB Q IOB I IOB Q IOB T IOB I IOB O SHIFT CAPTURE CLOCK DATA REGISTER DATAOUT UPDATE EXTEST X1523 INSTRUCTION REGISTER INSTRUCTION REGISTER BYPASS REGISTER Figure 43 XC4000 Ser...

Page 49: ...as shown in Figure 45 Even if the boundary scan symbol is used in a schematic the input pins TMS TCK and TDI can still be used as inputs to be routed to internal logic Care must be taken not to force the chip into an undesired boundary scan state by inadvertently applying boundary scan input patterns to these pins The simplest way to prevent this is to keep TMS High and then apply whatever signal ...

Page 50: ...ty Chart for XC4000E FPGAs Speed Grade PC 84 PQ 100 VQ 100 PG 120 TQ 144 PG 156 PQ 160 CB 164 PG 191 CB 196 PQ 208 HQ 208 PG 223 BG 225 CB 228 PQ 240 HQ 240 PG 299 HQ 304 XC 4003E 4 C I C I C I C I 3 C I C I C I C I 2 C C C C XC 4005E 4 C I C I C I C I M B C I M B C I 3 C I C I C I C I C I C I 2 C C C C C C XC 4006E 4 C I C I C I C I C I 3 C I C I C I C I C I 2 C C C C C XC 4008E 4 C I C I C I C I...

Page 51: ...ns are not supported Speed grades for the XC4000XL have not yet been determined Table 26 Component Availability Chart for XC4000EX FPGAs Speed Grade HQ208 HQ240 PG299 HQ304 BG352 PG411 BG432 XC4028EX 4 C I C I C I C I C I 3 C C C C C XC4036EX 4 C I C I C I 3 C C C XC4044EX 4 C I C I 3 C C Table 27 Component Availability Chart for XC4000L and XC4000XL FPGAs Speed Grade PC 84 TQ 176 PQ 208 HQ 208 BG...

Page 52: ... www xilinx com for the latest information Note This table includes standard user programmable I O It also includes the TDI TCK and TMS pins which can function as user programmable I O if not used for boundary scan In addition to the I O listed in this table the M0 and M2 pins can be used as inputs only the M1 and TDO pins can be used as outputs only All of these pins must be called out using spec...

Page 53: ...he M0 and M2 pins can be used as inputs only the M1 and TDO pins can be used as outputs only All of these pins must be called out using special library symbols The XACT software does not use them by default See Table 18 on page 47 Table 29 Maximum User I O for XC4000EX Device Package Combinations No of Pins Package Code XC4028EX XC4036EX XC4044EX Maximum User I O 256 288 320 208 HQFP HQ 160 240 HQ...

Page 54: ...ange C Commercial TJ 0 to 85 C I Industrial TJ 40 to 100 C M Military TC 55 to 125 C PC Plastic Lead Chip Carrier PQ Plastic Quad Flat Pack VQ Very Thin Quad Flat Pack TQ Thin Quad Flat Pack BG Ball Grid Array PG Ceramic Pin Grid Array HQ High Heat Dissipation Quad Flat Pack MQ Metal Quad Flat Pack CB Top Brazed Ceramic Quad Flat Pack X6750 Example ...

Page 55: ... 4 695 740 4 706 216 4 713 557 4 746 822 4 750 155 4 758 985 4 820 937 4 821 233 4 835 418 4 853 626 4 855 619 4 855 669 4 902 910 4 940 909 4 967 107 5 012 135 5 023 606 5 028 821 5 047 710 5 068 603 5 140 193 5 148 390 5 155 432 5 166 858 5 224 056 5 243 238 5 245 277 5 267 187 5 291 079 5 295 090 5 302 866 5 319 252 5 319 254 5 321 704 5 329 174 5 329 181 5 331 220 5 331 226 5 332 929 5 337 255...

Reviews: