Design med ASIC og FPGA (Max kap.7 og 18)

Like dokumenter
Design med ASIC og FPGA (Max kap.7 og 18)

INF3430/4431. Kretsteknologier Max. kap. 3

INF 3430/4430. Viktige momenter i syntese og for valg av teknologi

Avanserte byggeblokker (Maxfield kap.13 og 17)

FYS 3270(4270) Data-assistert konstruksjon av kretselektronikk (tidligere Fys 329) Fys3270(4270)

INF3430. Kretsteknologier Programmeringsteknologier VHDL-Access datatyper

INF3430/4431. Viktige momenter i syntese og for valg av teknologi Chipscope

SRAM basert FPGA INF H10 1

Fys 3270/4270 høsten Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter.

Simulering, syntese og verifikasjon (Max kap. 19)

Dataveier og optimalisering. Kapittel 9

INF3430/4430. Grunnleggende VHDL

INF3430/4431. VHDL byggeblokker og testbenker

Programmerbar logikk. CPLD og FPGA. Fys3270(4270)

INF3340/4340. Synkrone design Tilstandsmaskiner

INF3430/4430. Grunnleggende VHDL. 11-Sep-06

INF3430. VHDL byggeblokker og testbenker

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

INF3340. Tilstandsmaskiner

Kretsteknologier (Max. kap. 3) Kretsteknologier. Kretsteknologier. Følgende gjelder for alle figurer hentet fra læreboka. Max. kap.

INF3430/4431. Introduksjon til VHDL Spartan starterkit Spartan-3 FPGA

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

TFE4101 Krets- og Digitalteknikk Høst 2016

Synkron logikk. Sekvensiell logikk; to typer:

INF3340/4431. Tilstandsmaskiner

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

INF1400 Kap 0 Digitalteknikk

INF3430/4431 Høsten Laboppgave 2 VHDL-programmering Funksjoner og prosedyrer/bibliotek Styring av sjusegmenter

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

UNIVERSITETET I OSLO

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

Organisering og ledelse av hardware-utvikling

Digital logic level: Oppsummering

INF1400 Kap4rest Kombinatorisk Logikk

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

SIE 4005, 8/10 (3. Forelesn.)

Tilstandsmaskiner (FSM) Kapittel 5

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

INF 3430/4430. Simuleringsmetodikk

INF 3430/4430. Simuleringsmetodikk

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

INF2270. Sekvensiell Logikk

INF 3430/4430. UNISIM, SIMPRIM og Vital-bibliotekene Xilinx Corelib Test og design for testbarhet

KONVENSJONELLE latcher og vipper i CMOS blir gjennomgått.

INF1400. Sekvensiell logikk del 1

UNIVERSITETET I OSLO

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

IN1020. Sekvensiell Logikk

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

INF 3430/4431. Simuleringsmetodikk

INF1400. Sekvensiell logikk del 1

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

Institiutt for informatikk og e-læring, NTNU Kontrollenheten Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

UNIVERSITETET I OSLO

Repetisjon digital-teknikk. teknikk,, INF2270

INF 3430/4430. UNISIM, SIMPRIM og Vital-bibliotekene Xilinx Corelib Test og design for testbarhet

UNIVERSITETET I OSLO

INF3430/4431. VHDL byggeblokker og testbenker forts.

INF Test og design for testbarhet

MAX MIN RESET. 7 Data Inn Data Ut. Load

Forelesning 5. Diverse komponenter/større system

Løsningsforslag INF1400 H04

Oppsummering av digitalteknikkdelen

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk

Kombinatorisk og synkron logikk. Kapittel 4

ITPE2400/DATS2400: Datamaskinarkitektur

Forelesning 6. Sekvensiell logikk

VHDL En kjapp introduksjon VHDL. Oversikt. VHDL versus C(++)/Java

UNIVERSITETET I OSLO

INF3430/4430. Kombinatoriske og sekvensielle byggeblokker implementert i VHDL :57

INF2270. Datamaskin Arkitektur

Forelesning 8. CMOS teknologi

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

1 Innhold QUICK START GUIDE FOR QUARTUS II. Prosjektgruppe 59 Side 3 av 30 1 INNHOLD 3 2 ALTERA QUARTUS II. 4

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

Bokmål / Nynorsk / English NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR FYSIKK. Eksamen TFY4185 Måleteknikk

TELE2010A Digital Systemkonstruksjon

INF3430. VHDL byggeblokker og testbenker forts.

