一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

IBIS-AMI: CTLE二三事

 kevin__xu 2020-04-21

前言:

中文翻做”連續(xù)時(shí)間性線性均衡器”的continuous time linear equalizer (以下簡(jiǎn)寫為CTLE), 常在現(xiàn)今通信渠道(communication channel)里被使用; 當(dāng)一channel信號(hào)損耗較大時(shí), CTLE常被拿來為接收端或下游的鏈路做為減少失真、恢復(fù)原始信號(hào)的一種方式; 在網(wǎng)上已有許多有關(guān)CTLE在理論如何運(yùn)作的探討, 更深入的設(shè)計(jì)細(xì)節(jié)也在大學(xué)/研究所程度的教科書里找得到;在這篇貼文里, 在簡(jiǎn)短介紹CTLE為何之后,我想要以為CTLE 建IBIS-AMI模型的角度談一些實(shí)務(wù)上的考量;其中雖然一些關(guān)鍵處為了業(yè)務(wù)機(jī)密的考量只能點(diǎn)到為止, 但仍希望會(huì)對(duì)考量建模步驟或流程的讀者有些幫助。

[Credit]: 這篇貼文的一些用圖來自Sam Palermo教授的課程摘要(連結(jié)于下), 雖然共事時(shí)彼此不認(rèn)識(shí),但我們之前都同一時(shí)期在在Intel工作過…

ECEN 720: High-Speed Links Circuits and Systems

什么是CTLE及為何用它:

上圖為兩個(gè)常見的SERDES通道原理圖, 上方者在TX及RX間直接為被動(dòng)性的channel所連接;而下方者則是透過了位于中央的repeater把上下游兩個(gè)Channel連接起來;在很多界面里(如USB3), 這種串接(cascade)可以連續(xù)好幾次, 所以會(huì)有兩個(gè)或更多的channel相連接;這些通道里的Rx端或Repeater/Redriver里就可能會(huì)有CTLE;而圖中的”S” 方塊系泛指如封裝、通孔VIA、傳輸線及連接器connector等等被動(dòng)元件的合成S參數(shù);這些通道元件有些共通的特性..如在頻域上對(duì)不同頻率會(huì)有不同的耗損/速率改變, 這種現(xiàn)象一般稱為色散(dispersion)

舉例來說, 我們可以把這些以S參數(shù)代表的差分輸入/輸出曲線在頻域上畫出來, 就會(huì)得到如上圖的不同損耗曲線。

在現(xiàn)今數(shù)位通信的傳送的位元信號(hào)多是以方波來表示0與1, 我們知道這些波形里的快速上升或下降轉(zhuǎn)換過程(rising/falling transition)含有豐富頻率成分的部份;理論上來說,要保持被傳信號(hào)不失真,這些不同頻率的成分應(yīng)被一視同仁地被續(xù)傳下去,但現(xiàn)實(shí)上這種所謂的unit-gain all pass filter并不存在, 所以各種頻率成份也就或多或少地被放大或縮減了; 如果下圖中的綠框代表我們想要得到的這種理想無失真狀態(tài):

而實(shí)際上的通道卻是如紅框所示, 則要為信號(hào)加以補(bǔ)償,吾人所需加入的就是如藍(lán)框的線性均衡器,而這也就是為什么均衡器常被使用于有損通道的原因:由于線性關(guān)系其在頻域上可和通道的特性曲線直接相乘而得到趨進(jìn)理想的傳輸特性;這里有兩點(diǎn)值得注意: 其一是均衡器和所欲補(bǔ)償?shù)暮膿p是配對(duì)的, 也就是說若拿同一均衡器來套到不同損耗的通路,就可能會(huì)有補(bǔ)償過度或不足的情形;其二是CTLE只是這里所示均衡器里的一種或一個(gè)環(huán)節(jié)。

CTLE 只是linear equalizer里的一種:

線性均衡器可以用很多方式來設(shè)計(jì)或呈現(xiàn);舉例來說, 如下的feed-forward equalizer就被常被用于Tx及DFE端:

這類的均衡器的頻響有部份限制, 但其作用較易于理解且AMI實(shí)作上也不難, 比如說如果只有一個(gè)tap的話, 其對(duì)波峰/波谷在時(shí)域上的作用可以很容易地被了解, 適當(dāng)值也可借由掃描而后做內(nèi)/外插:

