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

Avanserte byggeblokker (Maxfield kap.13 og 17)

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

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

INF3430. Kretsteknologier Programmeringsteknologier VHDL-Access datatyper

Dataveier og optimalisering. Kapittel 9

INF3340/4340. Synkrone design Tilstandsmaskiner

Programmerbar logikk. CPLD og FPGA. Fys3270(4270)

INF3340. Tilstandsmaskiner

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

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

INF1400 Kap 0 Digitalteknikk

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

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

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

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

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

TFE4101 Krets- og Digitalteknikk Høst 2016

UNIVERSITETET I OSLO

INF3340/4431. Tilstandsmaskiner

SRAM basert FPGA INF H10 1

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

Simulering, syntese og verifikasjon (Max kap. 19)

Organisering og ledelse av hardware-utvikling

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

INF3430/4431. VHDL byggeblokker og testbenker

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

IN1020. Sekvensiell Logikk

INF1400. Sekvensiell logikk del 1

KONVENSJONELLE latcher og vipper i CMOS blir gjennomgått.

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

INF1400. Sekvensiell logikk del 1

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

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

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

INF3430. VHDL byggeblokker og testbenker

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:

Synkron logikk. Sekvensiell logikk; to typer:

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

Oppsummering av digitalteknikkdelen

UNIVERSITETET I OSLO

Repetisjon digital-teknikk. teknikk,, INF2270

Request for information (RFI) Integrasjonsplattform

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

UNIVERSITETET I OSLO

Forelesning 6. Sekvensiell logikk

INF3430/4430. Grunnleggende VHDL

INF2270. Sekvensiell Logikk

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

Forelesning 8. CMOS teknologi

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

Løsningsforslag INF1400 H04

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

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon

ITPE2400/DATS2400: Datamaskinarkitektur

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

Digital logic level: Oppsummering

Kapittel 6. Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting

Generell informasjon

UNIVERSITETET I OSLO

Del 11: Latcher og vipper

INF 3430/4430. Simuleringsmetodikk

INF 3430/4430. Simuleringsmetodikk

MAX MIN RESET. 7 Data Inn Data Ut. Load

INF Test og design for testbarhet

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

INF1400 Kap4rest Kombinatorisk Logikk

Tilstandsmaskiner (FSM) Kapittel 5

INF 3430/4431. Simuleringsmetodikk

INF1510: Bruksorientert design

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

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

IEC Utvalg av endringer i ny versjon

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN

WORKSHOP BRUK AV SENSORTEKNOLOGI

Låsekretser (latch er) SR latch bygget med NOR S R latch bygget med NAND D latch. Master-slave D flip-flop JK flip-flop T flip-flop

INF1400. Tilstandsmaskin

Del 10: Sekvensielle kretser YNGVAR BERG

Lab 5 Enkle logiske kretser - DTL og 74LS00

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

INF1400. Karnaughdiagram

GJENNOMGANG UKESOPPGAVER 9 TESTING

LØSNINGSFORSLAG 2006

Neste generasjon ERP-prosjekter

PXT: Spå fremtiden med bilder

Forskningsmetoder i informatikk

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

Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process

Fortsetelse Microarchitecture level

RETT OG SLETT LOGO GODE TIPS FOR DEG SOM SKAL KJØPE LOGO

Eksempel - DPS som en koreografi som nyttiggjør seg EHF - hvilke systemtilpasninger kreves? Wenche Ludviksen Sæther

Det matematisk-naturvitenskapelige fakultet

INF3400 Digital Mikroelektronikk Løsningsforslag DEL 10

Materiell. Dialogkonferanse Bård Henrik Sørensen, Rådgiver materiell Jon Stenslet, Leder materiell og anlegg

Forelesning 5. Diverse komponenter/større system

7 tegn på at dere bør bytte forretningssystem

I dag. Minne typar Minne mot bussar (fysisk grensesnitt generelt) Meir buss

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 - H10 1

ASIC: Application Specific Integrated Circuit (kap. 3) ASICs Gate Arrays Structured ASICs Standard Cell Full Custom Increasing complexity ASIC: Brukerutviklet IC INF3430 - H10 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 mye enklere! ASIC vs FPGA prosjekter (estimat 2003) 1500 4000 nye ASIC prosjekter hvert år 450 000 nye FPGA prosjekter hvert år INF3430 - H10 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 - H10 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 - H10 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 - H10 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 - H10 7

Pipelining i digitale systemer t 1 t 2 t 3 t 1 t 2 INF3430 - H10 8

Antall nivåer logikk 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 - H10 9

Asynkron logikk INF3430 - H10 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 - H10 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 - H10 12

Klokke enabling vs. klokke gating INF3430 - H10 13

Spesielt for FPGA implementering Klokke genereringsmoduler (DCM/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 - H10 14

Designalternativer (kap 18) INF3430 - H10 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 - H10 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 - H10 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 - H10 18

Skriving av generell kode med ren C/C++ INF3430 - H10 19