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

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

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

利用靜態(tài)時序分析工具解決帶寬不足問題

集成電路應(yīng)用雜志 ? 來源:YXQ ? 2019-08-03 10:36 ? 次閱讀

為提高帶寬,很多類型的 Memory 都采用了 Double Data RateDDR)interface,它對在內(nèi)存控制器(memory controller)設(shè)計(jì)過程中的時序收斂和后仿真提出了挑戰(zhàn)。

1 引言

Double Data Rate (DDR) 接口ASIC 領(lǐng)域應(yīng)用得很廣,尤其在 Memory 領(lǐng)域,從 DDR SDRAM 誕生后 Memory 經(jīng)歷了 DDR2,DDR3 乃至現(xiàn)在主流的 DDR4,它們在數(shù)據(jù)接口上都使用的 Double Data Rate(DDR)interface[1-4]。DDR interface 是一種源同步接口,時鐘(DQS)和數(shù)據(jù)(DQ)都由發(fā)送方提供。讀操作時 Memory 提供時鐘和讀數(shù)據(jù),Memory 僅在有數(shù)據(jù)的時間段內(nèi)驅(qū)動時鐘(DQS),時鐘和數(shù)據(jù)是沿對齊(edge alignment),內(nèi)存控制器(Memory controller)使用收到的時鐘(DQS)的上下沿采樣數(shù)據(jù)。寫操作時內(nèi)存控制器提供時鐘和寫數(shù)據(jù)且僅在有數(shù)據(jù)的時間段內(nèi)驅(qū)動時鐘(DQS),時鐘和數(shù)據(jù)是中間對齊(center alignment),內(nèi)存(Memory)也使用時鐘的上下沿采樣數(shù)據(jù)。基于這樣的協(xié)議,通常讀操作時內(nèi)存控制器使用延長線延遲輸入的 DQS, 以滿足足夠的建立保持時間采樣讀數(shù)據(jù)。而寫操作時,內(nèi)存控制器需要將輸出的 DQS 做一定延遲以使內(nèi)存有足夠的建立保持時間采樣寫數(shù)據(jù)。因?yàn)槭菚r鐘上下沿都需要采樣數(shù)據(jù),隨著 Memory 時鐘頻率的加快,對時序收斂和后仿真都提出了挑戰(zhàn)。

本文介紹了一種通過靜態(tài)時序分析工具進(jìn)行時序檢查及指導(dǎo)后仿真工作的方法。

2 DDR Memory 讀接口

根據(jù) JEDEC Spec,DDR Memory 讀的時序如圖 1。

DQS 上升沿的參數(shù):① tDQSQ 是最晚有效數(shù)據(jù)的翻轉(zhuǎn),它反映著 DQ 的偏移(Skew)。② tDH是最早無效數(shù)據(jù)的開始,它反映著 DQ 的有效寬度。

DQS 下降沿的參數(shù):① tDQSQ 是最晚有效數(shù)據(jù)的翻轉(zhuǎn),它反映著 DQ 的偏移(Skew)。② tDH 是最早無效數(shù)據(jù)的開始,它反映著DQ的有效寬度。

讀操作時 Memory 提供時鐘和讀數(shù)據(jù),Memory僅在有數(shù)據(jù)的時間段內(nèi)驅(qū)動時鐘(DQS),時鐘和數(shù)據(jù)是沿對齊,內(nèi)存控制器(Memory controller)使用收到的時鐘(DQS)的上下沿采樣數(shù)據(jù)。鑒于DDR Memory 這個特性(上下沿都會發(fā)送數(shù)據(jù)),內(nèi)存控制器一般會使用延長線去延遲輸入的 DQS 然后再去采樣數(shù)據(jù)的電路,其結(jié)構(gòu)可如圖 2。

根據(jù)電路結(jié)構(gòu),它的時序約束可以如下設(shè)置(以 DDR3-1600 為例)。

使用 create_clock 和 create_generated_clock 定義了 Memory 產(chǎn)生的 dqs 經(jīng)過延遲線延遲后到達(dá) i_rdata_r/f 的 clock。

因?yàn)?Memory 既在上升沿發(fā)送數(shù)據(jù)又在下降沿發(fā)送數(shù)據(jù),所以需要使用下面兩條命令來約束輸入數(shù)據(jù)的建立時間(setup time)的要求。

