<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > SDRAM接口時序和PCB布線長度的分析

          SDRAM接口時序和PCB布線長度的分析

          作者:高媛 宋捷 時間:2011-09-27 來源:電子產(chǎn)品世界 收藏

            引言

          本文引用地址:http://www.ex-cimer.com/article/123975.htm

            經(jīng)??吹接形恼陆榻B對布線的各種要求,這只是工程上的經(jīng)驗總結(jié),不同的芯片對時序的要求不同,對走線也有不同的要求,不能一概而論。其實,等長不是目的,真正的目的是滿足芯片的建立保持時間,采樣正確。由于FR4中的走線的傳播延時近似值為6英寸/ns,根據(jù)時序關(guān)系可以轉(zhuǎn)化為 Layout(印制板布局)的走線線長關(guān)系。

            因為觸發(fā)器內(nèi)部數(shù)據(jù)的形成是需要一定的時間的,如果不滿足建立和保持時間,觸發(fā)器將進入亞穩(wěn)態(tài),進入亞穩(wěn)態(tài)后觸發(fā)器的輸出將不穩(wěn)定,在0和1之間變化,這時需要經(jīng)過一個恢復(fù)時間,其輸出才能穩(wěn)定,但穩(wěn)定后的值還不一定是你的輸入值。所以為了保證接口數(shù)據(jù)傳輸正確,必須滿足其建立保持時間。

            建立時間:觸發(fā)器在時鐘沿來到前,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時間。

            保持時間:觸發(fā)器在時鐘沿來到后,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時間。見圖1。

            

           

            其實觸發(fā)器的建立時間和保持時間比較短,為什么在接口的建立時間和保持時間卻較長呢?因為總線的影響,造成封裝和Die(芯片)中不同數(shù)據(jù)線傳播延時不同,需要滿足最快和最慢的數(shù)據(jù)線。另外時鐘信號在輸入芯片后,需要經(jīng)過時鐘樹再傳到接口觸發(fā)器,造成時鐘的延遲可能比數(shù)據(jù)線更慢。這兩個原因造成接口信號的建立時間和保持時間需要有較多的冗余。我們研究接口的建立時間和保持時間,不需要關(guān)注芯片內(nèi)部的延遲情況。

            下面以和DSP為例,說明時序和走線長度的關(guān)系。DSP為BF561,SDRAM為H57V2562GFR。SDRAM工作在133MHz,CL=3。

            SDRAM和DSP接口時序分析

            控制信號(單向)

            建立時間應(yīng)滿足:

            tosu(DSP) + tClockRouteDelay – tControlRouteDelay(Slowest) ≥ t isu(SDRAM)

            即:tControlRouteDelay(Slowest) – tClockRouteDelay ≤ tosu(DSP) – tisu(SDRAM)



          關(guān)鍵詞: SDRAM PCB 201109

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();