Vés al contingut

Verificació de Processadors

Crèdits
6
Tipus
Complementària d'especialitat (Computació d'Altes Prestacions)
Requisits
Aquesta assignatura no té requisits , però té capacitats prèvies
Departament
AC
Web
https://docencia.ac.upc.edu/master/MIRI/PV
En completar aquest curs, els estudiants seran capaços d'entendre el paper crític de la verificació pre-silici en el disseny modern de microprocessadors. Podran identificar i aplicar diverses metodologies i tècniques de verificació, així com utilitzar eines de simulació per depurar i analitzar el comportament del disseny. Al llarg del curs, els estudiants desenvoluparan plans de verificació i crearan bancs de proves efectius utilitzant llenguatges de descripció de maquinari i llenguatges de verificació.

Professorat

Responsable

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
7.11

Competències

Computació d'altes prestacions

  • CEE4.1 - Capacitat d'analitzar, avaluar i dissenyar computadors i proposar noves tècniques de millora en la seva arquitectura.
  • Genèriques

  • CG4 - Capacitat per a la direcció general i tècnica de projectes de recerca, desenvolupament i innovació, en empreses i centres tecnològics, en l'àmbit de l'Enginyeria Informàtica.
  • Treball en equip

  • CTR3 - Ser capaç de treballar com a membre d'un equip, ja sigui com a un membre més, ja sigui realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes d'una manera pragmàtica i amb sentit de la responsabilitat; assumir compromisos tenint en compte els recursos disponibles.
  • Actitud adequada davant el treball

  • CTR5 - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.
  • Bàsiques

  • CB7 - Que els estudiants siguin capaços d'integrar coneixements i enfrontar-se a la complexitat de formular judicis a partir d'una informació que, essent incomplerta o limitada, inclogui reflexions sobre les responsabilitats socials i ètiques vinculades a l'aplicació dels seus coneixements i judicis.
  • CB8 - Que els estudiants sàpiguen comunicar les seves conclusions i els coneixements i raons darreres que les sustenten- a públics especialitzats i no especialitzats d'una manera clara i sense ambigüitats.
  • Objectius

    1. Entendre i implementar un pla de verificació i un banc de proves, i executar-lo.
      Competències relacionades: CB7, CTR3, CEE4.1, CG4,
    2. Ser capaç de proporcionar i defensar el pla de verificació i les seves fases d'execució.
      Competències relacionades: CB8, CTR3, CTR5,
    3. Utilitzar les eines EDA necessàries per dur a terme el projecte.
      Competències relacionades: CB7, CTR5,

    Continguts

    1. Introducció a la verificació pre-silici
      Per què la verificació és crucial en el disseny modern. Visió general del flux de verificació. El paper de la verificació en el disseny de microprocessadors.
    2. Planificació de verificació i bancs de proves
      Pla de verificació i objectius de cobertura. Arquitectura del banc de proves. Monitors, verificadors i comparadors de dades.
    3. SystemVerilog per a la verificació (SVV)
      Conceptes bàsics de SystemVerilog per al disseny de bancs de proves. Interfícies i blocs de sincronització. Aleatorització i restriccions. Classes, herència i polimorfisme. Transaccions (TLM).
    4. Proves dirigides i aleatoritzades
      Metodologies de proves dirigides. Generació aleatoritzada de proves. Anàlisi de cobertura de proves. Estratègies de depuració. Variació d'estímuls. Predicció vs. aleatorietat. Restriccions en la generació de proves.
    5. Assercions i cobertura funcional
      Assercions immediates vs. concurrents. Sintaxi i exemples de SVA (SystemVerilog Assertions). Cobertura funcional vs. cobertura de codi. Verificació basada en cobertura.
    6. Introducció a UVM (Universal Verification Methodology)
      Objectius i estructura d'UVM. Components d'UVM. Mecanismes de fàbrica, configuració i objecció.
    7. Bancs de proves i seqüenciació amb UVM
      Fases i flux de proves en UVM. Seqüències i elements de seqüència. Creació de proves reutilitzables. Depuració i sortida de simulació.
    8. Desafiaments específics de verificació de processadors
      Verificació de canals de CPU i lògica de control. Verificació a nivell d'instrucció i arquitectural. Gestió d'interrupcions, excepcions i riscos. Proves de conformitat amb l'ISA.
    9. Tècniques de verificació formal
      Visió general de la verificació de models i la demostració de teoremes. Comprovació d'equivalència. Comprovació de models acotats. Casos d'ús i limitacions en el disseny de microprocessadors.
    10. Verificació de rendiment i consum d'energia
      Conceptes de simulació conscient de l'energia. Estats funcionals vs. estats de baix consum. Modelatge de rendiment.
    11. Estratègies de depuració i tancament de cobertura
      Interpretació d'informes de cobertura funcional/codi. Optimització de proves per a la cobertura. Tècniques de depuració i anàlisi gràfica de les senyals.
    12. Tendències i casos d'estudi reals
      Últimes tendències en verificació (RISC-V, verificació impulsada per ML, eines formals). Revisió de casos d'estudi reals de verificació de CPU.
    13. Introducció a la validació post-silici
      Com es detecten i es corregeixen els errors en maquinari real. Eines i metodologies.

    Activitats

    Activitat Acte avaluatiu


    Introducció a la verificació pre-silici


    Objectius: 1
    Continguts:
    Teoria
    3h
    Problemes
    0h
    Laboratori
    3.4h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    4h

    Teoria
    8h
    Problemes
    0h
    Laboratori
    16.9h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    28h

    Teoria
    6h
    Problemes
    0h
    Laboratori
    3.4h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    24h

    Teoria
    6h
    Problemes
    0h
    Laboratori
    3.3h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    24h

    Tendències i validació post-silici


    Objectius: 1
    Continguts:
    Teoria
    4h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    4h

    Projecte de verificación


    Objectius: 1 2 3
    Setmana: 13 (Fora d'horari lectiu)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Metodologia docent

    Els conceptes principals de la verificació pre-silici de processadors s'introduiran a les classes de teoria. Els estudiants completaran la seva experiència d'aprenentatge amb les sessions de laboratori, on posaran en pràctica els conceptes apresos a les classes.

    Mètode d'avaluació

    El curs té dues qualificacions:
    1) Les sessions de laboratori (L)
    2) Presentació d'un projecte de verificació (P)

    La qualificació final es calcularà com: 0,4 × L + 0,6 × P.

    Bibliografia

    Bàsic

    Capacitats prèvies

    Conceptes de disseny de circuits digitals.
    Llenguatges de descripció de hardware (HDL).
    Programació i scripting.
    Principis d'arquitectura de computadors.