根據(jù)時序要求還需要設(shè)置輸入數(shù)據(jù)的保持時間(hold time)的要求如下。

“set_multicycle_path 0”反映著圖 2 電路的工作機(jī)制,i_data_r/f 的采樣時鐘是經(jīng)過 delay chain 延遲后的 clock,理論上的建立時間不是通常時序電路中的一個周期,所以設(shè)為 multicycle_path=0。

根據(jù)上面的時序約束可以在靜態(tài)時序工具中得到如下的時序報告。pd 到 i_rdata_r 的建立時間(setup time) 報告如下。

從上面報告看到輸入數(shù)據(jù)被發(fā)送的時間從 0 ns 開始計(jì)算,而被采樣的時間也為 0 ns 開始計(jì)算,這恰好是符合 i_rdata_r 采樣的時鐘是來自延遲后的 DQS 的上升沿,隨著延遲線延遲的增大,i_rdata_r 的建立時間的余量會越來越大。

pd 到 i_rdata_r 的保持時間(hold time)的報告如下。

從上面報告看到新數(shù)據(jù)被發(fā)送的時間從 0.62 ns 開始計(jì)算并且上一筆數(shù)據(jù)被采樣的時間也從 0 ns 開始計(jì)算,這也符合電路工作實(shí)際情況。延遲線延遲最小時 i_rdata_r 的保持時間的余量最大,隨著延遲線延遲的增大,保持時間的余量會越來越小(表 1)。

上面的時序報告描述了 i_rdata_r 的時序情況,i_data_f 的時序報告類似,只是 launch/capture 的時間不同而已,在此不再贅述。

根據(jù)上面的分析說明時序報告符合電路工作預(yù)期,所以時序約束是正確的。但在實(shí)際時序收斂時還不能像一般芯片內(nèi)部的數(shù)字電路那樣簡單地根據(jù)設(shè)定的時鐘和 IO 約束進(jìn)行時序收斂,理由如下。

圖 3 是芯片內(nèi)部一般數(shù)字電路的基本結(jié)構(gòu),它的時序關(guān)系如圖 4 所示。

flop1/CP 在 edge 2 發(fā)送新的數(shù)據(jù),flop2 會在 edge3 采樣這筆數(shù)據(jù),這是它們之間的建立時間(setup time)的檢查。同樣 flop1/CP 的 edge 4 也可能發(fā)送新的數(shù)據(jù),這些數(shù)據(jù)不能被 flop2/CP 的 edge4 采樣到,這個時序檢查就是保持時間(hold time)的檢查?;谶@樣工作模式和靜態(tài)時序檢查方法,EDA 工具能夠比較容易根據(jù)時鐘頻率的要求和電路自身的快慢自動地滿足上述電路的時序要求。例如當(dāng)建立時間不滿足時 EDA 工具可以通過縮短flop1/Q->flop2/D 路徑的延遲或者利用 flop1/CP 和flop2/CP的skew 做到,但這些都不太適合 DDR Memory interface。因?yàn)閳D 2 中 i_rdata_r/f 的時鐘是經(jīng)過延遲線的,而這個延遲可能需要根據(jù)外接 Memory 的不同、工作頻率的不同甚至工作電壓及溫度的不同進(jìn)行調(diào)節(jié)以滿足 i_rdata_r/i_rdata_f 數(shù)據(jù)端的建立保持時間的要求,這樣才能夠正確接收數(shù)據(jù)。因此在時序收斂過程中時無法按照確定的延遲線延遲進(jìn)行時序收斂,如果固定延遲進(jìn)行時序收斂有可能會導(dǎo)致延遲線可用工作范圍變小。事實(shí)上,圖 2 電路的時序收斂通常做法就是使 pd 到 i_rdata_r/f/D 的延遲和 dqs 到 i_rdata_r/CP 和 i_rdata_f/CP 的延遲盡量相等,這樣才能保證將來做延遲線調(diào)節(jié)時有足夠的調(diào)節(jié)范圍,但這樣做法可能導(dǎo)致在自動布局布線完成后 i_rdata_r或i_rdata_f 的數(shù)據(jù)端的建立/保持時間不是一直能夠得到滿足的,從而導(dǎo)致在后仿真時有可能遇到時序違例,造成后仿真失敗,這種情況在 DDR Memory interface 是多 bit 時,由于不同 bit 之間的延遲偏差會更嚴(yán)重,給后仿真帶來困難,因?yàn)榉抡婀こ處熜枰业揭粋€合理的延遲線設(shè)置同時滿足不同 bit 和上下沿的建立保持時間的要求。而且,它隨著 DDR 速度的增加還會惡化。事實(shí)上基于前面的時序約束,通過腳本改變延長線的延遲設(shè)置然后做時序分析,可以很方便地利用靜態(tài)時序工具獲得后仿真時所需的延遲線的設(shè)置以滿足所有 bits 及上下沿的時序要求。這樣的方法也可以幫助我們分析讀路徑中實(shí)際可用的延遲線工作范圍,從而指導(dǎo)時序收斂過程。如當(dāng)自動布局布線工具 APR 時由于某種原因?qū)е?dqs 到 i_rdata_r/CP 或 _rdata_f/CP 的延遲比 pd 到 i_rdata_r/D 或 i_rdata_f/D 的延遲偏大時,這會導(dǎo)致延遲線可調(diào)范圍變小。設(shè)計(jì)者可以使用上述方法發(fā)現(xiàn)這樣的問題。

