ASIC verifikáció II. 2011.12.05

  • View
    11

  • Download
    1

Embed Size (px)

DESCRIPTION

ASIC verifikci II. 2011.12.05. e- verifik ci. Tartalom. Alapfogalmak (ismtls) A verifikcis krnyezet Constrained-random e-verifikci Check , coverage , testcase e-Reusability eRM, uVM fogalma Verifikci az eRM metodolgia felhasznlsval e-verifikcis komponensek (eVC) - PowerPoint PPT Presentation

Transcript

Slide 1

ASIC verifikci II.2011.12.05. evosoft GmbHBemutatkozsSgi PterASIC fejleszt / verifikcis mrnk

evosoft Hungary Kft.peter.sagi@evosoft.com

BME-VIK Infokomm / Mikroelektronika (2008)

BemutatkozsASIC verifikciSgi PterASIC fejleszt / verifikcis mrnk

evosoft Hungary Kft.peter.sagi@evosoft.com

BME-VIK Infokomm / Mikroelektronika (2008)

evosoft GmbHe-verifikciTartalom Alapfogalmak (ismtls) A verifikcis krnyezetConstrained-random e-verifikciCheck, coverage, testcasee-ReusabilityeRM, uVM fogalma

Verifikci az eRM metodolgia felhasznlsvale-verifikcis komponensek (eVC)Interfsz eVCModul eVCSVE (Specman Verification Environment)eVC-k implementlsa az uVM felhasznlsval evosoft GmbHe-verifikciTartalom

A Verifikcis krnyezet megtervezseHova s milyen eVC-t kell elhelyezni?Mit kell check-elni?Hol hasznljunk coverage-t?Mikor kell extra test scenario?

Az e-nyelvA nyelv jellemzi, prhuzamok ms programnyelvekkelNyelvi elemekSpecilis nyelvi elemekPldk evosoft GmbH Alapfogalmak (ismtls) evosoft GmbHAlapfogalmak (ismtls)A verifikcis krnyezetDUVVerifikcis krnyezetInterfsz komponensReferencia Modell1011001010?=checkercoverageTartalmazzaA HDL testbench-et a DUV instance-szalA testbench passzv (clock, reset genertor lehet rajta)A verifikcis komponenseket

evosoft GmbHAlapfogalmak (ismtls)Modul szint, constrained random, e-verifikci

A verifikcis szintek kivlasztsaA tovbbiakban a modul szint verifikcit trgyaljukComprehensive functional verification the complete industry cycle - szerz: Bruce Wile,John C. Goss,Wolfgang Roesner evosoft GmbHAlapfogalmak (ismtls)Modul szint, constrained random, e-verifikciHDL egy llapotaBUG-os llapotNem zemi llapotA teszt ltal bejrt llapotfuts1futs2llapotok egy tartomnyaegy tesztreEgy teszt tbb futs alatt ms utakat jrhat beA verifikcis teret felosztjuk kisebb egysgekreA szktett tartomnyon bell egy teszt hatkonyabban mkdikKi lehet zrni a nem zemi llapotokat

evosoft GmbHAlapfogalmak (ismtls)Modul szint, constrained random, e-verifikciAz e-nyelvet hasznljuk

evosoft GmbHAlapfogalmak (ismtls)Check, coverage, test scenarioCheck: Funkcik ellenrzsre alkalmas elem

Coverage: A lefedettsg mrsre alkalmas nyelvi eszkz

Test scenario: Bizonyos verifikcis forgatknyvet megvalst stimulus szekvencia

evosoft GmbHAlapfogalmak (ismtls)jrafelhasznlhatsg, eRMmy_asic_1dma_envmy_asic_2A funkcionlis verifikci mdszertannak egyik alapja az jrafelhasznlhatsg.Lnyege, hogy egy modul verifikcis krnyezett minimlis plusz munka befektetssel tudjuk hasznlni egy msik ASIC esetn isAz eRM metodolgia az jrafelhasznlhatsg alapkvetelmnyeit fogalmazza meg

dma_envmy_dmamodulemy_dmamoduleAz eRM szablyrendszere megkvetel bizonyos implementlsi szablyokatAlapegysge a verifikcis komponens (VC)A verifikcis krnyezet felptse a komponensek hierarchijn s az ket sszekt kapcsolatokon alapul

