DDR5 Simulation Challenges
JEDEC在DDR5中規範了DFE (Decision Feedback Equalizer)的使用,間接(我認為蠻直接的)的告訴大家,之後DDR的模型需要可以考慮EQ,當下大家都把矛頭指向在SerDes行之有年的IBIS-AMI。也因此模擬引擎就不會是單純的Transient,而是要可以解析AMI模型的通道模擬器(Channel Simulator),看起來變動很大,但對於熟悉SerDes信號模擬的工程師來說,卻是相當的熟悉。
說到這邊,很多人可能認為那就把DDR5的AMI模型丟到Channel Simulator去跑就好了,例如ADS的ChannelSim,但我可以告訴你,事情沒有這麼簡單,至少有四個問題是ChannelSim無法處理的。
1. Asymmetric Rise/Fall Waveform
SerDes信號不是P-N,就是N-P,所以斜率都是一樣的,可以用一個方法來看這個現象,假設高電位是1V,低電位是0V,那上升下降的交叉點會在0.5V,但這對DDR信號不成立,DDR本身的充放電曲線就是不一樣的,因此上升下降的交叉點不一定會落在0.5V。
2. Clocking by External Signal
SerDes是透過differential信號自帶clock,透過CDR(clock data recovery)來把正確的clock取出,因此可以在最適合的時間點做DSP的處理,這對一些timing sensitive的演算法非常重要,例如DFE。但DDR是透過另外一組信號來提供clock,例如DQS給DQ提供clock,CLK給CA提供clock。AMI model本來的機制是靠CDR把clock從differential信號擷取出來,但這不適用DDR,因此若要正確反應DDR AMI,應該要可以reference clock信號(DQS/CLK)。
3. DC Offset
SerDes因為是differential信號,因此Channel Simulator不會計算DC offset,但這對DDR的設計卻是非常重要的,DC的值會直接影響到眼睛的判斷,因此處理DDR AMI模型的引擎要可以計算DC offset,否則其他分析都無法正確執行。
4. Multiple Channels Work at the Same Time
現行的通道模擬引擎只會針對一個通道作分析,其他同時也在做資料傳輸的通道都會被當作xtalk,但DDR動輒數十,甚至數百條信號的情況,肯定會需要另一個可以一次處理多個通道的通道模擬引擎。
留言
張貼留言