但本文所談的CTLE則是代表廣義的均衡器,所以我們常用其頻域上的響應(yīng)來代表其行為作用;也就是說, 為了如之前所提地對(duì)不同耗損的通道做信號(hào)的補(bǔ)償,吾人就要有許多不同、相對(duì)應(yīng)的CTLE特性曲線如下所示:

那我們要如何才能得到代表這些行為的資料以便建模呢:

建CTLE IBIS-AMI模型的不同資料形態(tài):

雖然到此為止我們只說到頻域的部份,但拿到以AMI為主的鏈路分析上還是要回到時(shí)域來和輸入信號(hào)做卷積, 這是因?yàn)榫蚐PEC規(guī)格上的定義來說, 一個(gè)AMI模型所會(huì)接收到的輸入不是時(shí)域的突波(impulse response)就是時(shí)域上的位元波; 前者系用于statistical 模式而后者主要用于bit-by-bit模式,這么一來,我們就有兩種為模型提供資料的可能: 分別是提供頻域或時(shí)域上的資料; 前者(頻域)的好處是其可針對(duì)要做鏈路分析的脈波速率及取樣頻率當(dāng)場(chǎng)在模型里來做傅利葉反轉(zhuǎn)(iFFT), 后者(時(shí)域)的好處則是所提供的資料已事先檢查過而可確認(rèn)具有適當(dāng)?shù)钠焚|(zhì);雖然實(shí)務(wù)上這兩者擇一而用即可,但最具延展性、擴(kuò)充性的實(shí)做方式(也就是本司的實(shí)作方式:-) )則是對(duì)兩者均支援而能減少對(duì)AMI模型的改寫、編譯次數(shù)。

  • 頻域資料: 取決于原始設(shè)計(jì)/資料可否使用的程度, 我們可借由以下不同的方式來獲得頻域上的資料以便為AMI建CTLE的模型:

  1. 極點(diǎn)及零點(diǎn): 由不同數(shù)目及位置的極點(diǎn)及零點(diǎn), 再加上DC的放大程度, 則吾人可以”合成”出頻域的響應(yīng):  比如說如果我們手上所有的資料只是待建模型的資料表(data sheet),則首先可以從上面找出關(guān)鍵頻率必需要有的放大程度 上圖的例子是USB3.1, 所以關(guān)鍵頻率是和其運(yùn)作主頻相關(guān)的諧波;當(dāng)對(duì)不同數(shù)目、位置及DC放大性做掃描之后, 我們就可以很容易地找到幾組符合此data sheet spec的頻率響應(yīng):也因?yàn)檫@些曲線系由預(yù)訂的線性函式(由那些極零點(diǎn)所組成)所產(chǎn)出, 所以一則為相對(duì)穩(wěn)定、高品質(zhì)而不會(huì)有passive/causality上的問題,再者也從0Hz 到極高頻皆唾手可得。

  2. 由S參數(shù)轉(zhuǎn)出: 另一種可能是由代表此均衡器的S參數(shù)來轉(zhuǎn)出, 適用的場(chǎng)合包括當(dāng)硅智財(cái)為外購(gòu)而原始設(shè)計(jì)不可得, 原智財(cái)有方只愿提供此行為模型時(shí)(behavioral model); 從某個(gè)方面上來看, 這樣的原始資料代表在后面的correlation驗(yàn)證階段會(huì)更容易…因?yàn)檫@就是要去建AMI模型的golden data/target, 但在另一方面的大部份情況下, 這也代表得先為這些S參數(shù)做一些預(yù)處理才能得到如上段結(jié)果般的頻響曲線。以用本司的SPro功能而言, 下面幾個(gè)步驟是不可或缺的: 首先手上的S參數(shù)可能是單端點(diǎn)(single ended)且適于某種port ordering的 (如1->3, 2->4), 則先要做port reordering 至1, 2->3, 4, 而后用generalized 2-N port 做differential mode/mixed mode 轉(zhuǎn)換,而后外插到DC及夠高的頻率(由VNA等所得的頻率通常只有10或20GB…這是遠(yuǎn)遠(yuǎn)不夠的), 在外插的過程中所有的計(jì)算均需使得這個(gè)S參數(shù)仍能保持適當(dāng)?shù)奈锢硇?如causal), 最后再把只適用于differential input->differential-output的那個(gè)部份從S參數(shù)里extract出來成單一一條頻響曲線(含magnitude及phase)。

  3. 做AC仿真: 如果有原始設(shè)計(jì)的話,當(dāng)然直接做AC仿真可能更快更方便些, 雖是如此, 如此得到的曲線仍需先做資料我檢查及驗(yàn)證(sanity check), 比如說相位是否連續(xù)、頻寬是否足夠及在高頻及低頻時(shí), 所有的大小及相位是否趨于平坦等等。

  • 時(shí)域資料: 一旦有了上述的頻域資料, 理論上來說我們就可多做一步地把它們都轉(zhuǎn)到如下所示的時(shí)域上;這里也可以有兩種做法:把原頻響做iFFT或把原始設(shè)計(jì)在時(shí)域上仿真。

    1. 如何做iFFT: 這里適用的情況可能是您不打算從AMI必需要有的C/C++語言來做iFFT而想借助如matlab或python等的機(jī)制, 雖然這些數(shù)值分析的套裝軟件或函式庫(kù)已會(huì)幫您做很多幕后的工作(如線性等距取樣至2^N點(diǎn)的), 但zero padding或complex conjugate padding至Nyquist rate通常還是得用戶自己做; 同樣地,在做iFFT轉(zhuǎn)換前的頻率資料是否”干凈”也是得自己下場(chǎng)檢視的。略過此一步驟則轉(zhuǎn)出的時(shí)域可能就會(huì)有很多低頻的噪音或波動(dòng)。

    2. 做時(shí)域仿真: 理論上的突波響應(yīng)(impulse response)不難理解,但實(shí)務(wù)上要如何設(shè)定仿真? 就算是以階波響應(yīng)再做事后的差分好了, 階波的上升速度應(yīng)多快? 其與到時(shí)AMI被仿真時(shí)的時(shí)步(time-step)之間關(guān)系為何? 若需要臨場(chǎng)的縮放(scaling)那AMI模型要如何地得到原時(shí)時(shí)步/設(shè)定的資訊? 如此種種都是當(dāng)事先要轉(zhuǎn)成時(shí)域資料時(shí)不可不想到的細(xì)節(jié)。

