+ All Categories

Download - XILINX XC series

Transcript

Slide 1

SRAM Programmable FPGA ArchitecturesBy R. K. ChaitanyaY. Anil KumarM.Tech.,(VLSI)

OverviewAdvantages and Disadvantages of SRAM ProgrammingBuilding Blocks of SRAM based ArchitectureArchitectures of XC2000XC3000XC4000

Basic TerminologiesPin - a logic cell input or output.Connection - a pair of logic cell pins that are to be electrically connected.Net - a set of logic cell pins that are to be electrically connected. A net can be divided into one or more connections.Wiring segment - a straight section of wire that is used to form part of a connection.Routing switch - a device that is used to electrically connect two wiring segments.Track - a straight section of wire that spans the entire width or length of a routing channel. A track can be composed of a number of wiring segments of various lengths.Routing channel - the rectangular area that lies between two rows or two columns of logic cells. A routing channel contains a number of tracks.Xilinx FPGA StructureFixed array ofConfigurable LogicBlocks (CLBs)connectable by asystem of pass transistors,drivenby SRAM cells

Advantages and Disadvantages of SRAM ProgrammingVolatilityExternal MemoryReprogrammabilityQualityProcess LeadershipBasic Building Blocks1. Look up tableAn n-input look up table implements 2n x 1 memory composed of configurable memory cells.Implements any of the functions of its inputs.When FPGA is programmed the memory is loaded with the bit pattern corresponding to the truth table of the function.

Basic Building Blocks(2)2. Programmable Interconnect Point(PIP)PIP controls the connection of wiring segments in the programmable interconnect.Uses a pass transistor whose gate is connected to an SRAM, source and drain are connected between two nodes.3. Multiplexer Third building block is a multiplexer controlled by a configurable memory cell.Selection lines of the multiplexer can be programmed using SRAM.

XC2000The XC2000 CLBConsists of two 3-input LUTs producing two functions F and G.Two LUTs can be multiplexed to produce any function of four inputs on both outputs.It includes a single storage element that can be configured as an edge sensitive D-type flip flop or as a level sensitive D-type latchData input to Flip flop is from LUT function F & Clock input can come from G function or from input C or from separate clock input K.

The XC2000 IO BlockAll Chip outputs can be 3-stated and bidirectional.The three state control can be fixed in the configuration bitstream. So, On chip logic can control the direction of I/O pads.The input signal can be latched in the I/O block, reducing holding times for latched inputs.

The XC2000 Wiring ArchitectureIncludes 4 horizontal and 5 vertical general-purpose interconnect segments between switchboxes in the array.The switchbox PIPS connect the segments in pairs.The segments are grouped into the channels in which each segment is part of a track.XC2000 provides repowering buffers in the interconnect to speed up long distance connections.The array of tiles is divided into nine segments in a grid arrangement with general interconnect signals re-powered every time the signal crosses from one section into the next. Local signals within grid are not repowered.

The XC2000 Interconnect & Switchbox Connections

The XC2000 Wiring Architecture(2)Wiring architecture includes direct connections to horizontally and vertically adjacent blocks.These connections provide high speed dedicated interconnect path to adjacent CLBs through single multiplexer input, avoiding general purpose interconnect.Wiring includes 2- vertical long lines and one horizontal long line.A long line is a single metal segment that spans the entire width or height of the array of tiles bypassing all switchboxes.Signals are buffered onto the long lines.To further support high fan-out, low skew signals, the XC2000 FPGA includes 2 high-drive buffers with dedicated global interconnects to all CLBs.

Block to Interconnect Connections

The connections to the CLB are distributed around the four sides of the block.Input multiplexers in the figure shown as boxes, appear as independent PIPs to improve the clarity of the drawing The outputs of the CLB can connect to only half the segments in the channel.

The XC2000 Family membersMemberCLB Array sizeIosGate CapacitymaxTypicalXC20648X8581200800XC201810X107418001200XC3000The XC3000 CLB

The XC3000 CLB(2)Consists of a look-up table that can implement any function of five variables, any two functions of four variables, and some functions of up to seven variables.The CLB has two outputs, both of which may be either combinational or registered.Less delay penalty.Has two flip flops, to ensure that all combinational logic can be followed by a pipelining flip-flop.Reset and clock signals for the flip flops are driven by separate signals other than input and functions unlike in XC2000The register rich cells lets the XC3000 implement state intensive applications and heavily pipelined designs efficiently.

The XC3000 IO block

