0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DDR仿真處理多級IO的慣性延遲問題

PCB線路板打樣 ? 來源:LONG ? 2019-08-12 11:29 ? 次閱讀

DDR驗(yàn)證是任何SoC中最關(guān)鍵和最復(fù)雜的任務(wù)之一,因?yàn)樗婕拔挥贒UT內(nèi)部的控制器和位于DUT外部的外部DDR存儲(chǔ)器。 DDR系統(tǒng)由控制器,I/O,封裝,插座,電源時(shí)鐘和外部存儲(chǔ)器組成,它們共同工作。在數(shù)字驗(yàn)證中,并非所有這些組件都進(jìn)入圖像,而主要是控制器,PHY,I/O和存儲(chǔ)器。驗(yàn)證變得更加復(fù)雜,因?yàn)樗薪M件的影響都無法在數(shù)字仿真中模仿,但門級仿真(GLS)為我們提供了良好的基礎(chǔ)設(shè)施來報(bào)告可能困擾控制器-PHY-I/O路徑的設(shè)計(jì)問題從時(shí)間的角度來看。

在GLS中驗(yàn)證DDR時(shí)會(huì)遇到許多與時(shí)序相關(guān)的問題,導(dǎo)致驗(yàn)證和STA(靜態(tài)時(shí)序分析)團(tuán)隊(duì)之間的大量迭代。擁有干凈的調(diào)試GLS環(huán)境可以讓您對RTL(寄存器傳輸級別)運(yùn)行的DDR協(xié)議的STA視角充滿信心,并且可以提供關(guān)注數(shù)字和時(shí)序方面的良好信心。由于RTL的時(shí)序可見性,本文整理了DDR的GLS(門級仿真)驗(yàn)證中通常報(bào)告的廣泛問題,并通過大量示例強(qiáng)調(diào)了在GLS環(huán)境中快速有效地關(guān)閉DDR的重要調(diào)試標(biāo)準(zhǔn)。

RTL環(huán)境沒有任何時(shí)序感知,因此設(shè)計(jì)中沒有慣性/傳播延遲,但是當(dāng)我們移動(dòng)時(shí)進(jìn)入GLS設(shè)置后,這些進(jìn)入了畫面并且必須得到有效處理,以便模仿實(shí)際的硅行為,同時(shí)不會(huì)使事情過于悲觀。在邏輯單元的輸入處,持續(xù)時(shí)間小于慣性延遲的脈沖將不能在該邏輯單元的輸出處引起任何轉(zhuǎn)變,邏輯門表現(xiàn)出的這種現(xiàn)象稱為慣性延遲傳播。工業(yè)標(biāo)準(zhǔn)GLS仿真工具通常將傳播延遲視為該邏輯門的慣性延遲。仿真工具采用的這種建模是對實(shí)際硅行為的相當(dāng)好的抽象,事實(shí)上,它很好地模擬了通過單級邏輯門的信號(hào)傳播。但是在IO等復(fù)雜門的情況下,這種行為是不可取的,其本質(zhì)上是多級的,并且一旦信號(hào)使其經(jīng)過第一級,就保證它將成功地傳播通過IO單元。由于仿真工具不了解邏輯單元的這種內(nèi)部結(jié)構(gòu),因此即使對于多級IO,它也會(huì)抑制脈沖,如圖1所示。

DDR仿真處理多級IO的慣性延遲問題

圖1:默認(rèn)的GLS仿真行為是抑制所有小于門延遲的轉(zhuǎn)換

現(xiàn)在要解決這個(gè)問題,有兩種解決方案可能。

第一種解決方案是手動(dòng)更新SDF并將延遲更新為更小的值。這種方法適用于正確傳播信號(hào),但這種方法不正確,因?yàn)樾碌难舆t不代表實(shí)際的延遲,可能會(huì)抑制其他潛在的功能問題。

行業(yè)標(biāo)準(zhǔn)的GLS模擬器確實(shí)有能力/開關(guān)可以允許/禁止通過細(xì)胞的一定寬度的脈沖。例如“拒絕&錯(cuò)誤設(shè)置“使用時(shí)將傳播寬度大于'錯(cuò)誤設(shè)置'的所有信號(hào)。雖然它會(huì)傳播信號(hào)的未知值,寬度介于'reject&錯(cuò)誤設(shè)置'它將完全消除寬度小于'拒絕設(shè)置'的信號(hào)。一個(gè)例子如下表所示。

Pulse_e& ; pulse_r 行為
pulse_e/100& pulse_r/100 拒絕所有小于傳播延遲100%的脈沖
pulse_/0& pulse_r/0 傳遞大于0%傳播延遲的所有脈沖
pulse_e/50& pulse_r/50 傳遞大于傳播延遲50%的所有脈沖。

