無論高級靜態(tài)時序分析(STA)工具如何成型,運行GLS仍然有很多優(yōu)勢,因為它能夠發(fā)現(xiàn)很多隱藏的設(shè)計問題,這些問題在RTL中很難找到模擬。它清晰地展示了設(shè)計在所需頻率下的行為方式,并確實存在實際延遲。因此,盡管GLS有其自身的一系列挑戰(zhàn)(例如設(shè)置問題,長時間運行等),但它仍然是簽核過程的一部分,并且充當(dāng)了設(shè)計質(zhì)量的信心助推器。
JEDEC標(biāo)準(zhǔn)為DDR存儲器定義了許多時序參數(shù),需要遵循這些參數(shù)以確保正確操作。時序要求嚴(yán)格,需要謹(jǐn)慎實施。例如,數(shù)據(jù)選通信號(通常稱為DQS)的占空比要求約為45-55%;如果在寫入期間(存儲器控制器將選通信號驅(qū)動到外部存儲器)或讀取(存儲器驅(qū)動選通信號的位置)中違反此規(guī)范,則我們無法確保數(shù)據(jù)的健全性。物理實現(xiàn)本身就是一個挑戰(zhàn),因為設(shè)計人員必須注意各種時序參數(shù)沒有偏離標(biāo)準(zhǔn)。 DDR實施很困難,因為它也涉及許多自定義程序。因此,在DDR的情況下我們不能僅僅依靠STA工具,并且運行GLS成為“必須”以確保設(shè)計的正確物理實現(xiàn)。運行GLS for DDR接口具有挑戰(zhàn)性,因為它涉及各種測試平臺設(shè)置問題,多個時序檢查,偏斜檢查,各種數(shù)據(jù)傳輸模式(突發(fā)長度-4,8),各種符合標(biāo)準(zhǔn)(如DDR3,DDR3L,LPDDR2等) 。)等等。
本文將嘗試強調(diào)通過運行DDR的門級仿真可以找到的各種類型的問題,如何在設(shè)計中正確修復(fù)和實現(xiàn)它們以及應(yīng)該如何物理設(shè)計/STA團(tuán)隊可以避免此類問題。
DDR存儲器接口的門級仿真 - 示例問題,挑戰(zhàn)和解決方案
進(jìn)入DDR內(nèi)存控制器的時鐘占空比
進(jìn)入DDR控制器的時鐘質(zhì)量是一個重要參數(shù),因為控制器驅(qū)動大多數(shù)信號(如DDR時鐘,數(shù)據(jù)選通等)都是從這個時鐘本身導(dǎo)出的。
具有DDR控制器的SoC的通用圖
進(jìn)入外部存儲器的時鐘占空比應(yīng)在47-53%的范圍內(nèi)。確保正確操作。如果占空比超出源本身(即進(jìn)入控制器的時鐘)的范圍,則必須看到時鐘的高周期和低周期之間存在巨大差異,這可能導(dǎo)致違反各種參數(shù),如tdqsh_min ,tdqsl_min等.STA對此進(jìn)行檢查,但是有任何錯誤;不匹配可能導(dǎo)致寫入/讀取失敗。
WRITE的失敗看起來非常明顯,但這個問題也可能導(dǎo)致READ操作失??!重要的是要知道在READ期間,由DDR存儲器驅(qū)動的DQS內(nèi)部源自它接收的DDR時鐘。因此,如果存儲器正在獲得具有不良占空比的時鐘,則它在讀取期間生成的DQS可能違反讀取后同步周期(trpst)等規(guī)范。
因此,設(shè)計人員必須確保來自時鐘源(例如 - PLL)輸出到控制器輸入時鐘的輸入應(yīng)在時鐘的高低周期引入最小時滯。
讀取DQS門控問題
讀取DQS門控是一種功能,其中DQS被門控到控制器的讀取電路,直到讀取操作實際開始。這樣做是為了防止控制器的讀取FIFO損壞。讀取DQS門控在READ開始時禁用,并在讀取操作結(jié)束時再次啟用。見下面的例子:
第一個信號是門控讀取DQS信號,第二個是來自PAD的非門控DQS信號,n_52是讀取的使能信號DQS門控。從上面的波形可以清楚地看出,在讀取結(jié)束時延遲啟用讀取DQS選通導(dǎo)致在門控讀取DQS信號上捕獲“x”。
此外,由于它是異步事件,完成控制器的正確軟件編程,以便在正確的時間禁用讀取DQS門控。
如果讀取DQS門控與其他DQS相比遲到特定DQS字節(jié),則可能導(dǎo)致缺少該字節(jié)的完整讀取DQS脈沖。見下面的例子:
前4個信號對應(yīng)DQS0,后4個信號對應(yīng)DQS1。由于讀取DQS門控后來被DQS0禁用,因此導(dǎo)致完全錯過一個DQS脈沖(“rd_dqs”有4個脈沖而“rd_dqs_gated”只有3個)。另一方面,對于DQS1(低4個信號),DQS門控啟用/禁用正確發(fā)生。
因此,時序團(tuán)隊必須確保讀取DQS門控禁用信號的延遲對所有人來說都是相同的字節(jié)。對讀取前導(dǎo)碼應(yīng)該有讀取DQS門控解除斷言時間的時序檢查。
在未使用讀取DQS門控功能的情況下讀取電路損壞
如果未使用讀取DQS門控,則在DQS焊盤上使用下拉來保護(hù)讀取電路在寫入操作期間不被損壞。通常,在寫操作結(jié)束時,DQS焊盤的輸出路徑被禁用,輸入路徑被啟用。但是,如果輸入路徑稍微提前啟用(在寫入結(jié)束時),則可能導(dǎo)致DQS焊盤輸入路徑上的“x”損壞,從而破壞控制器的讀取電路。因此,時序團(tuán)隊必須確保DQS焊盤的輸入路徑僅在寫入操作完成后才會啟用。
環(huán)回操作時的注意事項
在環(huán)回的情況下,沒有外部存儲器連接到SoC。數(shù)據(jù)從DDR焊盤循環(huán)回存儲在讀FIFO中。環(huán)回功能用于確保讀/寫路徑的正確操作,并可用于測試目的。在環(huán)回的情況下,每當(dāng)向控制器發(fā)送WRITE命令時,它都啟用輸出路徑以及DQS焊盤的輸入路徑。但由于圖片延遲,數(shù)據(jù)末尾可能會出現(xiàn)爭用。時序團(tuán)隊必須確保DQS焊盤的“ibe”(焊盤的輸入路徑使能)的解除斷言僅在讀取電路完全捕獲數(shù)據(jù)時發(fā)生,否則可能導(dǎo)致輸入“x”損壞在環(huán)回期間讀取數(shù)據(jù)時DQS填充路徑或完全丟失數(shù)據(jù)。請參見下面的示例:
信號ipp_ibe_DDR0_DQS1是DQS1焊盤的輸入緩沖器使能,ipp_obe_DDR0_DQS1是輸出緩沖器使能。對于環(huán)回操作,兩者都是“1”。 DDR0_DQS1是焊盤信號,ipp_do_DDR0_DQS1是焊盤的輸出路徑,ipp_ind_DDR0_DQS1是輸入路徑。由于ibe解除斷言比焊盤上數(shù)據(jù)的下降沿更早發(fā)生,因此導(dǎo)致焊盤輸入路徑損壞(ipp_ind_DDR0_DQS1變?yōu)椤皒”)。
PAD電平的微調(diào)和微調(diào)選項
DDR電極板有多種微調(diào)選項 - 比如微調(diào)信號的占空比,控制信號的交叉點差分焊盤(DQS& CLK)的情況,控制焊盤輸出路徑的延遲等。但是,在GLS期間必須以最小的方式使用這些修整選項,并且必須通過定時本身來滿足大多數(shù)條件。這很重要,因此我們在沒有任何修整松弛的情況下完全強調(diào)設(shè)計。
關(guān)注DDR內(nèi)存模型發(fā)出的各種時序違規(guī)行為
重要的是要審查GLS模擬中由DDR內(nèi)存模型發(fā)出信號的每個警告/錯誤。當(dāng)實際延遲在GLS中出現(xiàn)時,模型會響應(yīng)違反各種時序參數(shù)的情況,這些參數(shù)本質(zhì)上看起來微不足道,但重要的是讓它們得到解決。例如,WRITE突發(fā)操作的結(jié)束稱為寫后同步周期(twpst)。一般的理解是寫可累計周期應(yīng)大于twpst_min參數(shù)。但是,僅當(dāng)twpst_min小于tdqsl_min(最小DQS低周期)時才會出現(xiàn)這種情況。在dqsl_min> twpst的情況下,對于寫后同步周期應(yīng)該滿足tdqsl_min時間。通過這種方式,我們在實現(xiàn)中維護(hù)tdqsl_min和twpst_min參數(shù)。
-
DDR
+關(guān)注
關(guān)注
11文章
732瀏覽量
66853 -
仿真
+關(guān)注
關(guān)注
52文章
4289瀏覽量
135900 -
PCB打樣
+關(guān)注
關(guān)注
17文章
2977瀏覽量
22586 -
華強PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
28619 -
華強pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43937
發(fā)布評論請先 登錄
電感元件的各種類型及其常見用法討論
三相異步電動機加壓啟動的各種類型
如何辨別各種類型的接口
主板的各種類型信號的基本走線要求
了解各種類型IC的封裝在PCB設(shè)計時準(zhǔn)確選擇IC
C51各種類型的大小

如何選擇各種類型逆變器電路中的MOS管
各種類型的混頻器及優(yōu)缺點
為電路設(shè)計執(zhí)行各種類型的SPICE仿真

評論