Sunteți pe pagina 1din 80

pVLSI

Familii de structuri programabile

Principalii producatori de circuite programabile

XILINX
Pronuntare: "zylinks

Altera Vantis (AMD) / Lattice


Atmel NEC QuickLogic Aeroflex UTMC Actel (antifuse)

The Programmable Marketplace


2005
PLD Segment Actel Lattice 5% 7% QuickLogic: 2% Other: 2% FPGA Sub-Segment

Xilinx

58% 33% 51% 31% Altera 11%

Xilinx

Altera

All Others

Two dominant suppliers, indicating a maturing market

XILINX Documents: http://indico.cern.ch/materialDisplay.py?contribId=81&sessionId...

Xilinx and Altera FPGA


Xilinx Virtex Spartan XC9500 #gates 50k-10M 5k-300k 13k-85k Program SRAM SRAM SRAM Clock 550MHz 250MHz 100MHz Note System ASIC

Altera Stratix Cyclone FLEX MAX(CPLD)

#gates
180k 16k 10k-250k 600-10K

Program
SRAM SRAM SRAM EEPROM

Clock
500MHz 200MHz 200MHz 150MHz

Note
High end RAM & Multiplier Low cost High Speed Low Price

Circuite XILINX
XILINX FPGAs Virtex-4 Virtex-II Pro Virtex-II Virtex-E EM Virtex-E Virtex Spartan-3E Spartan-3 Hardwire
http://www.xilinx.com

CPLDs Cool Runner XPLA3 XC9500XL XC9500XV XC9500 XC3000 XC4000 XC5200

Dispozitive programabile XILINX

Arhitectura CPLD XILINX

CPLD Xilinx

Blocul functional CPLD

Arhitectura FPGA XILINX

Tabel comparativ pentru FPGA din seria XC4000 (documentatie XILINX)

Xilinx FPGA
Configurable Logic Blocks
Block RAMs Block RAMs

I/O Blocks Block RAMs

ECE 545 Introduction to VHDL

Xilinx CLB
Configurable logic block (CLB) Slice CLB CLB Logic cell Logic cell Slice Logic cell Logic cell

Slice CLB CLB Logic cell Logic cell

Slice Logic cell Logic cell

ECE 545 Introduction to VHDL

The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)

LUT <Look Up Table>

Structura LUT

Structura simplificata a unui CLB din seria XC4000 (documentatie XILINX)

Moduri de lucru ale elementului de memorare de la iesirea CLB

Structura simplificataSet/Reset global (documentatie XILINX)

Memorie RAM sincrona, uniport, 16 x 1, implementata cu CLB (documentatie XILINX)

Logica de propagare rapida a transportului la XC4000

Schema bloc simplificata a IOB (XC4000)

Functionarea bistabilului de iesire al IOB

XC4000

Oscilatorul utilizat de seria XC4000

Exemplu de decodor

Interconectare

Logic Block

Structura matricii de comutatoare programabile PSM (programmable switch matrix)

Interconexiunile CLB

Detaliu cu interconexiunile CLB XC4000

Linii de interconectare de lungime simpla si dubla si matrici de interconexiune programabile (PSM)

Interconexiuni IOB

IOB Input/Output Blocks WED Wide Edge Decoder

Modurile de configurare ale dispozitivelor FPGA XC4000

FPGA VIRTEX (Xilinx)


CMOS 0.22um, 5 straturi de metalizare

Conectarea dintre CLB (Configurable Logic Block) si GRM (General routing Matrix)

FPGA VIRTEX (Xilinx)


Arhitectura dispozitivelor Virtex FPGA Memorie RAM cu doua porturi inclusa in CLB (Virtex)

Suport software Xilinx

Interfata grafica pentru Project ManagerFoundation Series Xilinx

FPGA Design
RTL

RTL Simulation

Logic Synthesis

LSI Tool

Synthesis Netlist

Functional Verification

FPGA Tool

Gate Assignment LE Place and Rout


Configuration Data

Circuite programabile ALTERA


High-End FPGAs (seria Stratix)
Midrange FPGAs (seria Arria) Low-Cost FPGAs (seria Cyclone) CPLDs (seria MAX)

