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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的時鐘設(shè)計

          基于FPGA的時鐘設(shè)計

          作者: 時間:2011-09-25 來源:網(wǎng)絡(luò) 收藏

          對于一個項(xiàng)目來說,全局是最簡單和最可預(yù)測的。在PLD/中最好的方案是由專用的全局時鐘輸入引腳驅(qū)動的單個主時鐘去鐘控項(xiàng)目中的每一個觸發(fā)器。只要可能就應(yīng)盡量在設(shè)計項(xiàng)目中采用全局時鐘。PLD/都具有專門的全局時鐘引腳,它直接連到器件中的每一個寄存器。這種全局時鐘提供器件中最短的時鐘到輸出的延時。

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

          1 全局時鐘
          全局時鐘的實(shí)例如圖1所示。圖1中定時波形示出觸發(fā)器的數(shù)據(jù)輸入D[1..3]應(yīng)遵守建立時間和保持時間的約束條件。建立和保持時間的數(shù)值在PLD數(shù)據(jù)手冊中給出,也可用軟件的定時分析器計算出來。如果在應(yīng)用中不能滿足建立和保持時間的要求,則必須用時鐘同步輸入信號。

          2 門控時鐘
          在許多應(yīng)用中,整個設(shè)計項(xiàng)目都采用外部的全局時鐘是不可能或不實(shí)際的。PLD具有乘積項(xiàng)邏輯陣列時鐘(即時鐘是由邏輯產(chǎn)生的),允許任意函數(shù)單獨(dú)地鐘控各個觸發(fā)器。然而,當(dāng)你用陣列時鐘時,應(yīng)仔細(xì)地分析時鐘函數(shù),以避免毛刺。
          通常用陣列時鐘構(gòu)成門控時鐘。門控時鐘常常同微處理器接口有關(guān),用地址線去控制寫脈沖。然而,每當(dāng)用組合函數(shù)鐘控觸發(fā)器時,通常都存在著門控時鐘。如果符合下述條件,門控時鐘可以象全局時鐘一樣可靠地工作,圖2所示是一個可靠的門控時鐘電路。


          (1)驅(qū)動時鐘的邏輯必須只包含一個“與”門或一個“或”門。如果采用任何附加邏輯在某些工作狀態(tài)下,會出現(xiàn)競爭產(chǎn)生的毛刺。
          (2)邏輯門的一個輸入作為實(shí)際的時鐘,而該邏輯門的所有其他輸入必須當(dāng)成地址或控制線,它們遵守相對于時鐘的建立和保持時間的約束。
          在設(shè)計中可以將門控時鐘轉(zhuǎn)換成全局時鐘以改善設(shè)計項(xiàng)目的可靠性。圖3示出如何用全局時鐘重新設(shè)計圖2所示的電路。地址線在控制D觸發(fā)器的使能輸入,許多PLD設(shè)計軟件,如Max+PlusⅡ軟件都提供這種帶使能端的D觸發(fā)器。當(dāng)ENA為高電平時,D輸入端的值被鐘控到觸發(fā)器中:當(dāng)ENA為低電平時,維持現(xiàn)在的狀態(tài)。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 設(shè)計 時鐘 FPGA 基于

          評論


          相關(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); })();