通過靜態(tài)時序工具可以得到上述方法的結(jié)果(表 1),它反映了隨著延遲線的調(diào)整 i_rdata_r/f 的建立保持時間滿足的情況,正值表示相應(yīng)的時序是滿足的,負(fù)值說明相應(yīng)的時序是不滿足的。可用的延遲線的設(shè)置是 i_rdata_r和i_rdata_f 的建立(setup)和保持(hold)時間都是正值。比較后得到 step=1~7 都是可以使用的延遲線設(shè)置,它們的中點(diǎn)大約為 step=4,這個值可以用來做 post-SDF 仿真。

因此上文中的 DDR Memory interface 的時序設(shè)置及后續(xù)時序檢查方法可以很好地檢查 DDR 讀接口的時序滿足情況并可以很方便地找到可用的后仿真設(shè)置,極大地提高了工作效率。

3 DDR Memory 寫接口

類似 DDR Memory 讀接口,JEDEC Spec 的 DDR Memory 寫時序如圖 5 所示。① tDQSH:Write DQS 高電平的寬度;② tDQSL:Write DQS 低電平的寬度;③ tDS:寫數(shù)據(jù)的建立時間;④ tDH:寫數(shù)據(jù)的保持時間。

寫操作時內(nèi)存控制器提供時鐘和寫數(shù)據(jù)且僅在有數(shù)據(jù)的時間段內(nèi)驅(qū)動時鐘(DQS),時鐘和數(shù)據(jù)在內(nèi)存的輸入需要滿足中間對齊(center alignment),這樣內(nèi)存端(Memory)就可以使用時鐘(DQS)的上下沿采樣數(shù)據(jù)。圖 6 寫電路工作時序如圖 7 所示,i_wdata_r/f 的數(shù)據(jù)經(jīng)過 MUX 選擇后就會變成一個上下沿都翻轉(zhuǎn)的數(shù)據(jù),而 dqs 經(jīng)過延遲線后可以和寫數(shù)據(jù)達(dá)到中間對齊(center alignment), 從而滿足 DDR Memory 對寫數(shù)據(jù)的建立保持時間的要求。

根據(jù)圖 5、圖 6、圖 7 寫電路的時序約束可以添加圖 7 中寫數(shù)據(jù)和 DQS 間關(guān)系。對應(yīng)在靜態(tài)時序工具中可以得到時序報告。

