18.07.2013 Views

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 ...

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!