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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 布線工程師如何充分“掌控”時鐘信號?

          布線工程師如何充分“掌控”時鐘信號?

          作者: 時間:2013-02-25 來源:網(wǎng)絡 收藏

          在數(shù)字電路設計中,是一種在高態(tài)與低態(tài)之間振蕩的信號,決定著電路的性能。在應用中,邏輯可能在上升沿、下降沿觸發(fā),或同時在上升沿和下降沿觸發(fā)。由于溢出給定時鐘域的案例極多,故有必要插入緩沖器樹來充足地驅動邏輯。時鐘樹通常帶有必須滿足的延遲、歪曲率、最小功率及信號完整性要求。

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

          當電路從前工序設計人員轉移到后工序時,可以認為時鐘概述與圖表是必須溝通的最關鍵信息。多年以來,由于溝通失誤,數(shù)以小時、天甚至是星期計的設計工作淪為白費,需要包括時鐘樹在內的全套重新合成。

          之前,采用極佳的時鐘來用于合成及時序約束。約束的時鐘定義可能出現(xiàn)在模塊的頂層焊盤或引腳;可能出現(xiàn)在宏的輸出,如鎖延遲環(huán)(DLL) 或鎖相環(huán)(PLL);或者作為產生的時鐘出現(xiàn)在除法寄存器上。這些時鐘定義可能是也可能不是布線需要定義時鐘樹根以在不同工作模式之間獲得最優(yōu)延遲及平衡歪曲率的領域。前工序及布線工程師之間圍繞這些信息的高級別信息溝通以及理解布線工程師怎樣運用這些信息,將大幅優(yōu)化物理設計流程的CTS過程。

          有效CTS的設計技巧

          下面的某些技巧在業(yè)界已經(jīng)使用多年,但基于過去幾年的經(jīng)驗,仍然值得重復運用。

          為時鐘樹根使用中到大強度的驅動器。這就使時鐘樹能有恰當?shù)钠瘘c。但不要使用庫中最大的驅動強度,如果信號完整性(SI)分析或片上變化(VOC)分析未出現(xiàn)問題,能夠在隨后的設計中用到。。

          如果時鐘除法寄存器及其同步寄存器要在單獨測試模式中工作,確保它們被復用邏輯有針對性地驅動。這就能夠在測試模式下在輸入端增加延遲,而不會影響此功能模式下所產生的時鐘驅動的其他所有寄存器。

          (divide-by)寄存器不會與任何下行寄存器平衡。綠色域的寄存器數(shù)量越少,越會使時鐘速度比紫色域中的時鐘速度快得多。

          布線工程師如何充分“掌控”時鐘信號?

          圖1 寄存器時鐘除法寄存器

          圖2顯示了可能使每簇下行寄存器及除法寄存器能夠通過復用的一種輸入擁有極小時鐘及通過復用的另一路輸入擁有平衡時鐘的復用機制。

          59f57504ee6f9041fab56506dcac5c75.jpg

          圖2 下行寄存器及除法寄存器復用機制

          若有需要,則插入專用復位驅動器。某些情況下將使用幾個寄存器來同步復位。那些寄存器可能并不需要由相同的寄存器來平衡。在圖3中,由于未采用集中策略,軟件將嘗試平衡門控邏輯后的藍色寄存器,而每個粉紅色寄存器包含在復位同步邏輯中。

          066b0cfdbb39cb33a6671d56e861b136.jpg

          圖3 平衡門控邏輯后的寄存器


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();