DDR存儲(chǔ)器不僅迅速成為領(lǐng)先的技術(shù),而且正成為存儲(chǔ)器設(shè)計(jì)中使用的唯一技術(shù)。因此,DDR系統(tǒng)在技術(shù)行業(yè)中有很高的需求。與原理圖和PCB設(shè)計(jì)軟??件集成在一起的高速仿真工具可以為設(shè)計(jì)人員提供廣泛的強(qiáng)大功能,以幫助完成整個(gè)DDR設(shè)計(jì)過程。從建立布局前約束到自動(dòng)布線技術(shù)以及布局后驗(yàn)證,這些工具消除了設(shè)計(jì)過程中的猜測(cè),同時(shí)使工程團(tuán)隊(duì)可以放心地知道他們的系統(tǒng)將按預(yù)期運(yùn)行。
用于此DDR演示的設(shè)計(jì)是SiFive的HiFive Unleashed,基于RISC-V的開發(fā)板。除了其他一些接口和功能(圖1)之外,該板還具有8 GB的帶ECC的DDR4 DDR4。
圖1:HiFive Unleashed開發(fā)板上可用的功能
在原理圖中,兩個(gè)差分選通網(wǎng)絡(luò)以及一條數(shù)據(jù)總線上的四個(gè)數(shù)據(jù)網(wǎng)絡(luò)可以直接輸出到HyperLynx LineSim進(jìn)行預(yù)布局仿真(圖2)。借助HyperLynx DDR的擴(kuò)展功能,使用組件IBIS模型模擬現(xiàn)實(shí)世界的場(chǎng)景,可使工程師在布局電路板之前確定并優(yōu)化傳輸線的性能。供應(yīng)商通常為DDR控制器提供IBIS模型,為I / O行為建模提供DRAM組件。
圖2:可以從原理圖工具中將四個(gè)數(shù)據(jù)網(wǎng)和差分選通網(wǎng)導(dǎo)出到Linesim
在LineSim中,數(shù)據(jù)和選通網(wǎng)絡(luò)的引腳和映射已從其原理圖符號(hào)中自動(dòng)保留下來。然后,工程師除了可以從組件IBIS模型中獲得驅(qū)動(dòng)強(qiáng)度和ODT值以外,還可以分配控制器的特定于引腳的緩沖區(qū)數(shù)據(jù)。在這種情況下,具有48歐姆終端值的中等驅(qū)動(dòng)強(qiáng)度將可以達(dá)到預(yù)期的目的。一旦將引腳分配并指定為輸入或輸出,它們的LineSim符號(hào)將準(zhǔn)確反映緩沖器的方向和引腳名稱(圖3)。
圖3:網(wǎng)絡(luò)及其關(guān)聯(lián)的緩沖區(qū)顯示在LineSim中
除材料的介電常數(shù)外,層厚度還會(huì)對(duì)電氣組件的功能產(chǎn)生重大影響,尤其是在高頻下。工程師能夠在HyperLynx內(nèi)部創(chuàng)建層堆疊并計(jì)算信號(hào),平面和介電數(shù)據(jù)(圖4)。預(yù)先布局的DDR LineSim中的堆棧功能使您可以了解此信息將如何影響阻抗值和信號(hào)行為。
圖4:堆棧編輯器可以幫助確定初始堆棧數(shù)據(jù)
可以創(chuàng)建耦合區(qū)域,以幫助計(jì)劃和可視化潛在的信號(hào)放置和分組,以及確定走線阻抗和耦合距離。當(dāng)對(duì)走線的長(zhǎng)度,寬度和間距進(jìn)行仿真掃描時(shí),這些區(qū)域很有用,以便為布局約束找到可接受的參數(shù)。在此示例中,工程師創(chuàng)建了兩個(gè)耦合區(qū)域:一個(gè)用于數(shù)據(jù)網(wǎng)絡(luò),另一個(gè)用于選通網(wǎng)絡(luò)。一旦將差分跡線添加到它們的耦合區(qū)域,就可以調(diào)整寬度和間距參數(shù)以微調(diào)值,同時(shí)確保滿足阻抗公差(圖5)。在此示例中,電路板將被密集地包裝,因此工程師將嘗試最小化走線寬度和間距,同時(shí)仍保持在100歐姆差分阻抗規(guī)格附近。
圖5:在LineSim中可視化了選定耦合區(qū)域的走線寬度和間距值
一旦分配了組件模型和耦合區(qū)域,就可以對(duì)網(wǎng)絡(luò)進(jìn)行仿真了。DDRx向?qū)⒁龑?dǎo)用戶逐步進(jìn)行設(shè)置過程(圖6)。首先,必須在“初始化”頁面上指定DDR接口的類型以及數(shù)據(jù)速率。接下來,必須在“控制器”和“ DRAM”頁面上使用適當(dāng)?shù)膮⒖紭?biāo)記來分配控制器和DRAM設(shè)備。在選擇DRAM時(shí),用戶還將指出插槽和等級(jí)的數(shù)量。插槽代表設(shè)計(jì)中存在的DIMM模塊的物理數(shù)量。由于此設(shè)計(jì)沒有可移動(dòng)的DIMM模塊,因此插槽數(shù)為零。板上的板載DRAM模塊只有一個(gè)芯片,與一個(gè)等級(jí)相關(guān)。
圖6:DDRx向?qū)⒁龑?dǎo)用戶逐步進(jìn)行設(shè)置過程
由于工程師最初對(duì)確定物理網(wǎng)絡(luò)參數(shù)將如何影響數(shù)據(jù)網(wǎng)絡(luò)上的時(shí)序感興趣,因此將在“要模擬的網(wǎng)絡(luò)”頁面上僅選擇“數(shù)據(jù)時(shí)序”部分。如果需要,還可以提供用于模擬偏斜時(shí)序以及地址和命令時(shí)序的選項(xiàng)。幾乎所有DRAM供應(yīng)商都遵循通用的命名約定,以遵守JEDEC標(biāo)準(zhǔn)。DDRx向?qū)褂么藰?biāo)準(zhǔn)約定自動(dòng)確定“ DRAM Signals”頁面上的DDR內(nèi)存總線信號(hào)。僅需模擬一個(gè)數(shù)據(jù)網(wǎng)絡(luò)即可找到初始時(shí)序信息,因此可以在“禁用網(wǎng)絡(luò)”頁面上禁用除一個(gè)網(wǎng)絡(luò)以外的所有網(wǎng)絡(luò)。芯片上端接是內(nèi)置在DRAM硅中用于阻抗匹配的動(dòng)態(tài)端接電阻。不同的ODT設(shè)置可能會(huì)對(duì)信號(hào)質(zhì)量產(chǎn)生很大影響。在“ ODT模型”頁面上,可以選擇從IBIS模型得出的控制器和DRAM設(shè)備的動(dòng)態(tài)ODT值?!凹?lì)和串?dāng)_”頁面允許用戶控制在檢查SI損傷時(shí)運(yùn)行多少個(gè)偽隨機(jī)序列。為了加快仿真運(yùn)行時(shí)間,可以使用較小的位模式。為了獲得更準(zhǔn)確的結(jié)果,可以使用更長(zhǎng)的位模式。
布局前仿真DDRx向?qū)褂脩艨梢栽O(shè)置掃描,以確定一定范圍的值將如何影響信號(hào)行為。在這種情況下,工程師希望查看不同的選通網(wǎng)絡(luò)長(zhǎng)度對(duì)數(shù)據(jù)信號(hào)質(zhì)量的影響。在“掃描管理器”頁面上選擇差分耦合區(qū)域,可以指定長(zhǎng)度范圍從半英寸到兩個(gè)半英寸(增量為四分之一英寸)(圖7)。這些值是根據(jù)大約1.2英寸的初步數(shù)據(jù)網(wǎng)長(zhǎng)度選擇的。
圖7:可以設(shè)置掃描以模擬不同的頻閃網(wǎng)絡(luò)長(zhǎng)度
模型角點(diǎn)可以提供有價(jià)值的洞察力,以了解IC在典型或極限參數(shù)值下的性能。通過僅在“模擬選項(xiàng)”頁面上選擇快速和慢速模型角,工程師可以洞悉信號(hào)在兩種極端情況下的性能。如果它們?cè)谶@些條件下通過,則可以預(yù)期它們?cè)诘湫颓闆r下會(huì)通過。在其余的設(shè)置階段中,無需進(jìn)行其他任何調(diào)整。啟動(dòng)模擬后,模擬器將逐步執(zhí)行先前定義的9個(gè)掃描中的每個(gè)掃描。完成后,輸出HTML報(bào)告將顯示每次掃描的結(jié)果。紅色的單元格和通過次數(shù)代表失敗,綠色的單元格代表失敗。很顯然,在執(zhí)行寫命令期間,當(dāng)差分閃光燈的長(zhǎng)度小于四分之三英寸或大于四分之一或四分之一英寸時(shí),就會(huì)發(fā)生故障(圖8)。這表明在數(shù)據(jù)網(wǎng)絡(luò)和選通網(wǎng)絡(luò)之間大約有正負(fù)半英寸的可接受長(zhǎng)度差異。讀取命令模仿了相同的響應(yīng)。
圖8:輸出的HTML報(bào)告顯示每次掃描是通過還是失敗
可以查看每個(gè)掃描的眼圖密度鏈接,以進(jìn)行更好的比較。圖中的眼罩可解決DQS邊緣變化并自動(dòng)放置。第一張圖(圖9)顯示了大于2英寸的差分閃光燈網(wǎng)長(zhǎng)。第二張圖(圖10)顯示了在可接受的長(zhǎng)度參數(shù)范圍內(nèi)的選通脈沖長(zhǎng)度。這兩個(gè)圖顯示了通過和失敗之間的明顯區(qū)別。
圖9:眼圖顯示了差分頻閃燈網(wǎng)長(zhǎng)大于2英寸時(shí)的信號(hào)并發(fā)癥
圖10:眼圖顯示了可接受的差分選通網(wǎng)絡(luò)長(zhǎng)度,信號(hào)質(zhì)量顯著提高
回到LineSim,工程師在原理圖中添加了兩個(gè)地址網(wǎng)(圖11)。此布局使用翻蓋技術(shù)以節(jié)省空間。通過放置用于從引腳到內(nèi)部走線層的層更改的過孔來解決此布線拓?fù)鋯栴}。還為駐留在同一內(nèi)層上的地址網(wǎng)的每個(gè)段(包括耦合到數(shù)據(jù)網(wǎng)的段)創(chuàng)建了耦合區(qū)域。
圖11:LineSim示意圖中所示的地址網(wǎng)和相關(guān)的耦合區(qū)域
工程師將運(yùn)行交互式仿真來查看從地址網(wǎng)絡(luò)施加到受害者數(shù)據(jù)網(wǎng)上的串?dāng)_,而不是運(yùn)行另一個(gè)批處理仿真。要了解走線間距如何影響串?dāng)_結(jié)果,地址和數(shù)據(jù)網(wǎng)之間的寬度可以從4到12 mils范圍內(nèi)掃描。通過將數(shù)據(jù)位9識(shí)別為受害者,可以確定在該特定跡線上由附近的攻擊者網(wǎng)絡(luò)誘發(fā)的噪聲量。然后可以將這些發(fā)現(xiàn)合并到布局實(shí)踐中。一旦仿真完成,結(jié)果表明,當(dāng)走線間距為4 mils時(shí),串?dāng)_會(huì)達(dá)到最高水平(圖12)。但是,即使看到的最大串?dāng)_量也約為120 mV,這對(duì)于性能而言可能是可以接受的。如果電平開始達(dá)到150 mV以上,
圖12:串?dāng)_仿真結(jié)果表明,在4 mils的走線間距下發(fā)生了最高水平的串?dāng)_
利用從運(yùn)行這些布局前仿真中發(fā)現(xiàn)的信息,工程師可以使用原理圖工具內(nèi)部的約束管理器創(chuàng)建初始約束。約束管理器允許用戶創(chuàng)建網(wǎng)類,清除規(guī)則和約束類,以確保滿足物理布局和布線要求??梢詣?chuàng)建網(wǎng)類以定義指定網(wǎng)上的寬度和間距要求。工程師創(chuàng)建了一個(gè)名為“ DDR_BANK1”的網(wǎng)絡(luò)類,其中包含單個(gè)DRAM模塊的數(shù)據(jù)和數(shù)據(jù)掩碼網(wǎng)絡(luò)??紤]到來自堆疊的電介質(zhì)和阻抗信息,數(shù)據(jù)和數(shù)據(jù)屏蔽網(wǎng)的寬度應(yīng)約為3.5密耳,以使單端阻抗值保持在50歐姆左右。輸入值后,約束管理器將根據(jù)走線寬度顯示近似阻抗值(圖13)。頂層和底層的阻抗將不再那么重要,因?yàn)槲挥谶@些層上的走線的唯一部分將是來自器件引腳的扇出。在“約束管理器”中定義了參數(shù)之后,布局工具將要求在放置和布線時(shí)遵守這些約束??梢詮脑韴D和布局工具中訪問“約束管理器”,以便工程師和布局專家之間進(jìn)行簡(jiǎn)單的協(xié)作,以及動(dòng)態(tài)地進(jìn)行動(dòng)態(tài)編輯。在“約束管理器”中定義了參數(shù)之后,布局工具將要求在放置和布線時(shí)遵守這些約束。可以從原理圖和布局工具中訪問“約束管理器”,以便工程師和布局專家之間進(jìn)行簡(jiǎn)單的協(xié)作,以及動(dòng)態(tài)地進(jìn)行動(dòng)態(tài)編輯。在“約束管理器”中定義了參數(shù)之后,布局工具將要求在放置和布線時(shí)遵守這些約束。可以從原理圖和布局工具中訪問“約束管理器”,以便工程師和布局專家之間進(jìn)行簡(jiǎn)單的協(xié)作,以及動(dòng)態(tài)地進(jìn)行動(dòng)態(tài)編輯。
圖13:輸入跡線寬度值后,約束管理器將計(jì)算阻抗值
可以創(chuàng)建間隙規(guī)則來定義網(wǎng),組件和電路板對(duì)象之間的物理間隙約束。約束類允許用戶使用相同或單獨(dú)的網(wǎng)絡(luò)類分配將網(wǎng)絡(luò)分組在一起,同時(shí)還允許向每個(gè)網(wǎng)絡(luò)添加物理需求。除了針對(duì)DRAM的單個(gè)約束類別外,工程師還為數(shù)據(jù)和選通網(wǎng)絡(luò)創(chuàng)建了單獨(dú)的清除規(guī)則。約束類將包含數(shù)據(jù)庫的所有數(shù)據(jù),數(shù)據(jù)掩碼和選通網(wǎng)。一旦創(chuàng)建了約束類別,并向其中添加了適當(dāng)?shù)木W(wǎng)絡(luò),就可以為這些網(wǎng)絡(luò)定義許多物理參數(shù),包括阻抗容差和長(zhǎng)度匹配要求。LineSim仿真表明,選通網(wǎng)絡(luò)必須在數(shù)據(jù)網(wǎng)絡(luò)的半英寸內(nèi)匹配,可以在約束類中定義。此外,工程師還希望確保數(shù)據(jù)和數(shù)據(jù)屏蔽網(wǎng)的長(zhǎng)度在200密耳范圍內(nèi)匹配(圖14)。
圖14:數(shù)據(jù)和數(shù)據(jù)掩碼網(wǎng)的長(zhǎng)度應(yīng)在約束管理器中定義的200密耳范圍內(nèi)匹配
串?dāng)_仿真結(jié)果確定,即使數(shù)據(jù)網(wǎng)絡(luò)之間的間隔為4 mil,串?dāng)_水平也應(yīng)在合理范圍內(nèi)。為了安全起見,工程師已將間隙規(guī)則要求設(shè)置為5 mil的間距閾值(圖15)。如果執(zhí)行額外的仿真計(jì)算,則還可在走線,焊盤和過孔之間應(yīng)用更精確的間隙值。類別間許可矩陣允許用戶指定在凈類別之間適用的許可規(guī)則。
圖15:約束管理器中定義了5 mil的清除閾值
分配了初始的網(wǎng)絡(luò)約束后,設(shè)計(jì)人員已準(zhǔn)備好為適當(dāng)?shù)腄RAM路由走線。對(duì)于這種布局,SoC已放置在電路板的中間,而DRAM模塊位于其下方。每個(gè)組件的引腳的扇出已放置在頂層和底層。此DRAM的其余網(wǎng)段將在第5層上布線。在Net Explorer面板中,選擇DDR1約束類別將突出顯示網(wǎng)的引腳連接(圖16)。
圖16:在Net Explorer中選擇先前定義的DDR1約束類別將突出顯示引腳連接
現(xiàn)在,設(shè)計(jì)人員可以簡(jiǎn)單地選擇約束類,通過在鍵盤上按F8來打開草圖布線,用鼠標(biāo)繪制其預(yù)期的布線路徑,該工具將自動(dòng)對(duì)軌跡進(jìn)行布線。右鍵單擊一個(gè)路由的數(shù)據(jù)網(wǎng)絡(luò)并選擇目標(biāo)長(zhǎng)度,可以輕松查看匹配組中每個(gè)跡線的實(shí)際長(zhǎng)度值(圖17)。這有助于可視化跡線是否落在工程師先前設(shè)置的200密耳長(zhǎng)度匹配約束范圍內(nèi)。顯然,走線長(zhǎng)度不符合指定的要求,因此設(shè)計(jì)人員可以使用自動(dòng)調(diào)整功能來快速蛇形匹配該組中的所有走線信號(hào)。
圖17:目標(biāo)長(zhǎng)度功能使用戶可以清楚地看到其走線長(zhǎng)度是否已正確調(diào)整
正確路由接口后,用戶可以將布局直接導(dǎo)出到HyperLynx DDR以進(jìn)行布局后分析。運(yùn)行布局后分析的目的是驗(yàn)證電路的正確功能和完整性。布局后仿真將考慮網(wǎng)和堆疊的實(shí)際長(zhǎng)度和阻抗值,以及相鄰走線和組件的影響。加載HyperLynx BoardSim后(圖18),設(shè)計(jì)人員將首先啟用信號(hào)之間的耦合效果,信號(hào)與區(qū)域填充之間的耦合效果以及損耗的影響,以更準(zhǔn)確地預(yù)測(cè)信號(hào)行為。借助布局后DDR分析,用戶可以運(yùn)行交互式和批處理仿真,以全面了解系統(tǒng)功能。在交互式仿真過程中生成的示波器視圖將為單獨(dú)選擇的網(wǎng)絡(luò)提供真實(shí)的波形和值。對(duì)于此演示,將僅顯示批處理仿真。
圖18:HyperLynx BoardSim布局后工具視圖
在布局后DDRx向?qū)е?,工程師最初將指定此接口為DDR4,每秒傳輸速率為2400兆兆。接下來,必須分配控制器組件。這次,當(dāng)分配內(nèi)存組件時(shí),工程師將選擇所有9個(gè)DRAM。由于整個(gè)DRAM接口均已布線,因此可以通過模擬數(shù)據(jù)的時(shí)序,時(shí)鐘到選通脈沖的偏斜以及地址和命令來收集重要的功能信息(圖19)。在這種情況下,感興趣的網(wǎng)絡(luò)是地址網(wǎng)絡(luò)以及剛剛路由的數(shù)據(jù)和選通信號(hào)之一。此處也將使用與布局前模擬相同的ODT設(shè)置,但是使用不同的ODT值運(yùn)行多個(gè)模擬非常重要。
圖19:從布局后仿真中提取的時(shí)序信息可以為電路性能提供有價(jià)值的見解
存儲(chǔ)器控制器本身必須實(shí)時(shí)補(bǔ)償時(shí)鐘和選通信號(hào)之間的偏差。它通過在必要時(shí)添加適當(dāng)?shù)难舆t(稱為寫平衡)來實(shí)現(xiàn)此目的。該向?qū)У腄DRx可以選擇“三通一平及校準(zhǔn)”頁面上的復(fù)選框,當(dāng)模擬過程中占到寫平衡。默認(rèn)的DRAM時(shí)序模型符合JEDEC,但控制器模型應(yīng)特定于設(shè)計(jì)的控制器設(shè)備。時(shí)序模型向?qū)Э梢詮摹皶r(shí)序模型”頁面啟動(dòng),該頁面用于基于供應(yīng)商時(shí)序參數(shù)設(shè)置和創(chuàng)建自定義時(shí)序模型。同時(shí)模擬快速和慢速模型拐角可提供最極端情況下的性能信息。HyperLynx DDR提供的自定義級(jí)別允許用戶創(chuàng)建高度針對(duì)設(shè)計(jì)的參數(shù)和限制,
仿真完成后,HTML報(bào)告表明對(duì)于慢速模型拐角情況,所有網(wǎng)絡(luò)都通過了數(shù)據(jù)寫入命令,但是快速模型拐角情況沒有達(dá)到最大擺率裕度(圖20)??赡苄枰獙?duì)這些錯(cuò)誤進(jìn)行進(jìn)一步調(diào)查,并進(jìn)行其他模擬。HTML報(bào)告中的每個(gè)結(jié)果均包含一個(gè)超鏈接,該超鏈接將打開該實(shí)例的EZwave示波器視圖。
圖20:HTML仿真報(bào)告顯示,快速模型拐角情況沒有達(dá)到最大擺率裕度
“差分網(wǎng)絡(luò)”選項(xiàng)卡顯示了在多條跡線上發(fā)生的許多錯(cuò)誤,可能需要進(jìn)一步關(guān)注和研究(圖21)。由于在控制器上啟用了寫入均衡選項(xiàng),因此可以滿足所有偏斜裕量。眼密度鏈接頁面允許進(jìn)一步調(diào)查和可視化每個(gè)模擬結(jié)果。
圖21:“差分網(wǎng)絡(luò)”選項(xiàng)卡顯示了許多錯(cuò)誤
對(duì)于本演示的最后部分,將使用常規(guī)批處理向?qū)H模擬數(shù)據(jù)和數(shù)據(jù)掩碼網(wǎng)絡(luò)上的串?dāng)_效應(yīng)。僅模擬快速模型角點(diǎn)將說明大部分串?dāng)_都會(huì)發(fā)生的情況。然后,工程師將自定義耦合閾值,以具有緊密的參數(shù),與攻擊者的最大距離為20密耳,最小耦合跡線長(zhǎng)度為200密耳(圖22)。最后,每個(gè)網(wǎng)絡(luò)上允許的最大串?dāng)_水平將指定為50 mV。
圖22:可以根據(jù)特定設(shè)計(jì)要求定制耦合閾值
一旦模擬完成并顯示HTML報(bào)告,工程師就可以安全地確定數(shù)據(jù)網(wǎng)不會(huì)成為無法接受的串?dāng)_的犧牲品。任何網(wǎng)絡(luò)上的最大串?dāng)_都在40 mV以下(圖23),仍遠(yuǎn)低于所確定的50 mV閾值。
圖23:沒有一個(gè)網(wǎng)絡(luò)超過50 mV的串?dāng)_閾值
HyperLynx DDR中提供的強(qiáng)大功能使工程師能夠在設(shè)計(jì)過程的所有階段可視化現(xiàn)實(shí)世界中的性能障礙。借助這項(xiàng)技術(shù),可以捕捉和反轉(zhuǎn)信號(hào),并在發(fā)生嚴(yán)重信號(hào)完整性之前就完全避免了它們的發(fā)生。借助集成的仿真和設(shè)計(jì)工具,用戶可以消除DDR設(shè)計(jì)過程中的麻煩,同時(shí)消除了復(fù)雜的信號(hào)完整性問題并避免了昂貴的電路板重新設(shè)計(jì)。
由西門子業(yè)務(wù)部門Mentor貢獻(xiàn)
編輯:hfy
-
DDR存儲(chǔ)器
+關(guān)注
關(guān)注
0文章
8瀏覽量
7770 -
RISC-V
+關(guān)注
關(guān)注
45文章
2277瀏覽量
46159
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論