Transcript
  • Chair of Electrical Engineering and Computer Systems

    RWTH Aachen University

    UMIC Research Centre ● Research Area MPSoCfunded within the German Excellence Initiative

    Entwurf und Optimierung heterogenerASIP / eFPGA (rASIP) - Architekturen

    Tobias G. NollBernd Neumann, Bosch, ReutlingenTorsten von Sydow, FAG Industrial Services, HerzogenrathHolger Blume

    DFG SPP 1148 Zwischenkolloquium München 2008

  • DFG SPP1148 May, 2008 2

    Übersicht

    MotivationArithmetikorientierte eFPGAs► Architektur-Template► Entwurfsablauf► Mathematische Modellbildung► ParameteroptimierungASIP-eFPGA-Architekturen► ASIP Entwurfsablauf► Kopplungsmodi► Strukturelemente zur Kopplung► Abbildung exemplarischer AnwendungenZusammenfassung

  • DFG SPP1148 May, 2008 3

    PhysicallyPhysicallyOptimizedOptimizedStandardStandardCellCell

    FPGAFPGAFPGA w/FPGA w/HardcoreHardcore

    ASIP ASIP DSPDSPGPPGPP

    Increasing flexibility

    Increasing energy & area efficiency

    Range of Implementation Styles

  • DFG SPP1148 May, 2008 4

    FPGAStandard

    Cell

    PhysicallyOptimized

    GP-Processor

    DSP

    1E-05

    1E-04

    1E-03

    1E-02

    1E-01

    1E+00

    1E+01

    1E+02

    1E+00 1E+01 1E+02 1E+03 1E+04 1E+05 1E+06

    mW

    /M

    OPS

    MOPS / mm²

    (all entries scaled to 130 nm)

    EmbeddedARM 940T

    EmbeddedTI DSP

    Motivation: Closing the Efficiency Gap

    ◊◊◊ ◊◊

    EmbeddedFPGA Macro

    seems to be an attrac-tive compromise …

    105

    105

    FLEXIBILITY

  • DFG SPP1148 May, 2008 5

    Eigenschaften Arithmetik

    Iterativ … 2D Bit-Slice / Function-Slice Struktur

    Wenige, einfache Basisoperationen … optimierte LUTs

    Regulär … Shared SRAMs

    Inhärent lokal … dedicated interconnects (local / broadcast) …

    Bessere Effizienz für Arithmetik

    Volle Flexibilität, aber …

    I/O Power9 %

    ClockPower21 %Interconnect

    Power65 %

    CLB Power5 %

    [XC4003, Kusse‘97]

  • DFG SPP1148 May, 2008 6

    Motivation rASIP

    64 LEs

    90 nm CMOS

    6 basic cells

    82928 xtrs

    89466 µm2

  • DFG SPP1148 May, 2008 7

    eFPGA: Architektur-Template

    SR

    AMS

    RAM

    SR

    AMS

    RAM

    RSCB

    CBLEsSR

    AMS

    RAM

    SR

    AMS

    RAM

    RSCB

    CBLEs SR

    AMS

    RAM

    SR

    AMS

    RAM

    RSCB

    CBLEs

    SR

    AMS

    RAM

    SR

    AMS

    RAM

    RSCB

    CBLEsSR

    AMS

    RAM

    SR

    AMS

    RAM

    RSCB

    CBLEs SR

    AMS

    RAM

    SR

    AMS

    RAM

    RSCB

    CBLEs

    SR

    AMS

    RAM

    SR

    AMS

    RAM

    RSCB

    CBLEsSR

    AMS

    RAM

    SR

    AMS

    RAM

    RSCB

    CBLEs SR

    AMS

    RAM

    SR

    AMS

    RAM

    RSCB

    CBLEs

  • DFG SPP1148 May, 2008 8

    Architektur-Template

    SR

    AM

    SR

    AM

    SR

    AM

    SR

    AM

    RoutingSwitch

    Connection Box

    Conn.Box

    2D LE Cluster

  • DFG SPP1148 May, 2008 9

    Architektur-Template-Parameter

    Cluster:# LEs (hor. / ver.)# Broadcast-Ltg.# Shared SRAMsE/A Richtungen

    Logikelement:Funktionalität (Kernlogik)Konnektivität (DRB)

    Registerstufe:# LEs (Spalte) pro Reg.# LE Ausgänge mit Reg.Typ (Register, Latch, ...)

    Routing Switch:# LeitungenSwitch Point PositionenSwitch Point Konnektivität# Shared SRAMsSegmentlängen

    Connection Box:# Ltg. pro GruppeFenstergrößeFenstergeschwindigkeitFensterphaseFensterperiodizität# Shared SRAMs

  • DFG SPP1148 May, 2008 10

    z.B. Routing Switch# LeitungenSwitch Point PositionenSwitch Point Konnektivität# Shared SRAMsSegmentlängen

    Architektur-Template: RS Parameter

    SR

    AM

    SR

    AM

    SR

    AM

    SR

    AM

    CB

    CBLEs

    SP Positionen

    ···

    SP Konnektivität

    # Leitungen

    Shared SRAMs

    SRAM

    SRAM

    RS

  • DFG SPP1148 May, 2008 11

    Entwurfsablauf

    KonfiguratorLayout GeneratorVHDL

    Generator

    Architektur-beschreibung

    DedizierteNetzliste

    Netzlisten-simulation(Cadence)

    Funktionale Verifikation (ModelSim)

    entity eFGPA is...

    end eFPGA;

    ...01010011...

    ...11100110...

    ...00110100...

    Modell

    A T E

  • DFG SPP1148 May, 2008 12

    Modellbildung

    Implementierung der Basiszellen► Dimensionierung (iterativ)→ optimiert hinsichtlich PV

    Spezifische Netzlistensimulationen

    Charakterisierung

    Modellgleichungen für A, T, E

    ATE-Gesamtmodell

  • DFG SPP1148 May, 2008 13

    Modellbildung: Kernlogik

    SR

    AM

    SR

    AM

    SR

    AM

    SR

    AM

    CB

    CBLEs

    RS

    CCI

    conf

    CI0CI1

    CO0CO1CCO

    LUT2 LUT2 LUT2

    I0 I1 I2 I3

    O0 O1

    LUT2 in_0 in_1

    sram_0

    sram_1

    sram_2

    sram_3

    out

    XOR MUX2

  • DFG SPP1148 May, 2008 14

    Modellbildung: Modellgleichungen

    z.B. Signallaufzeit Kernlogik:

    T = f( In , On , F , RL , CL )T = f( In , On , RL , CL )T = f( In , On , l , noDRB , ngDRB )

    O0 O1O1

    I0 I1 I2 I3

    O0 O1

    I0 I1 I2 I3

    O0 O1

    I0 I1 I2 I3

    O0 O1

    : offen : geschlossen

  • DFG SPP1148 May, 2008 15

    Modellbildung: ATE-Modell

    Architektur-beschreibung

    Dedizierte Netzliste

    ATE-ModellKernlogikDRBSRAM-ZellenRegisterRouting-SwitchConn.-BoxTaktnetz

    A T E→ aufwandsgünstigeParamteroptimierung

  • DFG SPP1148 May, 2008 16

    Parameteroptimierung

    4-tap 1D-FIR-Filter

    I III

    1E-05

    1E-04

    1E-03

    1E-02

    1E-01

    1E+00

    1E+01

    1E+02

    1E+00 1E+01 1E+02 1E+03 1E+04 1E+05 1E+06

    mW

    / MO

    PS

    MOPS / mm2

    GPP

    FPGA

    physikalisch optimiert

    DSP

    Standard-zellen

    Altera Cyclone

    I:CH = CV = 4MLE = 2, MCB = 1, MRS = 4WH = WV = 8NReg = 2

    II

    II:CH = 8, CV = 4MLE = 8, MCB = 1, MRS = 2WH = 8, WV = 4NReg = 2

    III:CH = 16, CV = 4MLE = 16, MCB = 1, MRS=4WH = WV = 8NReg = 2

  • DFG SPP1148 May, 2008 17

    nein

    Processor Designer

    ASIP Entwurfsablauf

    HDLHDL.lisa

    Entwurfseinstieg (ASIP-Template)

    HDLHDL.c / .cpp

    Pro

    zess

    or-

    mod

    ell

  • DFG SPP1148 May, 2008 18

    ASIP-Template (LT_RISC)

    5-stufige Pipeline16 Register

    32-bit DatenpfadRISC-Befehlssatz

    FE/DC DC/EX EX/MEM MEM/WB

    FE DC EX MEM WB

    Programm-speicher

    Befehl

    FPC

    4

    BPC

    src1

    src2

    src3

    Bypass-Logik

    Sprung-adress-

    logikPC BSET

    Sprung-logik BSET

    op1

    op2

    op3

    Bypass-Logik

    dst

    ALU

    WBV

    WBV

    ADR

    dst dst

    Dekodier-Logik

    Daten-speicherinsn

  • DFG SPP1148 May, 2008 19

    Kopplungsmodi

    Anhalten der ASIP-Pipeline / Interrupt-

    Mechanismus

    Registerbank / Datenspeichervariabelhybrid

    Interrupt-MechanismusDatenspeicherhochLC-MEM

    Interrupt-MechanismusRegisterbankhochLC

    Anhalten der ASIP-PipelineRegisterbankniedrigTC

    Synchronisation (ASIP-eFPGA)

    Daten-kommunikation

    Komplexität der ausgelagerten Operationen

    Kopplungs-modus

  • DFG SPP1148 May, 2008 20

    CI: efpga_ci ,,,,CI: efpga_ci ,CI: efpga_ci CI: efpga_ci

    Strukturelemente zur Kopplung

    fetch

    decode

    execute

    memory

    writeback

    Speichertabelle(eFPGA Op.)

    8 6 5

    ... ... ...

    ... ... ...

    indexidx delay address Op.

    2Op. 1

    Op. 5

    Op. 4Op. 3

  • DFG SPP1148 May, 2008 21

    Digitales Empfangs-Makro für Multioperable GNSS

    (Very) low power

    Low- (better no-) cost

    High performance

    High flexibility

    Reconfigurable BlockMultioperable

    analog frontendASIP

    Data memory

    Program memory

    Dedicated Blocks

    Reconfiguration

    Fetch

    Decode

    Execute

    Writeback

    Tigh

    t cou

    plin

    g

    eFPGA

    CORDIC

  • DFG SPP1148 May, 2008 22

    Abbildung exemplarischer Anwendungen

    GPS-Empfängerarchitektur:

  • DFG SPP1148 May, 2008 23

    A/D

    Wan

    dler

    DCO

    90°PEML PRN Code Generator

    Kor

    rela

    tors

    teue

    rung

    I

    Q

    Abbildung exemplarischer Anwendungen

    Variable Anzahl der KanäleDynamisch adaptierbare Wortbreiten

    → Empfindlichkeit, AkquisitionszeitReguläre Operationen → eFPGA Realisierung auf eFPGA: parallelisierbar, flexibel

    GPS-Korrelatorkanal:

  • DFG SPP1148 May, 2008 24

    eFPGA-Operatoren (HP)

    1Operand (rs1) Operand (rs2)

    Operand (rd)

    2

    Operand (rd)

    Op. (rs1) Op. (rs2) Op. (rs3)

  • DFG SPP1148 May, 2008 25

    eFPGA-Operatoren (LP)

    oktaSMul

    oktaMAC2

  • DFG SPP1148 May, 2008 26

    eFPGA-Operatoren (CI) ― SFG (HP)

    32 Bit

    4 x 4 BitCosinus Empfangs-Signal Sinus

    4 x 8 Bit

    4 x 4 Bit 4 x 4 Bit 4 x 4 Bit 4 x 4 Bit 4 x 4 Bit

    4 x 8 Bit 4 x 8 Bit 4 x 8 Bit

    x x xx

    quadSMul

    4 x

    24

    x 2

    -

    x

    x

    x

    x

    x

    4 x

    24

    x 2

    -EM

    L

    PR

    N

    +

    +

    +

    32 Bit

    +

    32 Bit

    +

    32 Bit32 Bit

    Q-EML-Akku

    Q-PRN-Akku

    Q-EML-Akku Q-PRN-Akku

    32 Bit

    32 Bit32 BitI-EML-Akku I-PRN-Akku

    I-PRN-Akku

    I-EML-Akku

    quad

    MA

    C

    quad

    MA

    C

    quadMAC2

    quadSMul

    x

    +

    x

    x

    +

    +

  • DFG SPP1148 May, 2008 27

    Einordnung in den Entwurfsraum

    1E-05

    1E-04

    1E-03

    1E-02

    1E-01

    1E+00

    1E+01

    1E+02

    1E+00 1E+01 1E+02 1E+03 1E+04 1E+05 1E+06

    MOPS / mm2

    mW

    / MO

    PS

    GP-Prozessor

    FPGA

    physikalisch optimiert

    DSP

    Standardzellen

    HPLP

    8-Tap FIR-FilterSW-Korrelator (GPS)

    DES-VerschlüsselungMedian-Filter

    Arch. mit Multiplizierer

    LT_RISCASIP-eFPGA TCASIP-eFPGA LC-MEM

  • DFG SPP1148 May, 2008 28

    GNSS Testbeds

  • DFG SPP1148 May, 2008 29

    GNSS Testbeds

  • DFG SPP1148 May, 2008 30

    GNSS Testbeds

  • DFG SPP1148 May, 2008 31

    Zusammenfassung

    Arithmetik-orientierte eFPGAs► Enhanced Design Flow

    → vergleichbar DPG Approach► Modellbildung→ aufwandsgünstige Parameteroptimierung

    ASIP-eFPGA-Architekturen► Kopplungsmodi→ Effizienzsteigerung durch Wahl des Kopplungsmodus

    Exemplarische Anwendung► Multioperabler GPS-Empfänger→ Effizienzgewinn

  • DFG SPP1148 May, 2008 32

    Veröffentlichungen

    Neumann, B.; von Sydow, T.; Blume, H.; Noll, T. G.: "Entwurf und quantitative Analyse parametrisierbarer eFPGA-Architekturen für Arithmetik-Anwendungen", Tagungsband der URSI Kleinheubacher Tagung 2005, Sep. 2005, MiltenbergKappen, G.; Noll, T. G.: "Application Specific Instruction Processor BasedImplementation of a GNSS Receiver on an FPGA", Proceedings of the DATE'06, 2006, Münchenvon Sydow, T.; Neumann, B.; Noll, T. G.: "Quantitative Analysis of embeddedFPGA Architectures for Arithmetic", Proc. of the ASAP 2006, Colorado, Sep. 2006von Sydow, T.; Korb, M.; Neumann, B.; Blume, H.; Noll, T. G.: "Modelling and Quantitative Analysis of Coupling Mechanisms of Programmable ProcessorCores and Arithmetic Oriented eFPGA Macros", Proc. of the ReConFig'06, Sep. 2006, San Luis Potosi, Mexico, Neumann, B.; von Sydow, T.; Noll, T. G.: "Application Domain SpecificEmbedded FPGAs for Flexible ISA-Extension of ASIPs", invited Paper, JVSPS 2008von Sydow, T.; Neumann, B.; Noll, T. G.: "Design and quantitative analysis of ASIPs with eFPGA-based accelerators as flexible ISA-extension", PhD-Forum, DATE, 2007

  • DFG SPP1148 May, 2008 33

    Veröffentlichungen (cont‘d)

    Kappen, G.; el Bahri, S.; Priebe, O.; Noll, T. G.: "Evaluation of a tightly coupledASIP / Co-Processor Architecture used in GNSS receivers", Proc. ASAP, 2007, Montreal, CanadaKappen, G.; Kurz, L.; Noll, T. G.: "Comparison of ASIP and Standard Microprocessor Based Navigation Processors", Proc. TimeNav, 2007, Geneva, SwitzerlandZipf, P.; Hinkelmann, H.; Deng, L.; Glesner, M.; Blume, H.; Noll, T. G.: "A Power Estimation Model for an FPGA-based Softcore Processor", Proc. FPL, 2007, Amsterdam, NiederlandeNeumann, B.; von Sydow, T.; Blume, H.; Noll, T. G.: "Design flow for embeddedFPGAs based on a flexible architecture template", Proc. of DATE'08, 2008, Münchenvon Sydow, T.; Blume, H.; Kappen, G.; Noll, T. G.: "ASIP-eFPGA architecture formultioperable GNSS receivers", Proc. of SAMOS Workshop, 2008, SamosKappen, G.; Pieper, V.; Kurz, L.; Noll, T. G.: "Implementation and Analysis of an SDR Processor for GNSS Software Correlators", Proc. ION, 2008, Savannah, Georgia, USA

  • DFG SPP1148 May, 2008 34

    Thank you very muchfor your kind attention !

    Entwurf und Optimierung heterogener �ASIP / eFPGA (rASIP) - ArchitekturenÜbersichtRange of Implementation StylesMotivation: Closing the Efficiency GapEigenschaften ArithmetikMotivation rASIPeFPGA: Architektur-TemplateArchitektur-TemplateArchitektur-Template-ParameterArchitektur-Template: RS ParameterEntwurfsablaufModellbildungModellbildung: KernlogikModellbildung: ModellgleichungenModellbildung: ATE-ModellParameteroptimierungASIP EntwurfsablaufASIP-Template (LT_RISC)KopplungsmodiStrukturelemente zur KopplungDigitales Empfangs-Makro für Multioperable GNSSAbbildung exemplarischer AnwendungenAbbildung exemplarischer AnwendungeneFPGA-Operatoren (HP)eFPGA-Operatoren (LP)eFPGA-Operatoren (CI) ― SFG (HP)Einordnung in den EntwurfsraumGNSS TestbedsGNSS TestbedsGNSS TestbedsZusammenfassungVeröffentlichungenVeröffentlichungen (cont‘d) 1 GBase-T: Gigabit/s Ethernet Echo Canceller Macro10 GBase-T: 10 Gb/s Ethernet Echo Canceller MacroLeakage Reduction: Adaptive TechniquesArithmetic-oriented Embedded FPGAs (eFPGA)ASIP-eFPGAWhy to Optimize the Logic Cell Architecture ?Features of ArithmeticeFPGA-Operatoren (LP)Architektur-TemplateEntwurf und Optimierung heterogener �ASIP / eFPGA (rASIP) - ArchitekturenÜbersichtRange of Implementation StylesMotivation: Closing the Efficiency GapEigenschaften ArithmetikMotivation rASIPeFPGA: Architektur-TemplateArchitektur-TemplateArchitektur-Template-ParameterArchitektur-Template: RS ParameterEntwurfsablaufModellbildungModellbildung: KernlogikModellbildung: ModellgleichungenModellbildung: ATE-ModellParameteroptimierungASIP EntwurfsablaufASIP-Template (LT_RISC)KopplungsmodiStrukturelemente zur KopplungDigitales Empfangs-Makro für Multioperable GNSSAbbildung exemplarischer AnwendungenAbbildung exemplarischer AnwendungeneFPGA-Operatoren (HP)eFPGA-Operatoren (LP)eFPGA-Operatoren (CI) ― SFG (HP)Einordnung in den EntwurfsraumGNSS TestbedsGNSS TestbedsGNSS TestbedsZusammenfassungVeröffentlichungenVeröffentlichungen (cont‘d)