Download presentation
Presentation is loading. Please wait.
Published byShona Lawson Modified over 9 years ago
1
Xilinx FPGAs - 1 trend toward higher levels of integration Evolution of implementation technologies zDiscrete devices: relays, transistors (1940s-50s) zDiscrete logic gates (1950s-60s) zIntegrated circuits (1960s-70s) ye.g. TTL packages: Data Book for 100’s of different parts yMap your circuit to the Data Book parts zGate Arrays (IBM 1970s) y“Custom” integrated circuit chips yDesign using a library (like TTL) yTransistors are already on the chip yPlace and route software puts the chip together automatically y+ Large circuits on a chip y+ Automatic design tools (no tedious custom layout) y- Only good if you want 1000’s of parts
2
Xilinx FPGAs - 2 Gate Array Technology (IBM - 1970s) zSimple logic gates yusetransistors to implement combinational and sequential logic zInterconnect ywires to connect inputs and outputs to logic blocks zI/O blocks yspecial blocks at periphery for external connections zAdd wires to make connections ydone when chip is fabbed x“mask-programmable” yconstruct any circuit
3
Xilinx FPGAs - 3 Programmable Logic zDisadvantages of the Data Book method yConstrained to parts in the Data Book yParts are necessarily small and standard yNeed to stock many different parts zProgrammable logic yUse a single chip (or a small number of chips) yProgram it for the circuit you want yNo reason for the circuit to be small
4
Xilinx FPGAs - 4 Programmable Logic Technologies zFuse and anti-fuse yfuse makes or breaks link between two wires ytypical connections are 50-300 ohm yone-time programmable (testing before programming?) yvery high density zEPROM and EEPROM yhigh power consumption ytypical connections are 2K-4K ohm yfairly high density zRAM-based ymemory bit controls a switch that connects/disconnects two wires ytypical connections are.5K-1K ohm ycan be programmed and re-programmed in the circuit ylow density
5
Xilinx FPGAs - 5 Programmable Logic zProgram a connection yConnect two wires ySet a bit to 0 or 1 zRegular structures for two-level logic (1960s-70s) yAll rely on two-level logic minimization yPROM connections - permanent yEPROM connections - erase with UV light yEEPROM connections - erase electrically yPROMs xProgram connections in the _____________ plane yPLAs xProgram the connections in the ____________ plane yPALs xProgram the connections in the ____________ plane
6
Xilinx FPGAs - 6 Making Large Programmable Logic Circuits zAlternative 1 : “CPLD” yput a lot of PLDS on a chip yadd wires between them whose connections can be programmed yuse fuse/EEPROM technology zAlternative 2: “FPGA” yemulate gate array technology yhence Field Programmable Gate Array yyou need: xa way to implement logic gates xa way to connect them together
7
Xilinx FPGAs - 7 Field-Programmable Gate Arrays zLogic blocks yto implement combinational and sequential logic zInterconnect ywires to connect inputs and outputs to logic blocks zI/O blocks yspecial logic blocks at periphery of device for external connections zKey questions: yhow to make logic blocks programmable? yhow to connect the wires? yafter the chip has been fabbed
8
Xilinx FPGAs - 8 Tradeoffs in FPGAs zLogic block - how are functions implemented: fixed functions (manipulate inputs) or programmable? ysupport complex functions, need fewer blocks, but they are bigger so less of them on chip ysupport simple functions, need more blocks, but they are smaller so more of them on chip zInterconnect yhow are logic blocks arranged? yhow many wires will be needed between them? yare wires evenly distributed across chip? yprogrammability slows wires down – are some wires specialized to long distances? yhow many inputs/outputs must be routed to/from each logic block? ywhat utilization are we willing to accept? 50%? 20%? 90%?
9
Xilinx FPGAs - 9 Xilinx Programmable Gate Arrays zCLB - Configurable Logic Block y5-input, 1 output function yor 2 4-input, 1 output functions yoptional register on outputs zBuilt-in fast carry logic zCan be used as memory zThree types of routing ydirect ygeneral-purpose ylong lines of various lengths zRAM-programmable ycan be reconfigured
10
Programmable Interconnect I/O Blocks (IOBs) Configurable Logic Blocks (CLBs)
11
Xilinx FPGAs - 11 The Xilinx 4000 CLB
12
Xilinx FPGAs - 12 Two 4-input functions, registered output
13
Xilinx FPGAs - 13 5-input function, combinational output
14
Xilinx FPGAs - 14 CLB Used as RAM
15
Xilinx FPGAs - 15 Fast Carry Logic
16
Xilinx FPGAs - 16 Xilinx 4000 Interconnect
17
Xilinx FPGAs - 17 Switch Matrix
18
Xilinx FPGAs - 18 Xilinx 4000 Interconnect Details
19
Xilinx FPGAs - 19 Global Signals - Clock, Reset, Control
20
Xilinx FPGAs - 20 Xilinx 4000 IOB
21
Xilinx FPGAs - 21 Xilinx FPGA Combinational Logic Examples zKey: General functions are limited to 5 inputs y(4 even better - 1/2 CLB) yNo limitation on function complexity zExample 2-bit comparator: A B = C D and A B > C D implemented with 1 CLB (GT)F = A C' + A B D' + B C' D' (EQ)G = A' B' C' D' + A' B C' D + A B' C D' + A B C D zCan implement some functions of > 5 inputs zExamples: 9-input parity generator implemented with 1 CLB
22
Xilinx FPGAs - 22 CLB 5-input Majority Circuit CLB 7-input Majority Circuit Xilinx FPGA Combinational Logic zExamples yn-input majority function: 1 whenever n/2 or more inputs are 1
23
Xilinx FPGAs - 23 Cout 3 CLB solution single CLB delay for Cout of second bit 2 CLB solution double CLB delay for Cout of second bit Xilinx FPGA Adder Example zExample y2-bit binary adder - inputs: A1, A0, B1, B0, CIN outputs: S0, S1, Cout
24
Xilinx FPGAs - 24 Computer-aided Design zCan't design FPGAs by hand yway too much logic to manage, hard to make changes zHardware description languages yspecify functionality of logic at a high level zValidation - high-level simulation to catch specification errors yverify pin-outs and connections to other system components ylow-level to verify mapping and check performance zLogic synthesis yprocess of compiling HDL program into logic gates and flip-flops zTechnology mapping ymap the logic onto elements available in the implementation technology (LUTs for Xilinx FPGAs)
25
Xilinx FPGAs - 25 CAD Tool Path (cont’d) zPlacement and routing yassign logic blocks to functions ymake wiring connections zTiming analysis - verify paths ydetermine delays as routed ylook at critical paths and ways to improve zPartitioning and constraining yif design does not fit or is unroutable as placed split into multiple chips yif design it too slow prioritize critical paths, fix placement of cells, etc. yfew tools to help with these tasks exist today zGenerate programming files - bits to be loaded into chip for configuration
26
Xilinx FPGAs - 26 Xilinx CAD Tools zVerilog (or VHDL) use to specify logic at a high-level ycombine with schematics, library components zSynopsys ycompiles Verilog to logic ymaps logic to the FPGA cells yoptimizes logic zXilinx APR - automatic place and route (simulated annealing) yprovides controllability through constraints yhandles global signals zXilinx Xdelay - measure delay properties of mapping and aid in iteration zXilinx XACT - design editor to view final mapping results
27
Xilinx FPGAs - 27 Applications of FPGAs zImplementation of random logic yeasier changes at system-level (one device is modified) ycan eliminate need for full-custom chips zPrototyping yensemble of gate arrays used to emulate a circuit to be manufactured yget more/better/faster debugging done than possible with simulation zReconfigurable hardware yone hardware block used to implement more than one function yfunctions must be mutually-exclusive in time ycan greatly reduce cost while enhancing flexibility yRAM-based only option zSpecial-purpose computation engines yhardware dedicated to solving one problem (or class of problems) yaccelerators attached to general-purpose computers
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.