表1:Pulse_e/Pulse_r行為

基于時(shí)序小組完成的平衡的時(shí)鐘選擇

在RTL設(shè)置中,由給定源驅(qū)動(dòng)的時(shí)鐘到達(dá)同一節(jié)點(diǎn)的所有節(jié)點(diǎn)瞬間但是當(dāng)我們轉(zhuǎn)向GLS設(shè)置時(shí),時(shí)鐘偏移進(jìn)入圖像并因此可能產(chǎn)生定時(shí)問題,其中從相同源導(dǎo)出的兩個(gè)時(shí)鐘路徑可能具有偏斜,使得DDR數(shù)據(jù)/時(shí)鐘路徑不能平衡所有可能的組合。輸入時(shí)鐘是DDR設(shè)計(jì)中最重要的參數(shù),因?yàn)樗衅渌盘?hào)都是根據(jù)輸入時(shí)鐘周期和占空比得出的。可能存在多個(gè)時(shí)鐘源可用作控制器輸入時(shí)鐘的情況。通常,來自任何一個(gè)時(shí)鐘源的路徑是平衡的,建議用于DDR輸入時(shí)鐘。 DDR_CLK,DDR_DQS等信號(hào)有嚴(yán)格的要求傳播到外部DDR存儲(chǔ)器的占空比,高時(shí)間,低時(shí)間等,這些都需要滿足DDR的正確操作。寫入側(cè)的大多數(shù)與占空比要求相關(guān)的故障可能是由于DDR控制器輸入上的時(shí)鐘占空比不正確。必須正確地確保我們使用滿足時(shí)序的正確時(shí)鐘源,以避免不必要的調(diào)試。下面提到了相同的例子,其中存儲(chǔ)器輸入端的DQS占空比數(shù)據(jù)已經(jīng)被選為DDR控制器時(shí)鐘的2個(gè)不同時(shí)鐘源捕獲。

DDR_CLK頻率:400MHz(~2.5ns)

55%的2.524 ns = 1.388200ns
2.524 ns的45%= 1.13580ns
路徑不同層次結(jié)構(gòu)的脈沖寬度(Clk源1) 高脈沖 低脈沖
PLL輸出 H:1291ps L:1233ps
在Cross-Bar輸入 H:1270ps L:1254ps
在交叉條輸出 H:1241ps L:1283ps
在控制器輸入 H:1227ps L:1297ps
在DQS pad輸入 H:1334ps L:1190ps
在DQS墊 H:1377ps L:1147ps
路徑不同層次的脈沖寬度(Clk源2) 高脈沖 低脈沖
PLL輸出 H:1294ps L:1230ps
在Cross-Bar輸入 H:1210ps L:1314ps
在橫桿輸出 H:1181ps L:1343ps
在控制器輸入 H:1167ps L:1357ps
在DQS pad輸入 H:1394ps L:1130ps
在DQS墊 H:1437ps L:1087ps

表2:不同層次結(jié)構(gòu)的時(shí)鐘占空比在系統(tǒng)中

在焊盤上用于轉(zhuǎn)儲(chǔ)SDF的負(fù)載

I/O在定時(shí)感知GLS DDR驗(yàn)證方面發(fā)揮著至關(guān)重要的作用。滿足焊盤輸入的時(shí)序,并且從焊盤的自由文件中提供的信息中轉(zhuǎn)儲(chǔ)I/O延遲。有時(shí),從控制器到焊盤輸入的路徑被正確地滿足并平衡,但仍然可以看到故障。這可能是由于I/O引入的錯(cuò)誤延遲,這些延遲位于主機(jī)控制器和外部DDR存儲(chǔ)器之間的路徑中。延遲實(shí)際上取決于施加到襯墊的負(fù)載。因此,在生成SDF時(shí),需要注意必須應(yīng)用將在船上使用的正確和實(shí)際負(fù)載。如果不這樣做,將導(dǎo)致在SDF中產(chǎn)生非常悲觀的定時(shí)電弧,當(dāng)在GLS仿真中反標(biāo)注時(shí)會(huì)產(chǎn)生虛假故障。這些問題很難調(diào)試,需要付出很多努力。

加載(以pf為單位) 轉(zhuǎn)換時(shí)間(ns) 計(jì)時(shí)弧(ns)
悲觀負(fù)載 35 2 2.8
實(shí)際負(fù)載 12 0.6 1.2

表3:悲觀負(fù)載v/s實(shí)際負(fù)載