ASICs (seria HardCopy)


http://www.altera.com

Familia de circuite ALTERA

Dispozitive programabile CPLD Altera


(Flex 10k, Flex 8000, Max 9000, Max 7000, Flash logic, Max 5000, Classic) FLEX = Flexible Logic Element MatriX Caracteristicile familiei 10K

Overview

Familia FPGA Altera reprezentativa: Cyclone II (2005)


1.2V core, 90nm process

Arhitectura dispozitivelor din familia FLEX 10K

FLEX 10K contine: - Matrice dedicata EAB (Embedded Array Block) - Matrice logica - LAB (Logic Array Block)

Structura EAB (Embedded Array Block) din familia FLEX 10K

Structura unui bloc logic LAB (Flex 10K

Structura unui element logic LE, FLEX 10K

Lantul de propagare rapida a transportului

Sumator implementat cu lant de propagare rapida a transportului

Lantul de conectare in cascada


Implementarea functiilor de 4n variabile utilizand n elemente logice si lantul de conectare in cascada

Moduri de functionare a elementului logic

Structurile celor 6 moduri de initializare a registrului din elementul logic

Resursele de interconectare ale unui LAB

Resursele de interconectare ale dispozitivelor FLEX 10K

Arhitectura elementului de intrare-iesire IOE

Moduri de configurare a dispozitivelor FLEX 10K

Arhitectura dispozitivelor din familia MAX 9000 / Altera

Arhitectura unui bloc logic din familia MAX 9000

Arhitectura unei macrocelule din familia MAX9000

Structura unui LAB din familia Cyclone II


Arhitectura bi-dimensionala rand-coloana

Logic Array Blocks (LABs) contin 16 elemente logice (LEs)

Structura unui element logic (LE Unit) Cyclone II

Cyclone II LE can operate in 2 modes:


normal mode arithmetic mode

LE Normal Mode
Suitable for general logic applications and combinatorial functions.

LE Arithmetic Mode
Implements a 2-bit full adder and basic carry chain

Input/Output Elements

I/O pin

Bus-hold (keeper) circuit Programmable delay chain (for input)

Ognjen eki

58/103

Etapele mediului de proiectare MAX+PLUS II

Structura PAL Vantis(AMD)/Lattice


Dispozitive PAL Vantis(AMD)/Lattice: PAL Programable Array Logic CPL seria MACH, Macro Array CMOS High-density FPGA seria Lattice

Structura tipica PAL

Structura tipica de iesire PAL cu bistabil (Vantis/Lattice)

Schema bloc a circuitului PAL22V10

Macrocelula I/O a circuitului PAL22V10

Macrocelula I/O a circuitului PAL22V10

Moduri de configurare a macrocelulei PAL22V10

Schema bloc a dispozitivelor MACH5 (Vantis/Lattice)

Blocurile functionale constitutive ale dispozitivelor MACH5

Structura logica a macrocelulei dispozitivelor MACH5

Clasificarea dispozitivelor programabile

Sub 600 porti

Dispozitive Programabile

Peste 600 porti

PLD Simple

PLD Complexe

Interconexiuni segmentate
FPGA XILINX EPROM EEPROM FLASH CPLD ALTERA

Interconexiuni continue

Clasificarea dispozitivelor programabile

SRAM

Antifuse

EEPROM

EPROM

FLASH

SRAM

Comparatie intre schemele de rutare ale CPLD si FPGA

Circuite sincrone - configuratii nerecomandate

Buffer-area semnalelor de ceas configuratii nerecomandate

Buffer-area semnalelor de ceas - configuratie recomandata

Conditionarea semnalului de ceas printr-o poarta - configuratie nerecomandata

Sincronismul

Reset asincron configuratie nerecomandata

Reset asincron configuratie recomandata

Registre de deplasare - configuratii nerecomandate

Registre de deplasare - configuratie recomandata

Intrari asincrone - configuratie recomandata

Linii de intarziere si monostabile - configuratii nerecomandate

Linii de intarziere si monostabile - configuratie recomandata