Salta al contenuto
Note per Studenti Esercizio 8 · memoria ROM a NOR, contenuto, ritardo di word line, carichi e potenza (tema d'esame settembre 2026)

Esercizio 8memoria ROM a NOR, contenuto, ritardo di word line, carichi e potenza (tema d'esame settembre 2026)

Esame
In questa pagina 7

Testo (tema d'esame 8 settembre 2026, esercizio 2). Si consideri la memoria ROM di figura.

  1. Compilare una tabella con il valore dei bit memorizzati.
  2. Sapendo che la resistenza d'uscita di ciascuna uscita del row decoder è RRD=300 ΩR_{RD}=300\ \Omega, la resistenza del polisilicio è Rpoly=70 Ω/□R_{poly}=70\ \Omega/\square, la larghezza delle interconnessioni è 0,4 μm0{,}4\ \mu\mathrm m, ciascuna cella occupa un'area quadrata di lato 8 μm8\ \mu\mathrm m, trascurando la capacità parassita del polisilicio e sapendo che gli n-MOS hanno larghezza Wn=0,8 μmW_n=0{,}8\ \mu\mathrm m, calcolare il tempo di propagazione lungo ciascuna word line.
  3. Dimensionare i p-MOS di carico in modo che la tensione del livello logico basso sia VOL=0,3 VV_{OL}=0{,}3\ \mathrm V.
  4. Supponendo che WL0WL_0 si disattivi e contemporaneamente WL1WL_1 si attivi, indicare quali bit line commutano e il tipo di transizione, e calcolare i relativi tempi di propagazione (dalla commutazione delle uscite del row decoder alla commutazione delle bit line).
  5. Calcolare il consumo di potenza statica alla fine dell'evento descritto al punto precedente.

Dati. kn′=115 μA/V2k'_n=115\ \mu\mathrm A/\mathrm V^2, kp′=−30 μA/V2k'_p=-30\ \mu\mathrm A/\mathrm V^2, VT0n=0,4V_{T0n}=0{,}4, VT0p=−0,4 VV_{T0p}=-0{,}4\ \mathrm V, λn=0,06\lambda_n=0{,}06, λp=−0,1 V−1\lambda_p=-0{,}1\ \mathrm V^{-1}, VDD=2,5 VV_{DD}=2{,}5\ \mathrm V, Rn0=13 kΩR_{n0}=13\ \mathrm{k\Omega}, Rp0=31,5 kΩR_{p0}=31{,}5\ \mathrm{k\Omega} (per Z=1Z=1), CD0=CS0=2 fF/μmC_{D0}=C_{S0}=2\ \mathrm{fF}/\mu\mathrm m, Cox=5 fF/μm2C_{ox}=5\ \mathrm{fF}/\mu\mathrm m^2, L=0,25 μmL=0{,}25\ \mu\mathrm m.

Figura (descritta). Quattro bit line BL3…BL0BL_3\ldots BL_0 (da sinistra a destra), ciascuna con un p-MOS di carico con il gate a massa verso VDDV_{DD}; le word line WL0,WL1,WL2,…WL_0,WL_1,WL_2,\dots comandano i gate di n-MOS con il source a massa e il drain sulla bit line. Transistor presenti: su WL0WL_0 in corrispondenza di BL3BL_3, BL1BL_1, BL0BL_0; su WL1WL_1 in corrispondenza di BL3BL_3, BL2BL_2; su WL2WL_2 in corrispondenza di BL2BL_2, BL1BL_1. La copia del tema a disposizione riporta solo tre word line (WL0,WL1,WL2WL_0,WL_1,WL_2), mentre il testo parla di sedici bit (quattro word line): lo svolgimento riguarda le tre righe visibili; WL3WL_3 si tratterebbe allo stesso modo.

Teoria usata: Memorie a semiconduttore - struttura a matrice, decoder e ROMLe memorie a semiconduttore si classificano in lettura/scrittura (SRAM, DRAM: volatili) e sola lettura (ROM a maschera, PROM, EPROM, EEPROM, Flash: non volatili); l'accesso è casuale o non casuale (FIFO, registri a scorrimento, CAM). La struttura è a matrice di celle: una word line (WL) seleziona una riga attraverso il decoder di riga (N indirizzi → 2^N WL), una bit line (BL) porta il dato alla colonna scelta dal decoder/multiplexer di colonna e dal sense amplifier. La ROM a NOR ha per ogni bit line un p-MOS di carico e n-MOS dove il bit è 0 (con WL alta tirano la BL a massa): compatta e veloce; la ROM a NAND ha serie di n-MOS ed è molto più piccola ma più lenta. Ritardo di una WL: R del polisilicio × C dei gate (Elmore); di una BL: C dei drain con la R dei transistor o del carico.Memorie a semiconduttore - struttura a matrice, decoder e ROM →, Logica pseudo-nMOS e logiche a caricoNella logica pseudo-nMOS (a rapporto, ratioed) la PUN della CMOS complementare è sostituita da un solo p-MOS con gate a massa, sempre acceso, che fa da carico per la PDN a n-MOS. Così servono N+1 transistor invece di 2N e la capacità di ingresso è minore, ma l'uscita bassa non è 0: V_OL si ricava uguagliando la corrente dell'n-MOS (zona lineare) a quella del p-MOS (saturazione), ed esiste potenza statica quando l'uscita è bassa (P = V_DD·I). V_OH = V_DD. Per V_OL piccola serve Z_n ≫ Z_p; il ritardo di salita è lento (carica solo il p-MOS debole: t_pLH = 0,69 R_p C_L), quello di discesa è più veloce (t_pHL ≈ 0,69 R_n C_L). Lo stesso schema (carichi p-MOS a massa) si ritrova nelle ROM a NOR.Logica pseudo-nMOS e logiche a carico →, 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 →.


1. Contenuto

In una ROM a NOR, se la riga selezionata ha un n-MOS nella colonna jj la bit line è tirata a massa (bit 00); se il transistor manca, la bit line resta a VDDV_{DD} attraverso il carico (bit 11).

parola BL3BL_3 BL2BL_2 BL1BL_1 BL0BL_0
WL0WL_0 (transistor su BL3,BL1,BL0BL_3,BL_1,BL_0) 0 1 0 0
WL1WL_1 (transistor su BL3,BL2BL_3,BL_2) 0 0 1 1
WL2WL_2 (transistor su BL2,BL1BL_2,BL_1) 1 0 0 1

(cioè WL0=0100WL_0=0100, WL1=0011WL_1=0011, WL2=1001WL_2=1001 nell'ordine BL3BL2BL1BL0BL_3BL_2BL_1BL_0.)

2. Ritardo lungo le word line

Ogni cella è larga 8 μm8\ \mu\mathrm m e la WL è larga 0,4 μm0{,}4\ \mu\mathrm m: un tratto di cella è 8/0,4=208/0{,}4=20 quadrati, r=70⋅20=1400 Ωr=70\cdot20=1400\ \Omega; quattro celle: RWL=5,6 kΩR_{WL}=5{,}6\ \mathrm{k\Omega} (lunghezza 32 μm32\ \mu\mathrm m). La capacità della pista si trascura, resta la capacità di gate degli n-MOS presenti sulla riga: Cg=CoxWnL=5⋅0,8⋅0,25=1,0 fFC_g=C_{ox}W_nL=5\cdot0{,}8\cdot0{,}25=1{,}0\ \mathrm{fF} per transistor.

La WL è una scala RC pilotata dal row decoder: RRDR_{RD} in testa, poi i tratti di resistenza rr uno per cella e un condensatore CgC_g nelle celle con transistor. Numerando k=1,…,4k=1,\dots,4 le colonne da sinistra (BL3→k=1BL_3\to k=1, ..., BL0→k=4BL_0\to k=4), il ritardo di Elmore all'estremo ktk_t è t=0,69∑kCk (RRD+min⁡(k,kt) r)t=0{,}69\sum_kC_k\,(R_{RD}+\min(k,k_t)\,r).

  • WL0WL_0 (transistor in k=1,3,4k=1,3,4): τ=1,0 fF⋅[(300+1400)+(300+4200)+(300+5600)] Ω=12,1 ps\tau=1{,}0\ \mathrm{fF}\cdot[(300+1400)+(300+4200)+(300+5600)]\ \Omega=12{,}1\ \mathrm{ps}, t=0,69⋅12,1=8,3 pst=0{,}69\cdot12{,}1=\boxed{8{,}3\ \mathrm{ps}}.
  • WL1WL_1 (transistor in k=1,2k=1,2): τ=(1700+3100) fF Ω=4,8 ps\tau=(1700+3100)\ \mathrm{fF\,\Omega}=4{,}8\ \mathrm{ps}, t=3,3 pst=\boxed{3{,}3\ \mathrm{ps}}.
  • WL2WL_2 (transistor in k=2,3k=2,3): τ=(3100+4500) fF Ω=7,6 ps\tau=(3100+4500)\ \mathrm{fF\,\Omega}=7{,}6\ \mathrm{ps}, t=5,2 pst=\boxed{5{,}2\ \mathrm{ps}}.
  • Caso limite (transistor in tutte e quattro le colonne): τ=15,2 ps\tau=15{,}2\ \mathrm{ps}, t=10,5 pst=10{,}5\ \mathrm{ps}, che è il valore massimo possibile per questa geometria. Poiché le word line sono corte (quattro celle) i ritardi sono di pochi picosecondi, molto minori di quelli delle bit line: il collo di bottiglia è la bit line (punto 4).

3. Dimensionamento del carico per VOL=0,3 VV_{OL}=0{,}3\ \mathrm V

Caso peggiore del livello basso: una sola WL attiva, un solo n-MOS acceso per colonna (Zn=Wn/L=0,8/0,25=3,2Z_n=W_n/L=0{,}8/0{,}25=3{,}2, gate a VDDV_{DD}). Con VOL=0,3 VV_{OL}=0{,}3\ \mathrm V l'n-MOS è lineare (VDS=0,3<VGT=2,1 VV_{DS}=0{,}3<V_{GT}=2{,}1\ \mathrm V) e il p-MOS di carico (VSG=2,5 VV_{SG}=2{,}5\ \mathrm V, VSD=2,2 V>VGT,p=2,1 VV_{SD}=2{,}2\ \mathrm V>V_{GT,p}=2{,}1\ \mathrm V) in saturazione: IDn=kn′Zn[VGTVOL−VOL22]=115⋅3,2 [2,1⋅0,3−0,045]=368⋅0,585=215,3 μA.I_{Dn}=k'_nZ_n\Big[V_{GT}V_{OL}-\frac{V_{OL}^2}2\Big]=115\cdot3{,}2\,[2{,}1\cdot0{,}3-0{,}045]=368\cdot0{,}585=215{,}3\ \mu\mathrm A. ∣IDp∣=∣kp′∣2Zp VGT,p2 (1+∣λp∣VSD)=15⋅2,12⋅(1+0,1⋅2,2) Zp=80,7 Zp μA.\lvert I_{Dp}\rvert=\frac{\lvert k'_p\rvert}2Z_p\,V_{GT,p}^2\,(1+\lvert\lambda_p\rvert V_{SD})=15\cdot2{,}1^2\cdot(1+0{,}1\cdot2{,}2)\,Z_p=80{,}7\,Z_p\ \mu\mathrm A. Uguagliando: Zp=215,380,7=2,67,Wp=ZpL=0,67 μm.Z_p=\frac{215{,}3}{80{,}7}=\boxed{2{,}67,\qquad W_p=Z_pL=0{,}67\ \mu\mathrm m.} Il p-MOS è molto più piccolo dell'n-MOS: deve essere un carico debole.

4. Evento: WL0WL_0 si disattiva, WL1WL_1 si attiva

Prima (WL0WL_0 attiva): BL3,…,BL0=0,1,0,0BL_3,\ldots,BL_0=0,1,0,0. Dopo (WL1WL_1 attiva): 0,0,1,10,0,1,1.

  • BL3BL_3: 0→00\to0: non commuta (il transistor di WL0WL_0 si spegne ma quello di WL1WL_1 si accende).
  • BL2BL_2: 1→01\to0: HL (si accende il transistor di WL1WL_1 in BL2BL_2).
  • BL1BL_1: 0→10\to1: LH (il transistor di WL0WL_0 in BL1BL_1 si spegne, nessun transistor di WL1WL_1 lo sostituisce).
  • BL0BL_0: 0→10\to1: LH.

Capacità delle bit line. Su ciascuna BL: drain del p-MOS (Cdp=2⋅0,667=1,33 fFC_{dp}=2\cdot0{,}667=1{,}33\ \mathrm{fF}) più un drain di n-MOS (Cdn=2⋅0,8=1,6 fFC_{dn}=2\cdot0{,}8=1{,}6\ \mathrm{fF}) per ogni transistor sulla colonna: BL3BL_3 (2 transistor), BL2BL_2 (2), BL1BL_1 (2): CBL=1,33+2⋅1,6=4,53 fFC_{BL}=1{,}33+2\cdot1{,}6=4{,}53\ \mathrm{fF}; BL0BL_0 (1 transistor): CBL0=2,93 fFC_{BL_0}=2{,}93\ \mathrm{fF}.

Resistenze: Rn=Rn0/Zn=13/3,2=4,06 kΩR_n=R_{n0}/Z_n=13/3{,}2=4{,}06\ \mathrm{k\Omega}; Rp=Rp0/Zp=31,5/2,67=11,8 kΩR_p=R_{p0}/Z_p=31{,}5/2{,}67=11{,}8\ \mathrm{k\Omega}.

Tempi (dalla commutazione del decoder alla commutazione della bit line = ritardo della WL fino alla cella + ritardo della bit line):

  • BL2BL_2 (HL): WL1WL_1 arriva al transistor in k=2k=2 dopo 3,3 ps3{,}3\ \mathrm{ps}; poi tpHL=0,69 RnCBL=0,69⋅4,06 kΩ⋅4,53 fF=12,7 pst_{pHL}=0{,}69\,R_nC_{BL}=0{,}69\cdot4{,}06\ \mathrm{k\Omega}\cdot4{,}53\ \mathrm{fF}=12{,}7\ \mathrm{ps}. Totale 16,0 ps\boxed{16{,}0\ \mathrm{ps}}.
  • BL1BL_1 (LH): WL0WL_0 scende in k=3k=3 dopo 7,4 ps7{,}4\ \mathrm{ps} (Elmore su WL0WL_0, nodo k=3k=3); poi tpLH=0,69 RpCBL=0,69⋅11,8⋅4,53=36,9 pst_{pLH}=0{,}69\,R_pC_{BL}=0{,}69\cdot11{,}8\cdot4{,}53=36{,}9\ \mathrm{ps}. Totale 44,3 ps\boxed{44{,}3\ \mathrm{ps}}.
  • BL0BL_0 (LH): WL0WL_0 in k=4k=4 dopo 8,3 ps8{,}3\ \mathrm{ps}; tpLH=0,69⋅11,8⋅2,93=23,9 pst_{pLH}=0{,}69\cdot11{,}8\cdot2{,}93=23{,}9\ \mathrm{ps}. Totale 32,3 ps\boxed{32{,}3\ \mathrm{ps}}. La salita delle bit line (attraverso il p-MOS debole) è più lenta della discesa e domina il tempo di accesso: la ROM a NOR è veloce in discesa, lenta in salita.

5. Potenza statica a fine evento

Alla fine WL1WL_1 è attiva: i transistor di WL1WL_1 sono in BL3BL_3 e BL2BL_2, quindi due bit line sono a VOL=0,3 VV_{OL}=0{,}3\ \mathrm V e attraversate dalla corrente di carico 215,3 μA215{,}3\ \mu\mathrm A (come calcolato); BL1BL_1 e BL0BL_0 sono a VDDV_{DD} senza cammino a massa: corrente nulla. Pstat=VDD⋅2⋅215,3 μA=2,5⋅430,6 μA=1,08 mW.P_{stat}=V_{DD}\cdot2\cdot215{,}3\ \mu\mathrm A=2{,}5\cdot430{,}6\ \mu\mathrm A=\boxed{1{,}08\ \mathrm{mW}.}

Verifica numerica

Python: tabella dei bit dalla posizione dei transistor; Zp=2,6676Z_p=2{,}6676 risolvendo IDn=IDpI_{Dn}=I_{Dp} con le formule del corso; ritardi di Elmore sulla WL (8,358{,}35, 3,313{,}31, 5,24 ps5{,}24\ \mathrm{ps}); tempi di bit line (16,016{,}0, 44,344{,}3, 32,3 ps32{,}3\ \mathrm{ps}); potenza 1,076 mW1{,}076\ \mathrm{mW}.

Errori comuni

  • Invertire il significato dei bit: il transistor presente codifica 00.
  • Calcolare la capacità della bit line senza il drain del p-MOS di carico o contando le celle senza transistor.
  • Usare RnR_n per tpLHt_{pLH}: la salita è del p-MOS di carico.
  • Dimenticare che durante la transizione di WL0WL_0 e WL1WL_1 conta anche il ritardo di propagazione sulla word line.
  • Contare la potenza statica per una sola bit line (sono due quelle basse) o con VDDV_{DD} al posto della corrente corretta.

Versione ripasso

Testo. ROM a NOR con carichi p-MOS a massa; RRD=300 ΩR_{RD}=300\ \Omega, Rpoly=70 Ω/□R_{poly}=70\ \Omega/\square, cella 8 μ8\ \mum, WL larga 0,4 μ0{,}4\ \mum, Wn=0,8 μW_n=0{,}8\ \mum, VOL=0,3V_{OL}=0{,}3 V; dati 0,25 μ0{,}25\ \mum a 2,52{,}5 V (kn′=115k'_n=115, kp′=−30k'_p=-30, VT=±0,4V_T=\pm0{,}4, λ=0,06;−0,1\lambda=0{,}06;-0{,}1, Rn0=13R_{n0}=13 k, Rp0=31,5R_{p0}=31{,}5 k, Cd0=2C_{d0}=2, Cox=5C_{ox}=5). Transistor: WL0WL_0 su BL3,BL1,BL0BL_3,BL_1,BL_0; WL1WL_1 su BL3,BL2BL_3,BL_2; WL2WL_2 su BL2,BL1BL_2,BL_1 (la copia del tema mostra solo tre WL).

  • Bit: transistor =0=0, assente =1=1: WL0=0100WL_0=0100, WL1=0011WL_1=0011, WL2=1001WL_2=1001.
  • WL: r=70⋅8/0,4=1400 Ωr=70\cdot8/0{,}4=1400\ \Omega per cella, Cg=5⋅0,8⋅0,25=1C_g=5\cdot0{,}8\cdot0{,}25=1 fF; t=0,69∑Ck(RRD+min⁡(k,kt)r)t=0{,}69\sum C_k(R_{RD}+\min(k,k_t)r): WL0WL_0 8,38{,}3 ps, WL1WL_1 3,33{,}3, WL2WL_2 5,25{,}2 ps (max 10,510{,}5 ps).
  • Carico: Zn=3,2Z_n=3{,}2; IDn=368⋅0,585=215,3 μI_{Dn}=368\cdot0{,}585=215{,}3\ \muA; IDp=80,7ZpI_{Dp}=80{,}7Z_p (sat, VSD=2,2V_{SD}=2{,}2) ⇒Zp=2,67\Rightarrow Z_p=2{,}67, Wp=0,67 μW_p=0{,}67\ \mum.
  • Evento WL0→WL1WL_0\to WL_1: BL3BL_3 0→00\to0; BL2BL_2 HL =3,3+12,7=16,0=3{,}3+12{,}7=16{,}0 ps; BL1BL_1 LH =7,4+36,9=44,3=7{,}4+36{,}9=44{,}3 ps; BL0BL_0 LH =8,3+23,9=32,3=8{,}3+23{,}9=32{,}3 ps (Rn=4,06R_n=4{,}06 k, Rp=11,8R_p=11{,}8 k, CBL=4,53C_{BL}=4{,}53/2,932{,}93 fF).
  • Potenza: due BL basse: 2,5⋅2⋅215,3 μ2{,}5\cdot2\cdot215{,}3\ \muA =1,08=1{,}08 mW.
  • Errori: bit invertiti; CBLC_{BL} senza p-MOS; RnR_n in salita; WL ignorata; una sola BL nella potenza.

Teoria collegata