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
Objectius
Entendre i implementar un pla de verificació i un banc de proves, i executar-lo.
Competències relacionades:
CG4,
CEE4.1,
CB7,
CTR3,
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.