3 fasi - bo.infn.it · alessandro gabrielli - bo - 2/5/07 6 • convertire file monte carlo in un...
TRANSCRIPT
Alessandro Gabrielli
1.1.1.1. Progetto VHDL e Progetto VHDL e Progetto VHDL e Progetto VHDL e scalabilitàscalabilitàscalabilitàscalabilità (1024p(1024p(1024p(1024pàààà 256p)256p)256p)256p)
2.2.2.2. Simulatore/Simulatore/Simulatore/Simulatore/DebuggerDebuggerDebuggerDebugger VHDL VHDL VHDL VHDL –––– Emulatore chipEmulatore chipEmulatore chipEmulatore chip
3.3.3.3. Proposta approccio layout Proposta approccio layout Proposta approccio layout Proposta approccio layout MixedMixedMixedMixed----ModeModeModeMode
3 FASI3 FASI3 FASI3 FASI
Alessandro Gabrielli - BO - 2/5/07 2
1. 1. 1. 1. Stato del progetto VHDL 1024pStato del progetto VHDL 1024pStato del progetto VHDL 1024pStato del progetto VHDL 1024p----256p (256p (256p (256p (see see see see 16)16)16)16)
• Matrice 64 (16) MP da 4x4, 16(8) righe e 64(32) colonne (non sintetizzabile) {scalabile 5},
• ogni MP ha:
• 5 linee orizzontali che non scalano (Uscite pixel + OutEnable),
• 4 linee verticali che non scalano (ColEnable),
• 4+4 linee verticali che scalano (FastOr + LatchEnable),
• Sparsificatore in grado di leggere in parallelo gli hit sulla colonna di pixel,
• per ora non “vede” oltre 5(8) hit/colonna (DA FINIRE)
{Scalabile 1 se mantiene la struttura attuale, 4 se si usa una sparsificazione gerarchica},
• Decoder di MC: fa la scansione orizzontale e si ferma sui MP congelati {scalabile 5},
• LatchEnableBlock: congela i MP accesi quando vede il fronte del BC {scalabile 5},
• TimeStampBlock: assegna un Time di 4-bit per ogni MP {scalabile 5},
• Barrel di uscita (non shifter): può leggere fino a 8 parole di 24-bit per Rdclock (see 15),
• in uscita scrive una sola per RDclock,
• per ora non gestisce la condizione di pieno (DA FINIRE) {scalabile 4 per #parole, 2 per #bit},
• SlowControl per mascheratura MP bruciati, soft-reset ecc (DA FARE) {scalabile 5},
• Unità di controllo di tutto il readout {scalabile 1}, Scalabilità Min÷Max 0÷5
Adattabile in
≈ 1 mese
indipendentemente
dal tipo di matrice
1615
Alessandro Gabrielli - BO - 2/5/07 3
Ricapitolando: progetto Bottom-Up
1. 1. 1. 1. Stato del progetto VHDL 1024pStato del progetto VHDL 1024pStato del progetto VHDL 1024pStato del progetto VHDL 1024p----256p256p256p256p
2300
4500
Std-Cell
#
5±50%
5±50%
Power
(mW)
0.85
3.4
Matrix Area
mm2
1.45
5.7
ASIC Area
mm2
40256
401024
Freq
(MHz)
Matrix
# pixel
Slide 11
Manca il
blocco
Slow-Control
11
Alessandro Gabrielli - BO - 2/5/07 4
Il formato della parola di uscita al momento è di 14 bit validi su 24
{8-bit vuoti | 4-bit Add Parallel 16-pixel Col | 2-bit vuoti | 2-bit Col Add dentro MC | 4-bit MC Add | 4-bit TimeStamp }
({10-bit vuoti | 3-bit Add Parallel 8-pixel Col | 2-bit vuoti | 2-bit Col Add dentro MC | 3-bit MC Add | 4-bit TimeStamp })
Simulazione
completa ma
non
“debuggata”
1. 1. 1. 1. Stato del progetto VHDL 1024pStato del progetto VHDL 1024pStato del progetto VHDL 1024pStato del progetto VHDL 1024p----256p256p256p256p
Alessandro Gabrielli - BO - 2/5/07 5
2. 2. 2. 2. Simulatore/Simulatore/Simulatore/Simulatore/DebuggerDebuggerDebuggerDebugger VHDL VHDL VHDL VHDL –––– Emulatore chipEmulatore chipEmulatore chipEmulatore chip
DEMODEMO
Alessandro Gabrielli - BO - 2/5/07 6
• convertire file Monte Carlo in un formato compatibile con il simulatore VHDL,
• scrivere in formato testo le uscite (anche parziali) desiderate corrispondenti ai
pattern di ingresso,
• confrontare le uscite del simulatore VHDL con i file originati dai Monte Carlo,
• eseguire i controlli in modo automatico e segnalare dove ci sono mismatch.
2. 2. 2. 2. Simulatore/Simulatore/Simulatore/Simulatore/DebuggerDebuggerDebuggerDebugger VHDL VHDL VHDL VHDL –––– Emulatore chipEmulatore chipEmulatore chipEmulatore chip
Time: 607.659 Clk:24 BCO:6 FILE MONTE CARLO USATO
Tracks generated: 8 Fired pixels:12 Fired MP:9 Fired MC:7
Matrix :
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 …………Tanti gruppi quante sone le MC…
0000 0000 0848 0000 0000 0000 0000 0000 0000 0000 0000 ……………………………………………..
0000 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 ……………………………………………..
……………………………………………………………………………Tante righe quante sono le MR...
Time: 738.692 Clk:29 BCO:7
Tracks generated: 7 Fired pixels:11 Fired MP:8 Fired MC:6
Matrix :
0000 0000 0000 0000 0000 0000 0000 0000 2000 0000 0000 ………………………………………..
Alessandro Gabrielli - BO - 2/5/07 7
2. Simulatore/2. Simulatore/2. Simulatore/2. Simulatore/DebuggerDebuggerDebuggerDebugger VHDL VHDL VHDL VHDL –––– Emulatore chipEmulatore chipEmulatore chipEmulatore chip
Hit# 0001 Col 010 Row 015 Step# 01 ……Seguiranno le informazioni del tempo e dell’uscita formattata: DA FARE
Hit# 0002 Col 031 Row 031 Step# 02 ……
Hit# 0003 Col 042 Row 000 Step# 03 ….. ß USCITA SIMULATORE/DEBUGGER … sparsificazione
Hit# 0004 Col 047 Row 034 Step# 04 …..
Hit# 0005 Col 070 Row 044 Step# 05 …..
Hit# 0006 Col 078 Row 018 Step# 06 …..
DEMODEMO
Alessandro Gabrielli - BO - 2/5/07 8
3. Proposta approccio layout3. Proposta approccio layout3. Proposta approccio layout3. Proposta approccio layout MixedMixedMixedMixed----ModeModeModeMode
Aggiunta macrocella Matrice M××××N alle librerie ST0.13 per
SYNOPSYS-CADENCE in previsione di un futuro layout reale
Std-Cells
• conoscere a priori: le dimensioni finali di ogni pixel e della matrice stessa,
• la posizione relativa dei bus e dei layers di I/O,
• il timing almeno in prima approssimazione,
• usare interfaccia di I/O attraverso Std-Cell di libreria già caratterizzate.
• SYNOPSYS non esegue la sintesi della matrice che diventa una Black-Box,
• CADENCE vede un oggetto DI CUI NON C’E’ IL LAYOUT: (Abstract, *.LEF, *.lib)
La logica di readout si interfaccia attraverso
porte conosciute ad un oggetto “dummy” che
verrà in un secondo tempo sostituito con la
matrice reale
Alessandro Gabrielli - BO - 2/5/07 9
3. Proposta approccio layout3. Proposta approccio layout3. Proposta approccio layout3. Proposta approccio layout MixedMixedMixedMixed----ModeModeModeMode
Matrice 64 x 16, 1024 pixel, 50×50µm2 each
Dimensione totali Matrice 3200 × 800 µm2
+ power-rings = 3400 ×××× 1000 µm2
Readout attuale su 4500 Std-Cells = 2700 x 70 µm2
Dimensioni totali ASIC = 3600 ×××× 1600 µm2 %Area (Std-Cells/ASIC) = 5%
Disegno Layout Finale dell’ASIC con un CUT-&-PASTE del layout finale della matrice
Simulazione post-layout incrociata digitale + mixed-mode, Timing-Analysis: DA FARE!!
Alessandro Gabrielli - BO - 2/5/07 10
………………..
<CMD> loadConfig Scripts/Readout.conf
Reading config file - Scripts/Readout.conf
Loading Lef file /home/Library/hcmos9gp_920/SocEncounter_hcmos9gp_2.2/hcmos9gp_soc.lef...
Loading Lef file /home/Library/hcmos9gp_920/CORE9GPLL_SNPS_AVT_4.1/SIGNOFF/common/LEF/MatrixMP8x2_gabry.lef...
Initializing default via types and wire widths ...
...
Loading Lef file /home/Library/hcmos9gp_920/PR9M6_SNPS_AVT_2.1.a/SIGNOFF/common/LEF/PR9M6_ANT.lef...
Loading Lef file /home/Library/hcmos9gp_920/IOLIB_65_M6_LL_HCMOS9GP_SNPS_AVT_7.1.a/SIGNOFF/common/LEF/IOLIB_65_M6_LL_gabry.lef...
Loading Lef file /home/Library/hcmos9gp_920/IOLIB_65_3V3_M6_LL_50A_HCMOS9GP_SNPS_AVT_7.1/SIGNOFF/common/LEF/IOLIB_65_3V3_M6_LL_50A.lef...
……………
Reading timing library "/home/Library/hcmos9gp_920/MATRIX/SIGNOFF/bc_1.32V_m40C_wc_1.08V_125C/PT_LIB/MatrixMP8x2_gabry_Worst.lib" ...
**WARN: Missing leakage_power_unit declaration in library "LIB_MatrixMP8x2"! The default unit nW is used.
*info: Timing library reader read 1 cells in the library 'LIB_MatrixMP8x2'
Reading timing library "/home/Library/hcmos9gp_920/CORE9GPLL_SNPS_AVT_4.1/SIGNOFF/bc_1.32V_m40C_wc_1.08V_125C/PT_LIB/CORE9GPLL_Best.lib" ...
**WARN: Missing leakage_power_unit declaration in library "CORE9GPLL"! The default unit nW is used.
*info: Timing library reader read 693 cells in the library 'CORE9GPLL'
*** End library loading (CPU Time= 0:00:01.3 Mem= 129.1M) ***
………………..
**WARN: Can't create min and max cell relation for MatrixMP8x2. Cell not found in the min libraries.
Starting recursive module instantiation check.
No recursion found.
Flattening Cell Readout ...
*** Netlist is unique.
** info: there are 4623 modules.
** info: there are 2262 stdCell insts.
** info: there are 1 macros.
3. Proposta approccio layout3. Proposta approccio layout3. Proposta approccio layout3. Proposta approccio layout MixedMixedMixedMixed----Mode (256p)Mode (256p)Mode (256p)Mode (256p)
Alessandro Gabrielli - BO - 2/5/07 11
3. Proposta approccio layout3. Proposta approccio layout3. Proposta approccio layout3. Proposta approccio layout MixedMixedMixedMixed----ModeModeModeMode
Matrice 64 x 16, 1024 pixel, 50×50µm2 each
Dimensione totali Matrice 3200 × 800 µm2
+ power-rings = 3400 ×××× 1000 µm2
Matrice 32 x 8, 256 pixel, 50×50µm2 each
Dimensione totali Matrice 1700 × 500 µm2
+ power-rings = 1800 ×××× 800 µm2
(24à 16-bit DataOut)
3
Alessandro Gabrielli - BO - 2/5/07 12
Novembre 2006 Novembre 2006 Novembre 2006 Novembre 2006 –––– Maggio 2007Maggio 2007Maggio 2007Maggio 2007 RoadmapRoadmapRoadmapRoadmap
Alessandro Gabrielli - BO - 2/5/07 13
Luglio Luglio Luglio Luglio ---- Settembre Settembre Settembre Settembre ---- Novembre 2007Novembre 2007Novembre 2007Novembre 2007
….. sarebbe anche interessante……
…avere l’anteprima per questo approccio sugli
ASIC Mixed-Mode per la fisica!
• I primi pareri di ritorno (CERN, CMP) sull’approccio proposto sono più
che favorevoli, seppur con le cautele del caso
• Aggiornamento del VHDL in 3 settimane dalle specifiche
• Aggiornamento del simulatore/debugger in 3 settimane dalle specifiche
• Turn-around del layout in una settimana se cambia la matrice da M1×N1 a
M2×N2, senza caratterizzazione,
Fine Talk
Alessandro Gabrielli - BO - 2/5/07 14
BACKUP SLIDES
Alessandro Gabrielli - BO - 2/5/07 15
Ricapitolando: progetto Bottom-Up
Matrice 64(16) MP4-bit TimeStamp per 64(16) MP
Singolo MP
Barrel_Out 24-bit 8-word
Latch Enable per 64(16) MP
Sparsifier per lettura 1÷5(1÷8) pixel
Decoder 64(32)
MacroColonne “token-like”
Sono tutti blocchi
sintetizzabili tranne la
Matrice 64(32) x 16(8)
Readout
Control
Unit
Slow
Control
1024p/256p
4500/2300
Std-Cells
≈5mW
@
40 MHz di
partenza
1. Stato del progetto VHDL 1024p1. Stato del progetto VHDL 1024p1. Stato del progetto VHDL 1024p1. Stato del progetto VHDL 1024p----256p256p256p256p
Alessandro Gabrielli - BO - 2/5/07 16
1. Stato del progetto VHDL1. Stato del progetto VHDL1. Stato del progetto VHDL1. Stato del progetto VHDL
Barrel circolare, non shifter, sintetizzabile su FF, non usa librerie tipo DesignWare
WORD
0
1
N
2Puntatore Lettura
Puntatore Scrittura
• 24-bit WORD corrispondente al bus di uscita del chip,
• lunghezza N della coda: 8?
• Si gestiscono in parallelo un Puntatore_Scrittura sulla prima
WORD libera ed un Puntatore_Lettura sulla prima WORD
ancora da leggere
• I due puntatori circolano in modo clock-wise: dopo N tornano a 0
• Se i due puntatori coincidono il Barrel è vuoto e non ci sono dati
da far uscire,
• Nel caso limite Puntatore Scrittura = Puntatore Lettura + N,
significa che il Barrel è pieno, si mette in attesa il readout delle
MC senza disattivare LatchEnable (DA FARE)
1) I bit dentro non “shiftano” mai, ciò che “shifta” sono i puntatori: limitazione del consumo,
2) Per ogni RDclock si legge una WORD che passa in uscita al chip,
3) Per ogni clock si possono scrivere, compatibilmente alle WORD libere, tante WORD quanti sono gli
hit ( ≤≤≤≤ 8 ) di una colonna della matrice globale
4) Valido per diverse matrici: 1024àààà 256
2
Alessandro Gabrielli - BO - 2/5/07 17
1. Stato del progetto VHDL 1024p1. Stato del progetto VHDL 1024p1. Stato del progetto VHDL 1024p1. Stato del progetto VHDL 1024p----256p256p256p256p
2