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
Jesus Sanchez Navarro (
)
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
7.11
Competències
Competències Tècniques de cada especialitat
Computació d'altes prestacions
CEE4.1 - Capacitat d'analitzar, avaluar i dissenyar computadors i proposar noves tècniques de millora en la seva arquitectura.
Competències Tècniques Generals
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.
Competències Transversals
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
Entendre i implementar un pla de verificació i un banc de proves, i executar-lo.
Competències relacionades:
CB7,
CTR3,
CEE4.1,
CG4,
Ser capaç de proporcionar i defensar el pla de verificació i les seves fases d'execució.
Competències relacionades:
CB8,
CTR3,
CTR5,
Utilitzar les eines EDA necessàries per dur a terme el projecte.
Competències relacionades:
CB7,
CTR5,
Continguts
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.
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.
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).
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.
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.
Introducció a UVM (Universal Verification Methodology)
Objectius i estructura d'UVM. Components d'UVM. Mecanismes de fàbrica, configuració i objecció.
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ó.
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.
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.
Verificació de rendiment i consum d'energia
Conceptes de simulació conscient de l'energia. Estats funcionals vs. estats de baix consum. Modelatge de rendiment.
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.
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.
Introducció a la validació post-silici
Com es detecten i es corregeixen els errors en maquinari real. Eines i metodologies.
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.
Conceptes de disseny de circuits digitals.
Llenguatges de descripció de hardware (HDL).
Programació i scripting.
Principis d'arquitectura de computadors.