XC3000 consists of an additional flip flop in the output path.By registering data in the I/O block , the clock-to-out the time does not include interconnect delays.XC3000 IOB also includes a programmable pull-up, optional output inversion and selectable slew rate.Input from the pad can be brought into the interior of the chip either directly or registered or both. The XC3000 Wiring Architecture

XC3000 Wiring architectureThe XC3000 Wiring Architecture(2)Has five general interconnect lines both vertically and horizontally.Each CLB has direct connections to adjacent CLBs both vertically and horizontally.The switchbox connections in the XC3000 are more uniform across the segments with the interconnect patternSince the XC3000 tile was intended to be built into larger arrays than the XC2000, it includes more long interconnect.There are 3-vertical and 2-horizontal long lines.Two of the horizontal long lines are driven by three state buffers along the line.The difficulties of repowering buffers in XC2000 can be overcome using combination of hardware and software. The XC3000 Wiring

The XC3000 Block to Interconnect ConnectionsHere the inputs are connected to segments in two wiring channels.A net routed in either channel can be connected to the input pin, provided it is on the proper track in the channel.Similarly, outputs can be connected to two different channels.Input PIPS in XC3000

Output PIPS in XC3000

The XC3000 family

XC4000The XC4000 CLB

The XC4000 CLB(2)It Contains 3 LUTs and 2 flip flops.The two primary LUTs F and G each can implement any function of 4 variables each.The above two functions can be used independently or can be combined with another input in the H LUT to make any function of 5 inputs or some functions of upto 9 inputs.The flip flops can take their inputs independently from the LUTs or from external signals, but they share control signals.Flip flop outputs are not recirculated internally.The XC4000 CLB(3)The XC4000 CLB includes dedicated high-speed carry logic.The dedicated carry logic in the xc4000 substantially speeds up arithmetic while doubling its density.The F & G LUTs can be configured as 16 x 1 static memories.To write into the LUT memory, the LUT inputs address the memory cell to be written.Additional inputs to the CLB are write enable(WE) and data(D).Reading from a memory is same as evaluating a function.One CLB can implement 32bits of memory, configured either as 16 x 2 or 32 x 1.

XC4000 CLB in Arithmetic modeHere the F & G LUTs compute two sums while dedicated carry logic calculate the carries.

The XC4000 IO Block

The XC4000 IO Block(2)Signals to be output from the chip can be registered before output and enabled by a separate control signal.Outputs can be optionally pulled up or down and the output driver can be configured with either fast or slow slew rate.Inputs from the pad can be brought into the interior of the chip directly, registered or both to facilitate multiplexed bus interfaces.Inputs can drive dedicated decoders, built into the edge interconnect for fast recognition of addresses.It contains boundary scan logic compatible with ANSI IEEE 1149.1 JTAG.

The XC4000 IO Block(3)Boundary Scan is a Design For Test(DFT) technique in which the IO cells are configured as a shift register around the periphery of the chip for testing purposes.Boundary Scan check internal logic or external logic.Scan operations can take place before or after the FPGA is programmed and do not interfere with the operations of the part.The XC4000 Wiring Architecture

The XC4000 Wiring Architecture(2)The routing resources form a totally symmetric array of potential connections.The routing wiring includes:Single length wires intersecting through switch boxes which allows every horizontal wire to connect to one vertical wire.Double length lines that consist of track segments, each track spanning two CLBs length and it bypass alternate switch boxes.XC4000 interconnect includes more long and global lines high speed fanout & high speed wiring.The double length lines allows a signal to travel twice the distance in the same amount of time or to travel half the time because the signal delay is more dependent on the number of PIPS through which a signal passes than on the length of the segments.The XC4000 Wiring Architecture (3)

To improve routability the long lines can be broken into two half long lines and thus decreasing the delay also.Two of the long lines in each row can be configured as 3 state buses.Signals on global long lines can originate on chip or off chip and are driven by dedicated high drive clock buffers.They are wired through the core of the chip to all CLBs to minimize clock skew.The XC4000 Switch BoxXC4000 has 8 single length lines, 4 double lines & 6 long lines in each channel horizontally and vertically.It has 4 additional clock lines per column.The switch box connections are significantly fewer in XC4000 than those in XC2000 & XC3000.Inside the switch box, each segment can connect to three others, one on each of the other three sides of the switch box.Fewer PIPs results in faster interconnect but wiring may be more difficult.As a result, the XC4000 has more interconnect segments in the channel than equivalent XC3000.

The XC4000 Family Members

Thank You


Top Related