綜上,基于前述的 DDR Memory 寫路徑時序約束的靜態(tài)時序報告和電路預(yù)期的工作模式是一致的,但和讀電路類似,為了保證 write DQS 有足夠的可調(diào)范圍,寫電路時序收斂時一般也只是盡量將數(shù)據(jù)和時鐘的 path 做 balance, 而不能基于某個延遲線的設(shè)置或某個頻率做簡單地修 timing 的工作,并且 Memory不同工作頻率下對于輸入數(shù)據(jù)的建立保持時間的要求也不同,也不易按照一個固定的標(biāo)準(zhǔn)做時序收斂。這樣有可能導(dǎo)致像讀電路一樣后仿真時需要調(diào)節(jié)寫時鐘延遲線的設(shè)置以滿足寫數(shù)據(jù)的建立/保持時間的要求。同樣在多 Memory bit 的設(shè)計(jì)情況時這樣工作也會隨著頻率的提高越來越不易,因此類似讀操作時的做法,這項(xiàng)工作也可以通過腳本改變延遲線的設(shè)置,在靜態(tài)時序工具里完成。

4 結(jié)語

本文介紹靜態(tài)時序工具在 DDR Memory interface 的時序分析,以及其在后仿真中的應(yīng)用。從實(shí)踐角度彌補(bǔ)了 DDR Memory interface 時序收斂目標(biāo)和后仿真目標(biāo)之間的差異,可以在滿足時序收斂目標(biāo)的前提的情況下給設(shè)計(jì)者提供一種快速找到合適的后仿真設(shè)置的方法。


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

    關(guān)注

    50

    文章

    4023

    瀏覽量

    133338
  • 時序
    +關(guān)注

    關(guān)注

    5

    文章

    384

    瀏覽量

    37249

原文標(biāo)題:靜態(tài)時序工具在 DDR Memory 接口時序收斂和后仿真中的應(yīng)用