Request for information (RFI) Integrasjonsplattform

Store design. Kapittel 6

INF3430/4431. VHDL byggeblokker og testbenker forts.

Del 11: Latcher og vipper

SIE 4005, 2/10 (2. Forelesn.)

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

UNIVERSITETET I OSLO

LØSNINGSFORSLAG 2006

INF1510: Bruksorientert design

SIE 4005, 9/10 (4. Forelesn.)

Fortsetelse Microarchitecture level

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

Øving 7: Løsningsforslag (frivillig)

MIK 200 Anvendt signalbehandling, Lab. 5, brytere, lysdioder og logikk.

Generell informasjon

360 Online. ikke bare "one size for all" Simen Myrum Forretningsutvikler Tieto, Software Innovation

INF2270. Datamaskin Arkitektur

Transkript:

Design med ASIC og FPGA (Max kap.7 og 18) Innhold: Begrensninger/muligheter å ta hensyn til ved FPGA design som en normalt slipper å tenke på med ASIC design. Migrering mellom FPGA og ASIC INF3430 - H12 1

ASIC: Application Specific Integrated Circuit (kap. 3) ASICs Gate Arrays Structured ASICs Standard Cell Full Custom Increasing complexity ASIC: Brukerutviklet IC INF3430 - H12 2

Når bør en bruke FPGA (CPLD)? (kap. 3) Status: Førstevalg for digital logikk design med unntak av hvis det er: Store krav til ytelse (dvs. høy klokkefrekvens) og vanligvis samtidig krav om lavest mulig effektforbruk Produkt skal produseres i meget stort antall Veldig komplekse design (store FPGA er er meget dyre) Analog elektronikk skal integreres på samme krets Design der minimalisering av effektforbruk er kritisk (mobile applikasjoner) Har bedriften kompetanse til ASIC design? FPGA design er veldig mye enklere! ASIC vs FPGA prosjekter (estimat 2003) 1500 4000 nye ASIC prosjekter hvert år 450 000 nye FPGA prosjekter hvert år INF3430 - H12 3

Hovedfordeler med FPGA vs. ASIC (kap. 3) Kortere utviklingstid på grunn av enkel re-programmering. Kommer raskere på markedet med produktet. Kan re-programmeres både under utvikling på lab og i system hos kunde. Nye mindre økonomisk risiko i prosjektet (produksjon av en ASIC-krets er dyrt og den kan ikke re-programmeres). INF3430 - H12 4

Forskjell i kodestil ASIC designere skriver mer portabel kode enn FPGA designere. FPGA designere kan utnytte teknologi-spesifikke lavnivå egenskaper for å oppnå mer optimalt design. For eksempel istedenfor å benytte en standard multiplekser så kan de tenkes å håndkode en egen og bruke en instans av den. Men syntese verktøyene er blitt meget gode etter hvert også for FPGA er så forskjellen i kodestil er nå liten. INF3430 - H12 5

Forskjell i kodestil (oversikt) Samlebånd (pipelining) Antall nivåer logikk Asynkron logikk Bruk av klokker Latcher og registre Funksjons/minneblokker i FPGA INF3430 - H12 6

Samlebånd (pipelining) 17:00 19:00 21:00 23:00 01:00 Tid Vask 1 Vask 2 Vask 3 17:00 19:00 21:00 23:00 01:00 Tid Vask 1 Vask 2 Vask 3 INF3430 - H12 7

Pipelining i digitale systemer Combinational Logic Combinational Logic Combinational Logic Data In etc. t 1 t 2 t 3 Registers Combinational Registers Combinational Registers Logic Logic Data In etc. t 1 t 2 Clock INF3430 - H12 8

Antall nivåer logikk Three levels of logic From previous bank of registers AND & OR NOR To next bank of registers Antall nivåer er langt mer kritisk i FPGA enn ASIC (mye lenger forplantningsforsinkelse mellom porter) når man trenger mer enn 1 LUT til logikken. FPGA bør bruke mer samlebåndsprosessering siden hver celle består av både en LUT og et register. INF3430 - H12 9

Asynkron logikk INF3430 - H12 10

Asynkron designpraksis Kan (i motsetning til ASIC) ikke ha asynkrone design siden oppførsel kan endre seg for hver gang en ruter kretsen. Tilbakekobling: For FPGA skal det alltid benyttes register i tilbakekoblingssløyfer. Forsinkelseskjeder av kombinatoriske porter er vanskelige å lage forutsigbare i FPGA. INF3430 - H12 11