輸出緩沖器使能(OBE)時(shí)序要求

大多數(shù)DDR控制器設(shè)計(jì)都是為了驅(qū)動(dòng)OBE(輸出緩沖器使能) DQ(數(shù)據(jù))和DQS(Strobe)焊盤本身可以用于寫入/讀取相同的焊盤。由于各種原因,OBE時(shí)序通常在路徑計(jì)時(shí)時(shí)被忽略,但在DDR的情況下這樣做會(huì)導(dǎo)致災(zāi)難性的結(jié)果。例如,在DDR協(xié)議的讀/寫期間,在READ/WRITE命令之后和DQS的第一個(gè)上升沿之前的DQS上的LOW狀態(tài)被稱為讀/寫前同步碼;同樣在最后一個(gè)數(shù)據(jù)輸入之后DQS上的LOW狀態(tài)元素稱為讀/寫后同步碼。前導(dǎo)碼部分為接收設(shè)備提供定時(shí)窗口,以便在選通信號(hào)上存在已知/有效電平時(shí)啟用其數(shù)據(jù)捕獲電路,從而避免對捕獲電路的錯(cuò)誤觸發(fā)。 UIT。在前同步碼之后,選通脈沖將在數(shù)據(jù)突發(fā)的持續(xù)時(shí)間內(nèi)以與時(shí)鐘信號(hào)相同的頻率切換。在寫入期間對于該最小前導(dǎo)碼寬度存在一定的時(shí)序要求,例如DDR2為0.35Ck,DDR3為0.9Ck,應(yīng)該滿足。類似地,對寫后同步時(shí)序有要求。對于DDR2,這是0.4Ck-0.6Ck,對于DDR3,最小為0.3CK。如果DDR GLS遇到最常見的問題,則違反這些參數(shù)。

圖2:DDR前導(dǎo)碼和后同步碼

DDR焊盤的壓擺率設(shè)置:

焊盤的特點(diǎn)是不同的壓擺率決定了每單位時(shí)間輸出電壓的變化率。這些設(shè)置對RTL仿真沒有任何影響,因?yàn)闆]有延遲,但在GLS仿真中,延遲進(jìn)入畫面,進(jìn)行適當(dāng)?shù)脑O(shè)置以避免任何不必要的調(diào)試變得至關(guān)重要。系統(tǒng)中不同焊盤的時(shí)序通常以最大轉(zhuǎn)換速率滿足,但可以根據(jù)各種參數(shù)而不同。一個(gè)這樣的例子是,對于像DDR這樣的協(xié)議的最大壓擺率,可以看到反射和干擾的問題。對于此參數(shù)的不同設(shè)置,打擊墊延遲變化太大。這些是根據(jù)最終將在驗(yàn)證板和測試儀上使用的負(fù)載和電阻值決定的。我們必須確保使用正確的打擊墊設(shè)置運(yùn)行我們的模擬,以便在預(yù)期結(jié)果和觀察結(jié)果之間沒有間隙。

下表包含推薦的SRE設(shè)置的數(shù)據(jù),用于不同的接口之一SoC的。

Interface SRE設(shè)置
DDR 10
SDR 10
QuadSPI 11
ENET 11
MLB50 11
SPI 00

表4:SoC不同接口的推薦壓擺率設(shè)置

字符I/O中的問題:

這方面只是在GLS中而不是在RTL中可見的,如果從開始確??梢源_保我們可以最小化迭代調(diào)試和反饋驗(yàn)證和STA。為了給出背景,每個(gè)單元都有上升弧和下降弧所提到的延遲。任何單元的延遲都直接來自自由文件,其中包含PVT延遲的信息。電池的這些上升和下降時(shí)間可以彼此不同。但是像DDR這樣的協(xié)議對占空比,高時(shí)間,低時(shí)間等有嚴(yán)格的要求,這些都需要滿足協(xié)議的正確操作。在設(shè)計(jì)中,通常使用對稱緩沖器和單元,其具有幾乎相同的上升和下降時(shí)間,使得諸如CLK,DQS等的關(guān)鍵信號(hào)的路徑是平衡的。但有可能I/O的上升和下降時(shí)間之間存在巨大差異,因?yàn)楸碚鲉栴}會(huì)導(dǎo)致占空比失真,從而導(dǎo)致內(nèi)存端的違規(guī)。

圖3:上升 - 下降延遲弧的差異導(dǎo)致違反占空比要求

SDF延遲舍入是高速GLS驗(yàn)證的殺手

