logic options - bohr.wlu.ca · field-programmable gate array historically, fpga and cpld...
TRANSCRIPT
![Page 1: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/1.jpg)
Logic Options Logic
Standard Cells Custom
PLAs
Standard Logic
ASIC Programmable Logic
Gate Arrays
SPLDs CPLDs FPGA
PALs
![Page 2: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/2.jpg)
Programmable Logic Arrays (PLAs)
Any combinational logic function can be realized as a sum of products.
Idea: Build a large AND-OR array with lots of inputs and product terms, and programmable connections. n inputs
AND gates have 2n inputs -- true and complement of each variable
m outputs, driven by large OR gates Each AND gate is “connected” to each output's OR gate.
p AND gates (p<<2n)
![Page 3: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/3.jpg)
PLA - general structure
![Page 4: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/4.jpg)
Ex: 4x3 PLA, 6 product terms
* gate level diagram
![Page 5: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/5.jpg)
PLA - Customary Schematic
![Page 6: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/6.jpg)
PLA - Example
![Page 7: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/7.jpg)
Programmable Array Logic (PALs)
Idea: How beneficial is product sharing? not enough to justify the extra OR array
PALs ==> fixed OR array each AND gate is permanently connected to a
specific OR gate. simpler to manufacture,
less expensive, better performance
![Page 8: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/8.jpg)
PAL - Customary Schematic
![Page 9: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/9.jpg)
PAL - Example PAL16L8
![Page 10: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/10.jpg)
PAL - Example PAL16L8
10 primary inputs 8 outputs, with 7 ANDs per output 1 AND for tri-state enable 6 outputs available as inputs
more inputs, at expense of outputs two-pass logic, helper terms
Note inversion on outputs output is complement of sum-of-products newer PALs have selectable inversion
![Page 11: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/11.jpg)
Designing with PALs
Compare number of inputs and outputs of the problem with available resources in the PAL.
Write equations for each output using ABEL. Compile the ABEL program. Determine whether minimized equations fit in
the available AND terms. If no fit, try modifying equations or providing
“helper” terms.
![Page 12: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/12.jpg)
How to expand PLD architecture? Increase # of inputs and outputs in a SPLD?
e.g., 16V8 --> 20V8 --> 22V10. Why not --> 32V16 --> 128V64 ?
Problems: n times the number of inputs and outputs requires n2
as much chip area -- too costly logic gets slower as the number of inputs to the AND
array increases Solution:
multiple PLDs on one chip with a relatively small programmable interconnect
Less general than a single large PLD, but can use software “fitter” to partition into smaller PLD blocks.
![Page 13: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/13.jpg)
CPLD families Identical individual PLD blocks (Xilinx “FBs”)
replicated in different family members. Different number of PLD blocks Different number of I/O pins
Many CPLDs have fewer I/O pins than macrocells “Buried” Macrocells -- provide needed logic terms
internally but these outputs are not connected externally.
IC package size dictates # of I/O pins but not the total # of macrocells.
Typical CPLD families have devices with differing resources in the same IC package.
![Page 14: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/14.jpg)
Complex Programmable Logic Device
Structure of a CPLD: Small number of PLDs (e.g., “36V18”) on a single chip Programmable interconnect between PLDs
![Page 15: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/15.jpg)
CPLD - section detail
![Page 16: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/16.jpg)
Field-Programmable Gate Array Historically, FPGA and CPLD architectures
began around the same time FPGAs are closer to “programmable ASICs”
-- large emphasis on interconnection routing Timing is difficult to predict -- multiple hops vs. the
fixed delay of a CPLD's switch matrix. But more “scalable” to large sizes.
FPGA programmable logic blocks have only a few inputs and 1 or 2 flip-flops, but there are a lot more of them compared to the number of macrocells in a CPLD.
![Page 17: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/17.jpg)
Field-Programmable Gate Array Much larger number of smaller programmable logic blocks. Surrounded by programmable interconnect.
![Page 18: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/18.jpg)
FPGA - Lookup Tables
![Page 19: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/19.jpg)
FPGA - example
![Page 20: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/20.jpg)
Problems: CPLDs/FPGAs Pin locking
Small changes, and certainly large ones, can cause the fitter to pick a different allocation of I/O blocks and pin out.
Locking too early may make the resulting circuit slower or not fit at all.
but must lock to prevent redesign of PCB due to minor logic changes late in design process
Running out of resources
Design may “blow up” if it doesn't all fit on a single device. On-chip interconnect resources are much richer than off-
chip; e.g. barrel-shifter example. Larger devices are exponentially more expensive.
![Page 21: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/21.jpg)
Custom Chips
ASIC - Application Specific Integrated Circuit Largest # gates and highest speed Custom chip layout Large design effort >> expensive must sell in sufficient quantities e.g. memory, microprocessors
![Page 22: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/22.jpg)
Standard Cells Rows of logic gates separated by routing
channels
![Page 23: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/23.jpg)
Gate Array Technology Part of the chip is prefabricated, other
parts are custom fabricated
![Page 24: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/24.jpg)
Gate Array Technology - example
![Page 25: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/25.jpg)
![Page 26: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/26.jpg)
![Page 27: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/27.jpg)
![Page 28: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/28.jpg)
![Page 29: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/29.jpg)
![Page 30: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/30.jpg)
![Page 31: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/31.jpg)
![Page 32: Logic Options - bohr.wlu.ca · Field-Programmable Gate Array Historically, FPGA and CPLD architectures began around the same time FPGAs are closer to “programmable ASICs” -- large](https://reader034.vdocuments.net/reader034/viewer/2022042710/5f573b6b5f8df730cb56f494/html5/thumbnails/32.jpg)