文章出處:【微信號:appic-cn,微信公眾號:集成電路應(yīng)用雜志】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    TPS65950實(shí)時時鐘時序補(bǔ)償分析

    電子發(fā)燒友網(wǎng)站提供《TPS65950實(shí)時時鐘時序補(bǔ)償分析.pdf》資料免費(fèi)下載
    發(fā)表于 10-29 10:01 ?0次下載
    TPS65950實(shí)時時鐘<b class='flag-5'>時序</b>補(bǔ)償<b class='flag-5'>分析</b>

    使用IBIS模型進(jìn)行時序分析

    電子發(fā)燒友網(wǎng)站提供《使用IBIS模型進(jìn)行時序分析.pdf》資料免費(fèi)下載
    發(fā)表于 10-21 10:00 ?0次下載
    使用IBIS模型進(jìn)行<b class='flag-5'>時序</b><b class='flag-5'>分析</b>

    Perforce靜態(tài)分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改進(jìn)和安全增強(qiáng)

    ?和Klocwork的最新版本對靜態(tài)分析工具進(jìn)行了重大改進(jìn),通過盡早修復(fù)錯誤、降低開發(fā)成本和加快發(fā)布速度,使開發(fā)團(tuán)隊(duì)實(shí)現(xiàn)左移。本文中,我們將概述2024.2版本的新特性和新功能。CI/CD和左移以
    的頭像 發(fā)表于 10-08 16:22 ?204次閱讀
    Perforce<b class='flag-5'>靜態(tài)</b><b class='flag-5'>分析</b><b class='flag-5'>工具</b>2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork<b class='flag-5'>分析</b>引擎改進(jìn)和安全增強(qiáng)

    利用關(guān)斷保護(hù)信號開關(guān)消除電源時序

    電子發(fā)燒友網(wǎng)站提供《利用關(guān)斷保護(hù)信號開關(guān)消除電源時序.pdf》資料免費(fèi)下載
    發(fā)表于 09-23 12:24 ?0次下載
    <b class='flag-5'>利用</b>關(guān)斷保護(hù)信號開關(guān)消除電源<b class='flag-5'>時序</b>

    利用靜態(tài)檢查工具完善功能安全中測試覆蓋率

    在功能安全中測試覆蓋率是比較重要的概念,也是在驗(yàn)證過程中通常需要花費(fèi)時間較多的步驟,如果能借助于靜態(tài)檢查工具的死邏輯查找和聲明、測試用例自動補(bǔ)全等功能往往能取得事半功倍的效果。
    的頭像 發(fā)表于 09-05 09:15 ?272次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>靜態(tài)</b>檢查<b class='flag-5'>工具</b>完善功能安全中測試覆蓋率

    時序邏輯電路故障分析

    時序邏輯電路的主要故障分析是一個復(fù)雜而重要的課題,它涉及電路的穩(wěn)定性、可靠性以及整體性能。以下是對時序邏輯電路主要故障的全面分析,旨在幫助理解和解決這些故障。
    的頭像 發(fā)表于 08-29 11:13 ?480次閱讀

    恒訊科技分析:如何測試海外靜態(tài)IP服務(wù)的穩(wěn)定性和速度?

    測試海外靜態(tài)IP服務(wù)的穩(wěn)定性和速度可以通過以下步驟進(jìn)行: 1、選擇測試工具:使用網(wǎng)絡(luò)測試工具,如ping命令、traceroute(或 racert)、網(wǎng)絡(luò)速度測試網(wǎng)站(例如
    的頭像 發(fā)表于 08-14 14:58 ?268次閱讀

    IAR通過多架構(gòu)認(rèn)證的靜態(tài)分析工具加速代碼質(zhì)量自動化

    公司推出經(jīng)TüV SüD認(rèn)證的C-STAT靜態(tài)分析工具,適用于最新發(fā)布的IAR Embedded Workbench for RISC-V V3.30.2功能安全版。
    的頭像 發(fā)表于 06-19 15:49 ?323次閱讀

    FPGA 高級設(shè)計(jì):時序分析和收斂

    的綜合、映射、布局和布線,以減小邏輯和布線延時,從而提高 工作頻率。 2、獲得正確的時序分析報告 幾乎所有的 FPGA 設(shè)計(jì)平臺都包含靜態(tài)時序分析
    發(fā)表于 06-17 17:07

    AnyWay功率分析帶寬是否越寬越好?

    功率分析帶寬越寬,對被測對象的適用性越強(qiáng),就這一點(diǎn)而言,帶寬越寬越好!實(shí)際選購時,需要注意: 儀器的真實(shí)帶寬是多少?或者說,在實(shí)際使用中,儀器的寬頻帶性能能夠施展多少?
    的頭像 發(fā)表于 06-03 10:59 ?322次閱讀
    AnyWay功率<b class='flag-5'>分析</b>儀<b class='flag-5'>帶寬</b>是否越寬越好?

    頻譜分析儀的分辨率帶寬詳解

    在無線通信、電子測試和信號處理等領(lǐng)域,頻譜分析儀作為一種重要的測量工具,發(fā)揮著至關(guān)重要的作用。頻譜分析儀能夠測量和分析信號的幅度、頻率、相位等參數(shù),幫助工程師和技術(shù)人員深入了解信號的特
    的頭像 發(fā)表于 05-16 15:56 ?1797次閱讀

    日本大帶寬服務(wù)器優(yōu)缺點(diǎn)分析

    日本大帶寬服務(wù)器是很多用戶的選擇,那么日本大帶寬服務(wù)器優(yōu)缺點(diǎn)都是什么?Rak部落小編為您整理發(fā)布日本大帶寬服務(wù)器優(yōu)缺點(diǎn)分析
    的頭像 發(fā)表于 03-22 10:08 ?420次閱讀

    頻譜分析儀的分辨率帶寬(RBW)與視頻帶寬(VBW)的區(qū)別

    頻譜分析儀的分辨率帶寬(RBW)與視頻帶寬(VBW)的區(qū)別? 頻譜分析儀是一種用來測量信號頻譜特性的儀器。在頻譜分析過程中,分辨率
    的頭像 發(fā)表于 01-19 15:42 ?2716次閱讀

    Vivado時序問題分析

    有些時候在寫完代碼之后呢,Vivado時序報紅,Timing一欄有很多時序問題。
    的頭像 發(fā)表于 01-05 10:18 ?1780次閱讀

    基于FPGA的時序分析設(shè)計(jì)方案

    時鐘的時序特性主要分為抖動(Jitter)、偏移(Skew)、占空比失真(Duty Cycle Distortion)3點(diǎn)。對于低速設(shè)計(jì),基本不用考慮這些特征;對于高速設(shè)計(jì),由于時鐘本身的原因造成的時序問題很普遍,因此必須關(guān)注。
    發(fā)表于 11-22 09:29 ?649次閱讀
    基于FPGA的<b class='flag-5'>時序</b><b class='flag-5'>分析</b>設(shè)計(jì)方案