evosoft GmbH Verifikci az eRM metodolgia felhasznlsval evosoft GmbHVerifikci - eRMeVC Az eVC (e Verification Component) egy nll, konfigurlhat verifikcis krnyezet, amely ltalban egy interfsz tpus verifiklsra alkalmas.Rendelkezik minden eszkzzel, amellyel az DUV stimullhat, ellenrizhet illetve a verifikci teljessge monitorozhat.Hasznlhat nllan, vagy egy nagyobb krnyezet rszeknt.Nem egyszeri hasznlatra implementljk.Rszei titkosthatk. Ez lehetsget nyjt a bonyolultabb eVC-k vdelmre (akr a HDL IP-k esetben).Lehet olyan eset, amikor egy eVC egy msiktl fggPl.: a TCP/IP eVC hasznlhatja az Ethernet eVC-t. A TCP/IP eVC-t ennek ellenre az Ethernet eVC-tl fggetlenl fejleszthetik.PldkBusz alap eVC-k (PCI, AHB, OCP)Data kommunikci (UART, SPI, Ethernet, MAC)Magaszint (TCP/IP, HTTP) evosoft GmbHVerifikci - eRMeVC

Az eVC-k hasznlatnak elnyei:A standard (eRM-ben meghatrozott) konfigurcis felletnek ksznheten knnyedn beilleszthet egy mr meglv verifikcis krnyezetbe (plug-and-play)Felgyorstja a verifikcis folyamatotAz eVC-k struktrja minden esetben egysgesHordozhatsg ez egyes fejleszti csoportok, illetve cgek kztt (Nem szksges mindenhol ugyanazon fejleszti kompetencia kiptse, a fejlesztk a sajt problmk megoldsra sszpontosthatnak)

Htrnyok:Az eRM ltal megkvetelt eVC struktra kialaktsa sokkal tbb kd implementlsval jr

evosoft GmbHVerifikci - eRMeVC

Az eVC-k csoportostsa:Interfsz eVC egy adott tpus interfszhez kapcsoldik, s annak meghajtst, ellenrzst vgzi. Informcikat tovbbthat a verifikcis krnyezet magasabb szintjei fel.

Modul eVC nem rendelkezik aktv kapcsolattal a DUV interfszeihez, csupn bemenetknt hasznlhatja annak jeleit. ltalban a verifikcis krnyezet magasabb hierarchia szintjn helyezkedik el s az egyes interfsz eVC-khez kapcsoldik.DUVInterfsz eVCInterfsz eVCModul eVC evosoft GmbHVerifikci - eRMeVC knyvtrszerkezetReadme.txt - Az eVC csomagrl tartalmaz lerst (nv, verzi, knyvtrak)e/ - az eVC forrsfjljait tartalmazzadocs/ - az eVC dokumentcijt tartalmazzaexamples/ - pdakdok az eVC hasznlathoz (plda konfigurcis fjl)misc/ - egybsve/ - egy minta krnyezet forrsfjljait tartalmazza evosoft GmbHVerifikci - eRMAz interfsz eVC felptseEnvironment unit - ez tartalmazza az eVC sszes rszegysgt. Felhasznlskor ez kerl pldnyostsra.env_uConfigSignal MapAgentAgentConfigSignal MapSequence driverSeqSeqDUVConfig az eVC konfigurcis interfsze.Signal Map (SMP) portokat tartalmaz, amelyeken keresztl az eVC kapcsoldni tud a DUV-hoz.Synchronizer- portokat tartalmaz, amelyek kzsek a design egszre (pl. clock, reset)SynchronizerSequence driver- unit, amely koordinlja a user-defined teszt szekvencikat (Seq).Agent - unit, amely egy adott interfszhez tartoz eVC rszegysgeket tartalmazza (pl.: UART esetben 2 agent RX, TX) evosoft GmbHVerifikci - eRMAz interfsz eVC felptseMonitor unit, amely passzvan monitorozza az interfsz mkdst. Esemnyeket ill. adatokat szolgltat a tbbi rszegysg szmra.env_uConfigSignal MapAgentAgentConfigSignal MapSequence driverMonBFMSeqSeqDUVSynchronizerBus Functional Model (BFM) unit, amely kommunikl a DUV interfsszel.Collector unit, a monitor rsze, low-level monitorozst vgez, mg a magasabb szint protokoll implementlsa a monitorban trtnik.Coll evosoft GmbHVerifikci - eRMSynchronizerA synchronizer egy unit, amely design minden komponense ltal hasznlt kzs jelekhez kapcsoldik. Ilyen jelek lehetnek a klnbz rajelek s a reset jelek. Feladatai: Az rajelek ill. reset jelek detektlsa a bemeneti portokon keresztl, majd esemnyek (event) ellltsa az eVC tbbi egysge szmraSynchronizerCLK-RST genPortCLK/RSTeVCCLK/RST events evosoft GmbHVerifikci - eRMSequence, item, driverSequence item a DUV szmra bemeneti adatot vagy vezrl informcit realizl struktra (pl. egy adatcsomag, regiszter rtk stb.)Sequence struktra, a sequence item-ek folyama. ltalban magasabb szint funkcionalitst is tartalmaz ezek ellltsra vonatkozan (pl.: generlsi knyszereket, feltteleket stb.)Sequence driver unit, az tviv rteg a verifikcis krnyezet s a szekvencik kzttMind a sequence item-ek, mind a sequence-k fogadsra kpes.temezi ezek vgrehajtstA vgrehajts sorn a sequence item-ek a BFM-hez tovbbtdnak evosoft GmbHVerifikci - eRMBFMBus Functional Model a r kapcsold DUV interfsz protokolljt megvalst unit. Feladatai:Fogadja a sequence item-eket a sequence driver-tlAz item-ekben definilt paramtereknek megfelelen meghajtja az interfsztPontosan ismernie kell az interfsz protokolljnak paramtereit (pl.: idzts, adatbitek szma stb.) evosoft GmbHVerifikci - eRMCollector s MonitorCollector - a r kapcsold DUV interfsz protokolljt monitoroz unit. Feladatai:Pontosan ismernie kell az interfsz protokolljnak paramtereit (pl.: idzts, adatbitek szma stb.)Esemnyeket ill. begyjttt adatcsomagokat tovbbt a monitor egysgnekAlacsony szint protokoll checker-eket tartalmazhat