Klokker Begrenset antall klokkerlinjer i FPGA begrenser antall klokkedomener. Generelle FPGA innganger kan ofte ikke brukes til klokkesignal. Her bør man nøye følge råd og dokumentasjon fra leverandøren! En slipper å tenke på justering av klokkebaner i en FPGA. Utleggsverktøyet (såkalt P&R) tar seg av dette så lenge alle tidskrav (timing constraints) er spesifisert. Klokke enabling og ikke klokke gating skal brukes på FPGA unntatt ved bruk av spesielle klokkegatings celler (for eksempel bufgce klokkebuffer i Xilinx). INF3430 - H12 12

Klokke enabling vs. klokke gating data clock gate AND & Register (a) Clock gating principle reg-out data clock clock enable (ce) BUFGCE & Register (b) Safe clock gating with Xilinx BUFGCE clock buffer MUX Register Register data enable clock reg-out data enable clock reg-out (c) Clock enabling ( then ) (d) Clock enabling ( now ) INF3430 - H12 13

Spesielt for FPGA implementering Klokke genereringsmoduler (DCM/MMCM/PLL) og klokke net klart til bruk. Registre og latcher Ikke bruk latcher i FPGA (samme gjelder egentlig for ASIC også, men i spesielle tilfeller kan det brukes både i FPGA og ASIC). Noen FPGA teknologier har mulighet både for synchron og asynchron reset og set av registere (f. eks. Xilinx), mens ASIC og enkelte FPGA leverandører kun har asynchron set og reset (f. eks. Actel). Det er begrensninger i bruk av både set og reset innganger. Ressursdeling En bør velge en FPGA krets der en tar i bruk det meste av funksjonalitet (inkl. harde funksjoner/kjerner) pga. såkalt using it or loosing it. Det kan ofte være mer effektivt, gi lavere effektforbruk og enklere design å ha adskilte funksjonsenheter (f. eks. multiplikatorer) enn å anvende ressursdeling basert på multipleksere så lenge det er nok funksjonsenheter. Tilstandmaskiner (FSM) One-hot realisering er ofte en arealeffektiv og timingeffektiv metode pga mange registere finnes i FPGA, men den er allikevel ofte ikke brukt pga. mulig med flere samtidige tilstander (dvs. ikke såkalt safe FSM). FPGA ferdig produksjonstestet ASIC er må designes for produksjon (såkalt Design for Test; DFT). INF3430 - H12 14

Designalternativer (kap 18) Existing design New design Final implementation FPGA Only N/A FPGA FPGA FPGA-to-FPGA FPGA FPGA FPGA FPGA-to-ASIC N/A FPGA ASIC ASIC-to-FPGA ASIC FPGA FPGA INF3430 - H12 15

FPGA-til-FPGA Migrerer oftest et eksisterende design til en nyere FPGA teknologi (ofte ny familie hos samme eller annen produsent). Vanlig å migrere funksjonalitet fra flere kretser (inkl. FPGAer) inn i en felles FPGA. INF3430 - H12 16

FPGA-til-ASIC En eller flere FPGAer brukes til prototyping av et ASIC design. Utfordring at ASIC ikke har de samme blokkene som FPGA: Kan lage et RTL-bibliotek av funksjoner (multiplikatorer, minneblokker,++) som finnes i FPGA (for å kunne realisere det samme i ASIC). Legger begrensninger på syntesen. En bør ikke lage forskjellig RTL-kode for FPGA og ASIC. INF3430 - H12 17

ASIC-til-FPGA Original ASIC er ute av produksjon Utvide funksjonalitet til en ASIC uten ny stor investering. Moderne FPGAer har gjort det mulig å plassere ASICer som er noen år gamle inn i en FPGA krets. Krever at en går gjennom koden og gjør nødvendige tilpasninger for FPGA (se tidligere slides). Altera har et tilbud om å ASICifisering av sine FPGAer for lavere pris og effektforbruk. INF3430 - H12 18

Skriving av generell kode med ren C/C++ User interaction and guidence Verilog / VHDL RTL RTL Synthesis LUT/CLBlevel netlist Pure C/C++ Pure C/C++ Synthesis FPGA target ASIC target Auto-generated, implementation-specific - Non-implementation-specific - Easy to create - Fast to simulate - Easy to modify Verilog / VHDL RTL RTL Synthesis Gate-level netlist INF3430 - H12 19