From Simple PALs to High- Speed, High-Density Leading Edge ...
From Simple PALs to High- Speed, High-Density Leading Edge ...
From Simple PALs to High- Speed, High-Density Leading Edge ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>From</strong> <strong>Simple</strong> <strong>PALs</strong> <strong>to</strong> <strong>High</strong>-<br />
<strong>Speed</strong>, <strong>High</strong>-<strong>Density</strong> <strong>Leading</strong><br />
<strong>Edge</strong> FPGAs, Their Technologies<br />
and Applications<br />
John Birkner<br />
birkner@quicklogic.com<br />
http://www.quicklogic.com
PLDs - past, present and future<br />
• <strong>From</strong> where we have come<br />
• To where we are<br />
• and where are we going
Vision of Programmable Logic<br />
• To Empower Designers with silicon and<br />
<strong>to</strong>ols for fast time-<strong>to</strong>-design, low cost,<br />
multiple design-spin, pro<strong>to</strong>type and<br />
production of electronic systems.<br />
• To Envision products not otherwise possible<br />
through Design Exploration and<br />
increased Cycles of Learning
Origins<br />
• PLA - Programmable Logic Array<br />
– sum of products, AND/OR arrays<br />
– instruction decoder applications<br />
• 1972 - NSC introduces PLA<br />
– 96 product, 14 in, 8 out, 24 pin .6 DIP<br />
– targets EBCDIC <strong>to</strong> ASCII conversion
Origins (continued)<br />
• PLA sparks interest, but . . .<br />
is masked programmed like a ROM . . .<br />
designers want programmability like PROM<br />
• 1974 Electronic Arrays, Signetics, TI,<br />
introduce FPLA, field programmable like<br />
PROM
70’s Design Methods<br />
• 54/74 TTL logic building blocks<br />
– gates, muxes, registers, counters, ALUs<br />
– average 30 equivalent gates per chip<br />
– glue logic uses most PCB space with<br />
16 pin DIPs<br />
• Designers mix-and-match puzzle piece<br />
TTL SSI/MSI <strong>to</strong> minimize DIP count<br />
<strong>to</strong> complete processor/controller/memory<br />
functions on one PCB
• PLD challenge:<br />
Market Opportunity<br />
– au<strong>to</strong>mate glue logic process with<br />
programmable interconnect<br />
– lift PCB traces <strong>to</strong> silicon substrate<br />
• Problem: discover common denomina<strong>to</strong>r<br />
macrocell library <strong>to</strong> replace TTL functions
Solution<br />
• 1978 - MMI introduces<br />
Programmable Array Logic - PAL<br />
• Single programmable array achieves 35 ns Tpd<br />
• 20 pin Skinny DIP space efficient package<br />
• Effective at replacing 54/74 TTL glue logic<br />
• PALASM synthesis, place route, software<br />
allows designers <strong>to</strong> “design your own chip”<br />
on a PROM programmer.
Early Applications of<br />
Programmable Logic<br />
• “The Soul of a New Machine”<br />
Data General launches new computer in<br />
record time-<strong>to</strong>-market by<br />
overlapping PCB and PLD chip design<br />
• Macin<strong>to</strong>sh Computer designed in record<br />
time using PLD for memory and IO control<br />
• Ms PACMAN game achieves security and<br />
time <strong>to</strong> market using PLDs
100,000,000<br />
10,000,000<br />
1,000,000<br />
100,000<br />
Logic Gate Growth<br />
486<br />
Pentium<br />
386<br />
10,000<br />
8086<br />
1,000<br />
8080<br />
100<br />
1975 1980 1985 1990 1995 2000 2005
100,000,000<br />
10,000,000<br />
1,000,000<br />
Logic Gate Growth 256M<br />
100,000<br />
64K<br />
486<br />
386<br />
10,000<br />
4K 8086<br />
1,000<br />
8080<br />
100<br />
1975 1980 1985 1990 1995 2000 2005<br />
1M<br />
16M<br />
Pentium
100,000,000<br />
10,000,000<br />
1,000,000<br />
Logic Gate Growth<br />
256M<br />
100,000<br />
64K<br />
486<br />
386<br />
10,000<br />
QL24X32<br />
4K 8086<br />
EPM7256<br />
1,000<br />
XC2064<br />
8080<br />
PAL22R10<br />
100<br />
PAL16R8<br />
1975 1980 1985 1990 1995 2000 2005<br />
1M<br />
16M<br />
Pentium
• 2-input NAND<br />
• four transis<strong>to</strong>rs<br />
• 1/2 static RAM bit?<br />
What is a gate?
PAL Architecture - one cell<br />
• PAL16R8<br />
• 8 cells per chip<br />
• 12 gates per cell<br />
• 20 pin DIP
PAL Architecture - two cells<br />
• By doubling cells,<br />
interconnect links<br />
quadruple
FPGA Architecture - one cell<br />
• QL3060<br />
• 1584 cells per chip<br />
• 12 gates per cell<br />
• 456 pin BGA
FPGA Architecture - two cells<br />
• By doubling cells, interconnect links double
Technology Migration<br />
• Bipolar transis<strong>to</strong>r, metal fuse, very high power<br />
• CMOS UV erasable, med. power<br />
• CMOS SRAM , re-configurable, med. power<br />
• CMOS antifuse, OTP, low power<br />
• CMOS EE, re-programmable, high power
40<br />
35<br />
30<br />
25<br />
20<br />
15<br />
10<br />
5<br />
Tpd - propagation delay<br />
0<br />
1975 1980 1985 1990 1995 2000 2005
500<br />
450<br />
400<br />
350<br />
300<br />
250<br />
200<br />
150<br />
100<br />
50<br />
LCC<br />
DIP<br />
Packages<br />
QFP<br />
TQFP<br />
BGA<br />
0<br />
1975 1980 1985 1990 1995 2000 2005
• Design Process<br />
Design Tools<br />
– Design Entry, Synthesis, Place Route,<br />
Simulation, Path Analysis, Programming<br />
• Boolean Languages<br />
– PALASM, ABLE, CUPL<br />
• Schematic<br />
• HDL<br />
– VHDL, Verilog
Dini Design Methodology<br />
• Enter design in HDL<br />
– Use Synchronous Design where possible<br />
• Synthesize, Place, Route<br />
• Simulate for basic functionality<br />
• Path Analyze for Fmax, setup and clock <strong>to</strong> out<br />
• Hand craft critical paths using schematic as<br />
last resort
Design Methodology<br />
• State Machine Design<br />
– Binary Encoded<br />
(CPLD)<br />
– One Hot State<br />
(FPGA)<br />
• Microcoded<br />
– use embedded RAM<br />
– up <strong>to</strong> 200 MHz<br />
CLK<br />
Status Inputs<br />
Synchronous<br />
Dual PROM Port RAM<br />
Control Outputs<br />
State
Embedded RAM in FPGA
Control S<strong>to</strong>re
Arithmetic Logic Unit -<br />
Schematic Block
Arithmetic Logic Unit -<br />
Verilog Code
Embedded FIFO in FPGA
Waddr<br />
WCLK<br />
Data In<br />
Dual Port RAM<br />
Architecture<br />
Write-Side<br />
E<br />
Read-Side<br />
Raddr<br />
RCLK<br />
WE Bit n<br />
of<br />
Word m<br />
RE RE<br />
D Q<br />
Data Out
PUSH<br />
FULL<br />
Write-Side<br />
State Machine<br />
Synchronous FIFO<br />
0<br />
1<br />
UP<br />
UP<br />
WE<br />
Waddr+2<br />
Waddr<br />
=<br />
CLK<br />
Raddr+1<br />
Dual Port RAM<br />
Data In Data Out<br />
=<br />
Read-Side<br />
State Machine<br />
0<br />
1<br />
UP<br />
RE<br />
POP<br />
EMPTY
PUSH<br />
FULL<br />
WCLK<br />
Write-Side<br />
State Machine<br />
Asynchronous FIFO<br />
0<br />
1<br />
UP<br />
E<br />
E<br />
WE<br />
Waddr+2<br />
Waddr+1<br />
Waddr<br />
Async<br />
Boundary<br />
=<br />
=<br />
Raddr+1<br />
Dual Port RAM<br />
Data In Data Out<br />
=<br />
Read-Side<br />
State Machine<br />
0<br />
1<br />
UP<br />
RE<br />
POP<br />
EMPTY<br />
RCLK
• Limits I/O clock<br />
rates<br />
• System MTBF<br />
can be specified<br />
• New designers<br />
must be informed<br />
Metastability<br />
CLK<br />
DIN<br />
DOUT<br />
DIN<br />
CLK<br />
FF<br />
DOUT
Async FIFO Verilog Code - reset
Async FIFO Verilog Code - full flag<br />
PUSH<br />
FULL<br />
0<br />
1<br />
UP<br />
Waddr+2<br />
=
Async FIFO Verilog Code - waddr<br />
UP<br />
E<br />
E<br />
Waddr+2<br />
Waddr+1<br />
Waddr
FPGA Embedded RAM<br />
Place Route
IP Cores Trends<br />
• 70’s - 1st IP core library: TI TTL databook<br />
• 80’s - PLD application notes<br />
• 90’s - IP vendors<br />
– HDL soft cores<br />
– Schematic crafted firm cores<br />
– Embedded hard cores (PCI)<br />
• 00’s - System on Chip
• Support<br />
– Ready-<strong>to</strong>-Use<br />
– Source code edits<br />
– Who do you call<br />
• Legal Issues<br />
– Royalty<br />
– License<br />
– Reselling<br />
IP Core Issues
IP Core Module Wizard<br />
• Parameterized Cores implement<br />
RAM, FIFO, ROM
• 80s<br />
PLD Trends of the 80s<br />
– multiple sourcing<br />
– industry standard pinouts<br />
– PLD applications conference<br />
– PREP benchmarks<br />
– honest gates
• 90s<br />
PLD Trends of the 90s<br />
– proprietary architecture<br />
– sole source<br />
– path <strong>to</strong> gate array<br />
– IP Cores<br />
– gate inflation
PLD Forecast of the 00s<br />
• ESP - Embedded Standard Products<br />
– Combine flexibility of PLD<br />
with proven standard IP cores<br />
• System on Chip<br />
• Millions of Gates
PLD Prime Directive<br />
• To explore new designs . . .<br />
. . . where no one has gone before.