Vés al contingut

VLSI

Crèdits
6
Tipus
Complementària d'especialitat (Enginyeria de Computadors)
Requisits
Departament
AC
Web
http://docencia.ac.upc.edu/FIB/grau/VLSI
A l'assignatura de VLSI, l'estudiant adquirirà els coneixements necessaris per dissenyar i verificar circuits digitals. El temari ofereix una aproximació detallada i progressiva al procés de fabricació d'un processador actual (5% del contingut total del curs). S'hi tracten especialment el disseny VLSI a nivell de transistor CMOS (15%) i, de manera molt aprofundida, les tècniques de verificació funcional dels dissenys, que constitueixen la part principal de l'assignatura (80%). L'objectiu és capacitar l'alumne per afrontar projectes reals amb una base sòlida tant en disseny CMOS com en verificació. L'avaluació de l'assignatura es farà mitjançant l'elaboració de les pràctiques del curs i un projecte que serà presentat oralment.

Professorat

Responsable

Hores setmanals

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

Competències

Competències tècniques comunes

  • CT6 - Demostrar coneixement i comprensió del funcionament intern d'un computador i del funcionament de les comunicacions entre ordinadors.
    • CT6.2 - Demostrar coneixement, comprensió i capacitat d'avaluar l'estructura i l'arquitectura dels computadors, i els components bàsics que els componen.
  • Sostenibilitat i compromís social

  • G2 [Avaluable] - Conèixer i comprendre la complexitat dels fenòmens econòmics i socials típics de la societat del benestar. Ser capaç d'analitzar i valorar l'impacte social i mediambiental.
    • G2.3 - Tenir en compte les dimensions social, econòmica i ambiental, i el dret a la privacitat a aplicar solucions i dur a terme projectes coherents amb el desenvolupament humà i la sostenibilitat.
  • Especialitat enginyeria de computadors

  • CEC1 - Dissenyar i construir sistemes digitals, incloent computadors, sistemes basats en microprocessadors i sistemes de comunicacions.
    • CEC1.1 - Dissenyar un sistema basat en microprocessador/microcontrolador.
    • CEC1.2 - Dissenyar/configurar un circuit integrat utilitzant les eines de software adients.
  • CEC2 - Analitzar i avaluar arquitectures de computadors incloent plataformes paral·leles i distribuïdes, i desenvolupar i optimitzar software per a aquestes plataformes.
    • CEC2.1 - Analitzar, avaluar, seleccionar i configurar plataformes hardware per al desenvolupament i l'execució d'aplicacions i serveis informàtics.
    • CEC2.2 - Programar considerant l'arquitectura hardware, tant en assemblador com en alt nivell.
    • CEC2.3 - Desenvolupar i analitzar software per a sistemes basats en microprocessadors i les seves interfícies amb usuaris i altres dispositius.
  • CEC3 - Desenvolupar i analitzar hardware i software per a sistemes encastats i/o de molt baix consum.
    • CEC3.2 - Desenvolupar processadors específics i sistemes encastats; desenvolupar i optimitzar el software d'aquests sistemes. 
  • Objectius

    1. Conèixer les etapes en el disseny d'un circuit integrat. Conèixer les eines disponibles a cada etapa.
      Competències relacionades: CEC1.1, CEC1.2,
    2. Avaluar els circuits integrats dissenyats en el curs segons les figures de mèrit explicades que inclouen la dimensió econòmica i ambiental.
      Competències relacionades: G2.3, CEC1.2,
    3. Conèixer els diferents llenguatges de descripció de hardware. Ser capaç de programar estructures senzilles en un d'ells.
      Competències relacionades: G2.3, CEC1.2,
    4. Entendre unes especificacions de disseny de hardware, desenvolupar un testbench, executar-ho i ser capaç de trobar errades al codi de disseny.
      Competències relacionades: CEC2.3, CEC3.2, CEC2.2, CT6.2,
    5. Presentar en públic un pla de verificació, i el resultat de l¿execució del pla. Saber donar per acabat la verificació d¿un bloc de hardware.
      Competències relacionades: G4.3, CEC2.1,

    Continguts

    1. Descripció del curs
      Presentació. Objectius. Fases en el desenvolupament d'un processador.
    2. Introducció al disseny VLSI a nivell de transistors CMOS
      Descripció de les etapes i les eines utilitzades en el disseny VLSI, des de l'especificació del sistema fins a la implementació en un circuit integrat.
    3. La cel.la estàndard
      Disseny amb cel·les CMOS estàndard: principis, disposició i optimització per a circuits digitals.
    4. Introducció a la verificació pre-silici
      Què és la verificació pre-silici? Relació entre disseny i verificació. Tipus i objectius de la verificació. Entorns i eines de simulació
    5. Planificació de la verificació i testbenchs
      Estructura bàsica i components d'un testbench. Pla de verificació. Tipus d'estímuls.
    6. SystemVerilog per a la verificació
      Introducció a SystemVerilog orientat a verificació. Tipus de dades. Classes i herència. DPI.
    7. Assercions i cobertura funcional
      Tipus d'assercions. SVA. Cobertura funcional.
    8. Introducció a UVM (Universal Verification Methodology)
      Per què UVM? Components d'un testbench UVM. Configuració i integració
    9. UVM avançat i pràctica
      Seqüències. Fàbrica UVM. Bones pràctiques i patrons de disseny.
    10. Verificació de microprocessadors
      Reptes a les diferent etapes del pipeline. Verificació de l'ISA. Verificació de coherència de
      caches. Verificació del rendiment i el consum.
    11. Verificació formal
      Què és la verificació formal? Assercions com a base formal. Límits i avantatges del mètode.
    12. Depuració, cobertura i tendències
      Estratègies de depuració. Com llegir i tancar la cobertura funcional. Verificació continua.
    13. Introducció a la validació post-silici
      Com es detecten i solucionen errors en hardware real. Eines i metodologies.

    Activitats

    Activitat Acte avaluatiu


    Teoria
    6.5h
    Problemes
    0h
    Laboratori
    7h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    18h

    Teoria
    7.5h
    Problemes
    0h
    Laboratori
    9h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    18h

    Teoria
    7.5h
    Problemes
    0h
    Laboratori
    10.5h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    18h

    Verificació especialitzada i formal


    Objectius: 3 4
    Continguts:
    Teoria
    4.5h
    Problemes
    0h
    Laboratori
    3.5h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    12h

    Depuració, tendències i validació


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

    Projecte de verificació


    Objectius: 3 4 5
    Setmana: 14 (Fora d'horari lectiu)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Metodologia docent

    Les classes de teoria desenvoluparan els continguts mencionats anteriorment, un per setmana, i utilitzant transparències (que seran compartides amb els alumnes). Es valorarà la participació i dinamisme del alumnes a classe.

    A les classes de laboratori s'aplicaran els conceptes desenvolupats a teoria, aprenent a la pràctica com fer servir eines d'EDA per dissenyar i/o verificar blocs de hardware que podem trobar a un microprocessador actual.

    El curs es desenvolupa de forma constructiva. És a dir, es parteix dels conceptes adquirits en les assignatures precedents i en cada tema s'incrementen els coneixements i habilitats de l'alumne.

    Mètode d'avaluació

    Hi han 2 elements:

    1) Laboratori (L): nota de laboratori, que es calcularà a partir de cadascuna de les entregues.
    2) Presentació (P): exposició oral i individual sobre un projecte complert de verificació.

    La nota final es calcularà com a: NF = 0.4 x L + 0.6 x P

    El nivell d'assoliment de la competència genèrica s'avalua indirectament a partir de les notes
    de laboratori i l¿exposició oral. La nota corresponent és:

    A si 8.5 <= NF; B si 7 <= NF < 8.5; C si 5 <= NF < 7; D si NF < 5

    Bibliografia

    Bàsic

    Complementari

    Capacitats prèvies

    Les enumerades en les assignatures d'IC, EC, PE i AC.