測試平臺(tái)具有定義事件粒度的時(shí)間表模擬設(shè)計(jì)。在時(shí)間刻度語句中,第一個(gè)值是時(shí)間單位,第二個(gè)值是模擬的精度。對于高速電路,應(yīng)該非常仔細(xì)地定義時(shí)標(biāo)精度。通常,時(shí)間刻度在測試平臺(tái)中定義為1ns/10ps,這意味著所有延遲將四舍五入到最接近的10ps。但是在DDR這樣的高速協(xié)議中,時(shí)序非常關(guān)鍵,邊距可以非常?。ㄒ云っ霝閱挝唬@?,如果數(shù)據(jù)路徑中有10個(gè)緩沖區(qū),每個(gè)緩沖區(qū)的延遲為26ps,如果時(shí)間刻度為1ns/10ps,則所有這些延遲將四舍五入為30ps,因此將在GLS中引入40ps的不準(zhǔn)確度。這將導(dǎo)致GLS中的錯(cuò)誤時(shí)序違規(guī)。必須更新模擬環(huán)境以具有適當(dāng)?shù)臅r(shí)間尺度以迎合這些問題。

應(yīng)解決內(nèi)存錯(cuò)誤

通常,不同供應(yīng)商提供的模型可用于模擬。這些模型可以是Verilog模型或Denali模型。這些模型由Micron,Spansion,Macronix等內(nèi)存供應(yīng)商提供。出于模擬目的,Denali模型應(yīng)該是首選,因?yàn)檫@些模型對所有時(shí)序參數(shù)和協(xié)議進(jìn)行了非常嚴(yán)格的檢查,并且還包括CK/DQS/DQ之間的抖動(dòng)和偏斜因此非常接近將在板上使用的實(shí)際存儲(chǔ)器。如果在存儲(chǔ)器接口違反任何時(shí)序規(guī)范,則模型會(huì)標(biāo)記錯(cuò)誤。在RTL仿真中,沒有延遲,如果正確配置了時(shí)序參數(shù),則通常不會(huì)遇到這些錯(cuò)誤。但是在圖像延遲的GLS模擬中,可能會(huì)發(fā)生一些參數(shù)被違反并且會(huì)拋出錯(cuò)誤。應(yīng)仔細(xì)審查這些錯(cuò)誤,并且必須予以解決。通常在寫入周期期間遇到問題,此時(shí)信號(hào)由控制器發(fā)出并到達(dá)存儲(chǔ)器。在讀取周期期間,信號(hào)由模型本身生成并到達(dá)控制器。為Denali存儲(chǔ)器提供了許多開關(guān),它們控制各種參數(shù),例如允許的差分偏移,將存儲(chǔ)器初始化為某個(gè)值,禁止從存儲(chǔ)器發(fā)送錯(cuò)誤消息。應(yīng)該注意不要傳遞這樣的開關(guān),這可能會(huì)掩蓋任何錯(cuò)誤。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • DDR
    DDR
    +關(guān)注

    關(guān)注

    11

    文章

    701

    瀏覽量

    65107
  • PCB打樣
    +關(guān)注

    關(guān)注

    17

    文章

    2968

    瀏覽量

    21611
  • 華強(qiáng)PCB
    +關(guān)注

    關(guān)注

    8

    文章

    1831

    瀏覽量

    27683
  • 華強(qiáng)pcb線路板打樣

    關(guān)注

    5

    文章

    14629

    瀏覽量

    42911