建CTLE IBIS-AMI模型時(shí)的種種考量:

好不容易終于有可建模的資料了, 下一步是如何把這些資料以C/C++的形態(tài)呈現(xiàn)以符會(huì)AMI的API 所需, 比如說下面幾點(diǎn)都要想到:

  • 如何決定用那條曲線: 如前所述, CTLE和不同耗損的通道是有相對(duì)應(yīng)的,則當(dāng)AMI模型用戶在使用此CTLE的AMI模型時(shí), 要怎么知道該用那個(gè)設(shè)定呢?

常見的方式是在模型使用手冊(cè)里明載而讓用戶依據(jù)其自己現(xiàn)有通道的耗損來自行決定, 這就沒什么學(xué)問了; 更進(jìn)一步的可能是在CTLE的模型里設(shè)有自動(dòng)調(diào)適化的機(jī)制(adaptive), 則這就又是另一課題…

簡(jiǎn)單來說, 要做可自動(dòng)調(diào)適的CTLE首先必需把能使用的曲線/頻響做一EQ程度的排序, 而后要對(duì)模型針對(duì)某一輸入信號(hào)所均衡出的結(jié)果做一效能的定義(figure of merit, or FOM), 則當(dāng)模型得到一輸入信號(hào)時(shí), 先就現(xiàn)有的CTLE設(shè)定做信號(hào)均衡、而后計(jì)算出FOM值, 接著繼續(xù)以相鄰的CTLE設(shè)定去做同樣的步驟,以結(jié)果FOM的正負(fù)變化來決定繼續(xù)往上或往下”走”, 如此重復(fù)直到FOM已穩(wěn)定 (locked)于某一設(shè)定或達(dá)到所有的CTLE的極值(第一條或最后一條頻響)為止, 因?yàn)槿绱瞬襟E的結(jié)果應(yīng)對(duì)某個(gè)通道的不同信號(hào)都適用, 所以在鏈路仿真之初會(huì)要有一段時(shí)間的training period以便能鎖定到要用的CTLE值之后才不再改變等等。

  • 種種EQ的設(shè)定: 當(dāng)我們有了不同組態(tài)的不同設(shè)定, 再加上可能不同corner等于多加了一個(gè)dimension, 再來要怎么編程以符合AMI API的要求呢?

