Il Margine Operativo del Canale, o COM, non è ben compreso. Poiché non è ben compreso, molte persone dubitano che significhi realmente qualcosa. Dopotutto, come può la qualità di un canale essere rappresentata solo da un numero in decibel? Si scopre che il COM è in realtà l'ultimo passo evolutivo in una lunga progressione di tecniche di validazione del canale utilizzando schemi oculari. Questo blog traccerà l'evoluzione del COM fino alle sue radici e darà un significato alla famigerata metrica COM.
Iniziamo con i modelli oculari. I modelli oculari sono un modo per osservare un lungo flusso di dati seriali. Prima dell'introduzione di Keysight ADS e PyBERT [1] [2], un modello oculare veniva misurato con un oscilloscopio digitale campionatore o un oscilloscopio in tempo reale. Nella finestra del modello oculare, le unità dell'asse y sono in volt e quelle dell'asse x sono in tempo, che copre due intervalli unitari. Un intervallo unitario, o UI, è la quantità di tempo necessaria affinché un bit venga trasmesso. Così, in due UI di tempo, è possibile centrare un bit di dati sullo schermo con un margine di mezzo bit da ogni lato. Tuttavia, invece di visualizzare solo un bit, tutti i bit vengono sovrapposti, uno alla volta, fino a quando l'intero flusso di dati seriali appare sullo schermo. La qualità del segnale è quantificata dalla dimensione del buco al centro. Se il modello oculare appare davvero buono, potreste sentire un ingegnere dire: "Potresti farci passare un camion attraverso quell'occhio!" I modi più comuni per quantificare l'apertura sono larghezza, altezza o area. L'incrocio dell'occhio nel punto DC è il jitter, e il jitter è tipicamente misurato statisticamente con un istogramma.
Figura 1. Esempio di un flusso di bit seriali.
Le prime specifiche dei canali, e in alcuni casi quelle dei componenti passivi, utilizzavano qualcosa chiamato maschera dell'occhio per i criteri di superamento/fallimento. Una maschera dell'occhio è solitamente un'area a forma di diamante definita da una larghezza e un'altezza dell'occhio. Un occhio che supera il test ha solo un certo numero di campioni rilevati o colpi, all'interno della maschera dell'occhio. I modelli di uni e zeri sono dettati dallo standard e sono solitamente sequenze di bit pseudo-casuali o pattern PRBS. È possibile fondamentalmente raggruppare i modelli in due categorie: prima e dopo 10 Gb/s. Prima di 10 Gb/s, la codifica 8b10b era utilizzata nella maggior parte dei sistemi e PRBS 7 era il pattern appropriato. Quando i 10 Gb/s sono stati introdotti dall'IEEE in 802.3ba, la codifica è passata a uno scrambler 64b66b e PRBS 31 ha preso il sopravvento. Ancora oggi, a 112 Gb/s, PRBS 31, o QPRBS 31, è ancora il pattern standard più utilizzato.
Cronologicamente dopo aver misurato i pattern oculari, StatEye è il metodo successivo per qualificare i canali passivi, ed è stato ampiamente utilizzato dall'OIF. L'idea dietro StatEye è spiegata in dettaglio qui: [3] In breve, StatEye prevede i pattern oculari utilizzando una risposta agli impulsi di un sistema. Una risposta agli impulsi è la risposta nel dominio del tempo di un sistema eccitato con un impulso quadrato di una UI, e il sistema è un canale passivo che include l'equalizzazione. Le tecnologie di equalizzazione disponibili in StatEye sono FFE, CTLA e DFE. La funzione di trasferimento di un sistema è raccolta dagli S-parametri. Poiché gli S-parametri di un canale possono essere simulati, StatEye è un modo efficiente per provare molti canali e impostazioni di equalizzazione per vedere cosa funziona. Tutto questo, mentre la maschera oculare è il criterio di passaggio/fallimento utilizzando l'apertura dell'occhio prevista statisticamente.
Da qualche parte tra StatEye e COM, l'analisi della distorsione di picco (PDA) è diventata piuttosto comune. Il metodo è ben documentato da Heck e Hall in Advanced Signal Integrity for High Speed Digital Designs [4]. In sintesi, utilizza la stessa risposta all'impulso di StatEye, ma il suo risultato è semplicemente la cosiddetta apertura dell'occhio nel caso peggiore. La PDA non inventa dati, ed è per questo che personalmente mi piace. L'ho implementata io stesso e ho trovato che la PDA prevede con alta fiducia i modelli di occhio nel caso peggiore. Tuttavia, PDA e StatEye non includono l'impatto del trasmettitore e del ricevitore nel canale, e devi trovare manualmente la migliore impostazione di equalizzazione.
Figura 2: Esempio di un Modello di Occhio in blu e PDA in tratteggio nero.
COM è stato sviluppato come parte dello standard IEEE 802.3bj, Ethernet 100GBASE, e ha aggiunto le imperfezioni dell'IC al canale simulato. È più facile da usare e più ampiamente adottato rispetto a StatEye, ed è lo strumento di previsione della qualità del canale de facto oggi. Come ho già menzionato, COM si basa su StatEye e aggiunge diverse nuove fonti di rumore. Specificamente, le fonti di rumore sono la perdita dall'IC, le riflessioni del pacchetto dell'IC, il jitter relativo all'IC e una fonte di rumore gaussiano aggregato per tutto il resto che accade nell'IC, come il crosstalk. L'implementazione di COM si trova nell'Annex 93A dello standard IEEE 802.3 [5].
La maggior parte della matematica dietro COM è semplificata dal corpo standard il più possibile. Ad esempio, la concatenazione dei parametri S è ridotta all'algebra invece che alle conversioni dai parametri S ai parametri ABCD o T e alla moltiplicazione di matrici. L'equazione più difficile è il calcolo della funzione di densità di probabilità (PDF) del rumore relativo all'ISI, ma dopo alcuni tentativi non è davvero così male. Ci sono alcune omissioni che sono considerate specifiche dell'implementazione, come garantire 32 punti campione all'interno di ogni UI di dati, ma questi dettagli possono essere trovati all'interno del codice open-source fornito gratuitamente dall'IEEE [5].
COM trova lo scenario migliore per un dato canale utilizzando un insieme di possibili impostazioni di equalizzazione. Ciò viene realizzato eseguendo una scansione di tutte le impostazioni di equalizzazione e calcolando qualcosa chiamato Figure of Merit (FOM). L'impostazione di equalizzazione che produce il miglior FOM viene utilizzata per il resto dei calcoli. Una volta calcolati i PDF di tutte le fonti di rumore, viene identificato il rumore a un tasso di errore rilevato (DER). Il DER è il tasso di errore di bit (BER) desiderato per il sistema, e viene determinato in base alla tecnica di correzione degli errori in avanti (FEC), se presente, che viene considerata. Il segnale disponibile è determinato dalla tensione di risposta all'impulso in un punto di campionamento specifico. Il segnale disponibile viene diviso per il rumore al tasso di errore rilevato (rapporto segnale/rumore), e questo numero viene convertito in decibel. Voilà! COM! Vedi, in realtà ha un significato.
Le impostazioni utilizzate per COM sono determinate dalla tecnologia IC disponibile. Il livello della tecnologia IC è concordato dai leader del settore come Intel, Broadcom, Mellanox, Fujitsu e molti altri. In altre parole, un IC che utilizza la tecnologia implementata in COM dovrebbe essere in grado di funzionare nei canali di lavoro come previsto da COM. Ovviamente, questo è molto potente poiché lo standard ha ora (finalmente) attribuito una parte della proprietà del canale ai fornitori di IC.
Anche se sembra che COM sia questa utopia della previsione dei canali, ha delle limitazioni. Poiché si tratta di un unico set di impostazioni per tutti i sistemi considerati dallo standard, non prevede le prestazioni di un singolo IC da solo. Per ottenere una correlazione delle misurazioni, è necessario regolare le impostazioni COM per ogni IC individualmente. Inoltre, COM trascura qualsiasi contributo di rumore dovuto allo skew. Fortunatamente, un articolo di DesignCon di Jason Chan affronta questa carenza, e spero di vedere in futuro script COM aggiornati che utilizzino le sue idee [6].
Per riassumere, COM non è così male. È un passo logico successivo nell'evoluzione dell'analisi dei canali e rende la valutazione dei canali relativamente facile. Sono molto grato che gli autori di COM siano stati così gentili da rilasciare gratuitamente e supportare il codice MATLAB. Spero di vedere COM implementato e migliorato da altri ingegneri dell'integrità del segnale in futuro. Chissà, forse vedremo un giorno un'implementazione in Python o Octave.
Tutte le figure sono state create con GNU Octave, https://www.gnu.org/software/octave/.
[1] Pagina di atterraggio di Keysight ADS, https://www.keysight.com/en/pc-1297113/advanced-design-system-ads?&cc=US&lc=eng
[2] Pagina di atterraggio di PyBERT, https://pypi.org/project/PyBERT/
[3] A. Sanders, M. Resso, J. Ambrosia, Test di conformità del canale utilizzando una nuova metodologia statistica per l'occhio, DesignCon 2004, http://www.ece.tamu.edu/~spalermo/ecen689/stateye_theory_sanders_designcon_2004.pdf
[4] S. Hall, H. Heck, Integrità del segnale avanzata per progetti digitali ad alta velocità, Wiley 2011
[5] Pagina di atterraggio del gruppo di lavoro IEEE 802.3 Ethernet, http://www.ieee802.org/3/
[6] J. Chan, G. Zheoff, Conversione di modalità e il suo impatto sui sistemi PAM4 a 112 Gbps, DesignCon 2019.