Monitor- collector-tl kapott adatok feldolgozst s tovbbtst vgz unit. Feladatai a kvetelmnyektl fggenek:Magasabb szint protokollris adatstruktrk felptseEzek ellenrzse s tovbbtsa a verifikcis krnyezet ms elemei szmra

evosoft GmbHVerifikci - eRMA modul eVC felptseenv_uConfigSignal MapRegister MapMonitorReference modelsSynchronizerScoreboardsDUVRegister map ez a struktra tartalmazza a DUV regiszter lerst.Referencia modellek a DUV funkcionalitst modellez struktrk, amelyek kimenett felhasznljuk a funkcionlis check-ek implementlsa sorn.Scoreboards specilis monitoroz egysg, ltalban adatok sorrendhelyes sszehasonltsra hasznljuk ket. evosoft GmbHVerifikci - eRMA scoreboard lehetsges kialaktsaScoreboardMonitorMonitorIF eVC 1MonitorIF eVC 2Check OK?DatDatModul eVCDat evosoft GmbHVerifikci - eRMKapcsoldsi lehetsgek a komponensek kztteVC HDL external portokkal ill. event portokkaleVC eVC n. method portokkal ill. event portokkalAz uVM metodolgia tmutatst ad univerzlis verifikcis komponensek ltrehozshozA klnfle portok hasznlata lehetv teszi az eltr verifikcis nyelveken implementlt komponensek csatlakoztatst az e krnyezethez (SystemC modell, System Verilog VC)If_env_uConfigSMPAgentAgentSequence driverSyncMonBFMmod_env_uConfigSMPRegister MapMonitorReference modelsSyncScoreboardsDUVCLK genSimple portEvent portMethod portSVEHDL TB evosoft GmbHVerifikci - eRMSVE s virtual sequence driverAz SVE-ben (Simulation and Verification Environment) pldnyostjuk s kapcsoljuk ssze az egyes komponenseket.Jellemzk:Tartalmazza az egyes hierarchia szinteken elhelyezked eVC-k pldnyaitBeimportlja az eVC-k konfigurcis fljaitDefinilja kzttk a mkdshez szksges sszekttetseket (pointerek, method-, s event portok)Tartalmazza az n. virtual seqeuence driver pldnyt

Virtual sequence driverSpecilis sequence driver.Virtulis mivel nincs dediklt sequence item-je, de sequence-i lehetnek!A tesztekben mindig a virtual MAIN sequence a szimulci futtatst irnyt f szekvenciaMivel ez a driver vgzi a szimulciban a f vezrl funkcit, clszer tartalmaznia a tbbi eVC sequence driver-eire pointereket. evosoft GmbH A verifikcis krnyezet megtervezse evosoft GmbHHDL TBSVEKrnyezet tervezseModul verifikcis krnyezetIf_env_uConfigSMPAgentAgentSequence