這里開始可能更多的是computer science上的考量而和原始CTLE設(shè)計(jì)無關(guān)了, 總的來說是方便及速度的間的考量: 比如說我們可能想把所有資料的全部頻域/時(shí)域資料都以極細(xì)頻率/時(shí)步的方式提供,但發(fā)現(xiàn)這樣一來模型太大且仍不可避免要做內(nèi)插, 或是如果所給的資料非等步且非2^N(常為FFT/iFFT所需), 又要如何有效的重新取樣? 最后, 這些資料如果直接一同編進(jìn)DLL/SO二進(jìn)制檔里則每次設(shè)計(jì)更改(design revision)都要重新編譯, 放在外面呢又要如何的加密以確保原始資料的IP等等,這些都是在開始寫CODE編程之前都要先做好的規(guī)劃及考量。

  • 如何驗(yàn)證模型: 好不容易模型做出來了, 如果按照golden data或和原始設(shè)計(jì)來比的的話, 這個(gè)CTLE應(yīng)能有效地把下圖左的訊號(hào)還原至失真小得多的右圖:

現(xiàn)實(shí)里要能一次達(dá)標(biāo)或一試中的機(jī)率大概和買樂透中獎(jiǎng)的機(jī)率差不多, 所以多半的情況模型做出來后接下來的是折磨人的除錯(cuò)階段; 在AMI模型之外, 要能得到上述結(jié)果也不可不考慮到的還包括了IBIS模型的部份(類比前端), 因?yàn)檫@些IBIS里的parasitic, loading 乃至于 rising/falling waveform 再再都會(huì)影響結(jié)果, 關(guān)于此點(diǎn)我們之前的貼文也有詳述, 其次,仍是點(diǎn)到為止的是IBIS-AMI是有高阻抗假設(shè)的, 所以要直接取代(drop-in replacement)手上現(xiàn)有的其它原始模組還要考慮到的是匹配的問題; 最后, 一個(gè)設(shè)計(jì)完善的CTLE AMI模型(或AMI模型)都要有很完善的除錯(cuò)設(shè)計(jì), 如此可指引出所給資料是否在重新取樣后質(zhì)變、轉(zhuǎn)成時(shí)域后有問題、或是按時(shí)步縮放結(jié)果恰當(dāng)與否等等而毋需反復(fù)重新編譯模型搞得不知手上的波形是那一版本的AMI跑出來的結(jié)果。

結(jié)語:

凡此種種,應(yīng)可讓有興趣的讀者看出一CTLE雖然理論上不難了解,但一旦要落實(shí)到低階的、以C/C++編寫的AMI模型時(shí)則又是另一番境地;本司就看過堂堂EDA大廠做出的CTLE模型是如何的便宜行事, 以至于后來原建案的硅智財(cái)廠商僅僅為了一些design revision(也僅是要容納更多的頻響選擇)就必需砍掉全部重練的案例, 這當(dāng)然也是因?yàn)槠浒阉械脑O(shè)定都編進(jìn)模型了又漫天喊價(jià)以至于硅智財(cái)廠不甘從此被綁架而找上經(jīng)濟(jì)實(shí)惠的本司之故  。希望本文所提的幾點(diǎn), 能做為有心直接下海實(shí)做AMI模型的諸君一些實(shí)務(wù)上的考量, 或是能了解其中”眉角”之一二之后決定由經(jīng)驗(yàn)如我司者來為您服務(wù)更為方便有效率:-)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    暴力三级a特黄在线观看| 成人国产一区二区三区精品麻豆 | 午夜午夜精品一区二区| 黄色污污在线免费观看| 天海翼精品久久中文字幕| 1024你懂的在线视频| 丰满熟女少妇一区二区三区| 中文字幕亚洲精品乱码加勒比| 一本色道久久综合狠狠躁| 中文字幕五月婷婷免费| 亚洲精品福利视频你懂的| 亚洲高清欧美中文字幕| 国产成人精品综合久久久看| 丝袜破了有美女肉体免费观看| 欧美日韩一级aa大片| 人人妻在人人看人人澡| 黄色污污在线免费观看| 午夜精品成年人免费视频| 国产精品美女午夜视频| 久久99这里只精品热在线| 草草视频福利在线观看| 欧美激情床戏一区二区三| 日韩性生活视频免费在线观看| 极品少妇嫩草视频在线观看| 99久久精品午夜一区二区| 成年女人午夜在线视频| 欧美精品在线观看国产| 国产午夜免费在线视频| 91天堂素人精品系列全集| 国产一区二区三区精品免费| 日韩欧美一区二区黄色| 一二区中文字幕在线观看| 99国产精品国产精品九九| 91香蕉国产观看免费人人| 色综合久久中文综合网| 日本熟女中文字幕一区| 久久精品国产99精品最新| 精品欧美日韩一二三区 | 欧美日本亚欧在线观看| 日本本亚洲三级在线播放| 日韩一区二区三区观看|