收藏 人收藏

    評論

    相關(guān)推薦

    信號(hào)完整性仿真DDR3/4/5系列地址信號(hào)端接優(yōu)化對比

    導(dǎo)讀:DDR5協(xié)議發(fā)布已經(jīng)有一段時(shí)間了,其中的變化還是比較大的,地址信號(hào)采取了ODT的端接形式,本篇文章為大家仿真一下DDR5地址信號(hào)。同時(shí),我也推薦大家關(guān)注我在仿真秀原創(chuàng)的精品課《
    發(fā)表于 12-01 10:24 ?1521次閱讀

    教大家對DDR4做仿真

    DDR仿真DDR4
    小凡
    發(fā)布于 :2022年09月13日 19:03:17

    Altera DDR2仿真

    最近在做ddr2方面的東西,需要仿真ddr2,可是一直沒有頭緒。xx_example_top_tb仿真不知道是對是錯(cuò),網(wǎng)上說的外掛美光ddr
    發(fā)表于 06-29 15:50

    在同步電路中影響性能都有哪些方面呢?傳輸延遲,慣性延遲怎么形成的呢?映射到硬件上怎么形成這種現(xiàn)象呢?

    在同步電路中影響性能都有哪些方面呢?傳輸延遲,慣性延遲怎么形成的呢?映射到硬件上怎么形成這種現(xiàn)象呢?答:在連續(xù)分析課程中,我們將介紹,信號(hào)在系統(tǒng)中全時(shí)間軸連續(xù)取樣點(diǎn)上的分布規(guī)律,工具和重要特征。一根
    發(fā)表于 03-09 16:01

    DDR仿真的頻率提取

    作者:黃剛DDR仿真作為一個(gè)非常普遍的仿真模塊,基本上入門SI行業(yè)的人都會(huì)首先接觸到。記得本人剛接觸這個(gè)行業(yè)的時(shí)候,也是先接觸DDR模塊的仿真
    發(fā)表于 07-24 06:56

    我們仿真DDR究竟是仿真什么

    我們仿真DDR究竟是仿真什么?
    發(fā)表于 03-04 07:32

    Quamtum-SI DDR3仿真解析

    Quamtum-SI DDR3仿真解析 Automated DDR3 Analysis  
    發(fā)表于 04-29 09:00 ?4432次閱讀
    Quamtum-SI <b class='flag-5'>DDR</b>3<b class='flag-5'>仿真</b>解析

    基于Cadence的DDR仿真設(shè)計(jì)

    通過Cadence軟件建立DDRⅡ信號(hào)拓?fù)浣Y(jié)構(gòu)、仿真信號(hào)的串?dāng)_、碼間干擾、過沖等與信號(hào)質(zhì)量相關(guān)的參數(shù),從仿真波形中可以測量出與信號(hào)時(shí)序相關(guān)的參數(shù),從而計(jì)算出信號(hào)的時(shí)序裕量,并為DDR
    發(fā)表于 02-13 15:16 ?52次下載
    基于Cadence的<b class='flag-5'>DDR</b>Ⅱ<b class='flag-5'>仿真</b>設(shè)計(jì)

    計(jì)算機(jī)仿真多級放大電路設(shè)計(jì)中的應(yīng)用

    為了研究多級放大電路工作相關(guān)屬性的目的,使用軟件Multisim10對多級放大電路的相關(guān)參數(shù)開展了仿真實(shí)驗(yàn),給出了Multisim 對其參數(shù)進(jìn)行仿真實(shí)驗(yàn)方案,利用雙蹤示波器、萬用表、信
    發(fā)表于 12-24 15:43 ?13次下載

    LCD12864多級菜單仿真

    LCD12864多級菜單仿真講解,很好的資料下載吧。
    發(fā)表于 01-13 16:09 ?170次下載

    DDR工作原理_DDR DQS信號(hào)的處理

    Random Access Memory的縮寫,即同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。本文首先介紹了DDR工作原理及結(jié)構(gòu)圖,其次闡述了DDR DQS信號(hào)的處理,具體的跟隨小編一起來了解一下。
    的頭像 發(fā)表于 05-23 16:07 ?5.3w次閱讀
    <b class='flag-5'>DDR</b>工作原理_<b class='flag-5'>DDR</b> DQS信號(hào)的<b class='flag-5'>處理</b>

    DDR4技術(shù)有什么特點(diǎn)?如何采用ANSYS進(jìn)行DDR4仿真?

    本文介紹了DDR4技術(shù)的特點(diǎn),并簡單介紹了ANSYS工具用來仿真DDR4的過程。文章中主要介紹的對象為DDR4 3200MHz內(nèi)存,因?yàn)橛布O客對D
    的頭像 發(fā)表于 10-14 10:37 ?2.5w次閱讀

    如何利用ADS仿真軟件輔助進(jìn)行DDR的電路仿真

    前言 上文中,我們介紹了DDR芯片的物理層及協(xié)議測試,本文我們繼續(xù)給大家揭秘如何利用是德科技的ADS仿真軟件輔助進(jìn)行DDR的電路仿真,驗(yàn)證和分析。 是德科技ADS簡介 是德科技Path
    的頭像 發(fā)表于 05-17 09:28 ?1.2w次閱讀
    如何利用ADS<b class='flag-5'>仿真</b>軟件輔助進(jìn)行<b class='flag-5'>DDR</b>的電路<b class='flag-5'>仿真</b>?

    DDR I/II總線的仿真分析方法

    DDR2總線的仿真方法,基于Agree公司最新的網(wǎng)絡(luò)處理器APP300和HY的 DDR2 SDRAM HY5PS121621。
    發(fā)表于 10-21 16:09 ?0次下載

    DDR設(shè)計(jì)和仿真技術(shù)詳解

    DDR2設(shè)計(jì)和仿真技術(shù)詳解。
    發(fā)表于 10-24 15:10 ?2次下載