Salta al contenuto
Note per Studenti Esercizio 19 · quesiti rapidi su processo di fabbricazione, FPGA e laboratorio (temi d'esame 2024-2026)

Esercizio 19quesiti rapidi su processo di fabbricazione, FPGA e laboratorio (temi d'esame 2024-2026)

Esame

Questa pagina non ha ancora la versione ripasso: qui sotto c'è il testo completo.

In questa pagina 10

Quesiti a risposta multipla sul processo CMOS, i dispositivi programmabili, le FPGA e le esperienze di laboratorio dai temi di settembre 2024 (e settembre 2026), giugno 2025 e luglio 2026, più due quesiti della raccolta di esempi. Nessuno di questi temi ha la chiave: le risposte sono ricavate dalla teoria.

Teoria usata: Processo di fabbricazione CMOS, layout e parassitiUn circuito integrato CMOS si realizza su un wafer di silicio con una sequenza di passi fotolitografici: ogni maschera ottica riporta la geometria planare di uno strato (layer) e permette di sviluppare in modo selettivo il fotoresist, che protegge le zone non da attaccare o da drogare. Ordine: regioni attive e trincee di isolamento (STI), impianto delle well, deposizione e sagomatura del polisilicio (gate), impianto di source/drain (n+ e p+, il polisilicio si droga insieme), contatti e via, piste metalliche. Il progettista descrive il circuito con il layout (una maschera per layer) nel rispetto delle regole di layout (spessore, spaziatura, sovrapposizione), verificate dal DRC. Gli elementi parassiti sono resistenze (R = R_□·L/W), capacità (area più bordo, C = C_A·A + C_b·P) e transistor bipolari; le interconnessioni lunghe hanno ritardo ≈ 0,38 R C (rete distribuita). Il package deve avere basse parassite, robustezza, smaltimento del calore e costo basso.Processo di fabbricazione CMOS, layout e parassiti →, Dispositivi logici programmabili - PROM, PLA, PAL e CPLDUn componente logico programmabile (PLD) è un circuito integrato a catalogo la cui funzione logica viene fissata da una programmazione che altera la struttura del circuito (non va confusa con la programmazione software di un microprocessore). I meccanismi sono fusibili, antifusibili (una volta), EPROM/EEPROM/Flash (reversibili e non volatili) e celle SRAM (reversibili ma volatili). Le architetture semplici (SPLD) sono due piani AND-OR: PROM (AND fisso, cioè un decoder di tutti i mintermini, OR programmabile), PLA (entrambi programmabili, dimensione indipendente dal numero di ingressi, più lenta) e PAL (AND programmabile, OR fisso, più veloce). I CPLD sono matrici di blocchi SPLD con interconnessioni programmabili, le FPGA hanno molti blocchi logici piccoli (LUT + registro) in una griglia di interconnessioni complessa, configurata da SRAM.Dispositivi logici programmabili - PROM, PLA, PAL e CPLD →, FPGA - LUT, slice e risorse della famiglia 7Una FPGA è una matrice di blocchi logici configurabili (CLB) immersi in una griglia di interconnessioni programmabili, con risorse dedicate: block RAM, blocchi DSP, gestione del clock (MMCM, PLL), blocchi di I/O e transceiver. La memoria di configurazione è SRAM. L'elemento base è la LUT: una memoria SRAM con 2^k celle che realizza una qualsiasi funzione di k ingressi (i segnali di selezione del multiplexer sono gli ingressi della funzione). Nella famiglia 7 di Xilinx un CLB ha 2 slice; uno slice ha 4 LUT a 6 ingressi (ciascuna divisibile in due LUT a 5), multiplexer larghi F7/F8 (funzioni a 7-8 ingressi), una catena di riporto veloce, 4 flip-flop/latch più 4 flip-flop. Nei SLICEM la LUT può essere usata come RAM distribuita o registro a scorrimento (SRL32), nei SLICEL solo come logica.FPGA - LUT, slice e risorse della famiglia 7 →, Rappresentazione dei numeri e dell'informazioneUn'informazione digitale è una stringa di bit. Numeri senza segno: N bit rappresentano 0…2^N − 1; in esadecimale ogni cifra raggruppa 4 bit. Numeri con segno: complemento a due (range −2^(N−1)…2^(N−1) − 1; si nega invertendo i bit e sommando 1; il bit più significativo è il segno e l'estensione di segno lo replica). Il BCD codifica ogni cifra decimale con 4 bit (0…9) e si ottiene dal binario con l'algoritmo double dabble (shift a sinistra, e +3 a ogni gruppo maggiore di 4 prima dello shift). Il codice Gray cambia un solo bit tra valori consecutivi. I numeri frazionari si trattano in virgola fissa (4 bit di parte frazionaria = multipli di 1/16), i caratteri in ASCII, gli errori con un bit di parità.Rappresentazione dei numeri e dell'informazione →.


1. Maschere (settembre 2024, settembre 2026, giugno 2025, luglio 2026)

Le maschere usate in un processo di fabbricazione CMOS servono per: a. bloccare il flusso di ioni ad alta energia durante l'impiantazione; b. impedire la crescita di ossido spesso nelle regioni di gate; c. sviluppare in modo selettivo il photoresist. (Luglio 2026:) Nel layout, una maschera descrive: a. la geometria planare di uno specifico layer tecnologico; b. la sola netlist logica; c. il programma eseguito dal chip.

Risposte: c (e a). La maschera ottica porta il disegno planare di un layer; la luce UV la attraversa e rende il fotoresist solubile (o insolubile) solo nelle zone disegnate, quindi lo sviluppo del resist è selettivo. Bloccare gli ioni o la crescita dell'ossido sono funzioni del resist già sviluppato (o del nitruro): la maschera le rende possibili ma non le esegue.

2. Fotoresist (luglio 2026; raccolta di esempi)

Il fotoresist è un materiale utilizzato per: a. proteggere selettivamente alcune zone durante esposizione e attacco; b. realizzare le piste metalliche finali; c. formare il canale conduttivo del MOS.

Risposta: a. Il resist definisce in modo selettivo le aree da proteggere durante un passo di processo (attacco chimico, impianto). Non fa crescere l'ossido e non deposita metalli.

3. Materiale del gate (giugno 2025)

Nel layout di un MOS i gate sono tipicamente realizzati in: a. Metal1; b. ossido di campo; c. polisilicio.

Risposta: c. Il gate è di polisilicio (autoallineato a source e drain, che vengono impiantati dopo la sua definizione): il Metal1 serve per le interconnessioni e l'ossido di campo isola le regioni attive.

4. Ordine dei passi di processo (raccolta di esempi)

Ordinare dal primo all'ultimo: (a) scavo di contatti e via e deposizione delle piste metalliche; (b) impiantazione delle well; (c) impiantazione di source, drain e contatti di substrato; (d) deposizione e sagomatura del polisilicio; (e) definizione delle regioni attive e delle trincee di isolamento.

Ordine: e, b, d, c, a (attive e trincee →\to well →\to polisilicio →\to source/drain →\to contatti e metalli).

5. Componenti logici programmabili (settembre 2024, settembre 2026)

I componenti logici programmabili (PLD): a. eseguono in sequenza le istruzioni dettate da un apposito software; b. sono dispositivi progettati e realizzati per uno scopo determinato e definitivo; c. sono componenti a catalogo che vengono programmati per eseguire una particolare funzionalità logica.

Risposta: c. La programmazione cambia i collegamenti (non è un programma in esecuzione) di un componente standard.

6. Block RAM (luglio 2026)

Le Block RAM presenti nelle FPGA sono: a. realizzate usando esclusivamente LUT; b. blocchi di memoria dedicati integrati nel chip; c. memorie esterne collegate al package.

Risposta: b. Sono blocchi dedicati (per esempio 36 kb36\ \mathrm{kb} con configurazioni da 32k×132\mathrm k\times1 a 512×72512\times72), distinti dalla RAM distribuita realizzata nelle LUT degli slice (FPGA - LUT, slice e risorse della famiglia 7Una FPGA è una matrice di blocchi logici configurabili (CLB) immersi in una griglia di interconnessioni programmabili, con risorse dedicate: block RAM, blocchi DSP, gestione del clock (MMCM, PLL), blocchi di I/O e transceiver. La memoria di configurazione è SRAM. L'elemento base è la LUT: una memoria SRAM con 2^k celle che realizza una qualsiasi funzione di k ingressi (i segnali di selezione del multiplexer sono gli ingressi della funzione). Nella famiglia 7 di Xilinx un CLB ha 2 slice; uno slice ha 4 LUT a 6 ingressi (ciascuna divisibile in due LUT a 5), multiplexer larghi F7/F8 (funzioni a 7-8 ingressi), una catena di riporto veloce, 4 flip-flop/latch più 4 flip-flop. Nei SLICEM la LUT può essere usata come RAM distribuita o registro a scorrimento (SRL32), nei SLICEL solo come logica.FPGA - LUT, slice e risorse della famiglia 7 →).

7. Double Dabble (luglio 2026)

Nei laboratori è stato usato l'algoritmo Double Dabble. Serve a: a. convertire un numero binario in BCD; b. convertire BCD in Gray; c. convertire esadecimale in complemento a due.

Risposta: a. Si fa scorrere il binario a sinistra nel registro BCD, correggendo prima di ogni shift con +3+3 i gruppi maggiori di 44. Esempi a 1313 bit (le cifre di un numero a 44 gruppi): 4000=1111 1010 00002→0100 0000 0000 00004000=1111\,1010\,0000_2\to0100\ 0000\ 0000\ 0000 (BCD 40004000); 1234→0001 0010 0011 01001234\to0001\ 0010\ 0011\ 0100; 8191→1000 0001 1001 00018191\to1000\ 0001\ 1001\ 0001 (verificati con Python, 1313 passi).

8. Display a 7 segmenti e debouncing (giugno 2024, luglio 2025)

  • Con fclk=100 MHzf_{clk}=100\ \mathrm{MHz} e un contatore a kk bit che scandisce gli 88 display, il ciclo completo 2kTclk2^kT_{clk} deve stare tra 11 e 16 ms16\ \mathrm{ms}: k=17,…,20k=17,\dots,20 (1,311{,}31 e 10,5 ms10{,}5\ \mathrm{ms}); con k=19k=19 ogni cifra resta accesa 0,66 ms0{,}66\ \mathrm{ms}.
  • Il rimbalzo di un pulsante dura meno di 10 ms10\ \mathrm{ms}: si campiona con un clock opportuno e uno o più flip-flop.

Verifica numerica

Python: double dabble a 1313 bit sui valori citati; durate del ciclo di scansione per k=17k=17–2020.

Errori comuni

  • Dire che la maschera blocca gli ioni: lo fa il resist sviluppato.
  • Pensare che il gate sia in metallo.
  • Dire che le Block RAM sono fatte con LUT.
  • Applicare la correzione +3+3 dopo lo shift nel double dabble.

Esercizio 19 - quesiti rapidi su processo di fabbricazione, FPGA e laboratorio (temi d'esame 2024-2026)

  • Maschera: geometria planare di un layer, serve a sviluppare in modo selettivo il fotoresist (c, a); fotoresist: protegge selettivamente (a); gate: polisilicio (c).
  • Ordine dei passi: e (attive e trincee), b (well), d (polisilicio), c (S/D), a (contatti e metalli).
  • PLD: componenti a catalogo programmati con la funzione (c).
  • Block RAM: blocchi dedicati integrati (b); Double Dabble: binario →\to BCD (1234→0001 0010 0011 01001234\to0001\,0010\,0011\,0100).
  • Lab: scansione display 2kTclk∈[1,16]2^kT_{clk}\in[1,16] ms (k=17k=17-2020); debouncing con clock e FF.
  • Errori: maschera = blocco ioni; gate in metallo; BRAM = LUT; +3+3 dopo lo shift.

Teoria collegata