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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 影響FPGA設(shè)計(jì)中時(shí)鐘因素的探討

          影響FPGA設(shè)計(jì)中時(shí)鐘因素的探討

          作者: 時(shí)間:2008-07-21 來(lái)源:電子開發(fā)網(wǎng) 收藏

            是整個(gè)電路最重要、最特殊的信號(hào),系統(tǒng)內(nèi)大部分器件的動(dòng)作都是在的跳變沿上進(jìn)行, 這就要求信號(hào)時(shí)延差要非常小, 否則就可能造成時(shí)序邏輯狀態(tài)出錯(cuò);因而明確設(shè)計(jì)中決定系統(tǒng)時(shí)鐘的因素,盡量較小時(shí)鐘的延時(shí)對(duì)保證設(shè)計(jì)的穩(wěn)定性有非常重要的意義。

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

            1.1 建立時(shí)間與保持時(shí)間

            建立時(shí)間(Tsu:set up time)是指在時(shí)鐘沿到來(lái)之前數(shù)據(jù)從不穩(wěn)定到穩(wěn)定所需的時(shí)間,如果建立的時(shí)間不滿足要求那么數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被穩(wěn)定的打入觸發(fā)器;保持時(shí)間(Th:hold time)是指數(shù)據(jù)穩(wěn)定后保持的時(shí)間,如果保持時(shí)間不滿足要求那么數(shù)據(jù)同樣也不能被穩(wěn)定的打入觸發(fā)器。建立與保持時(shí)間的簡(jiǎn)單示意圖如下圖1所示。

          圖1 保持時(shí)間與建立時(shí)間的示意圖

            在設(shè)計(jì)的同一個(gè)模塊中常常是包含組合邏輯與時(shí)序邏輯,為了保證在這些邏輯的接口處數(shù)據(jù)能穩(wěn)定的被處理,那么對(duì)建立時(shí)間與保持時(shí)間建立清晰的概念非常重要。下面在認(rèn)識(shí)了建立時(shí)間與保持時(shí)間的概念上思考如下的問(wèn)題。

          圖2 同步設(shè)計(jì)中的一個(gè)基本模型

            圖2為統(tǒng)一采用一個(gè)時(shí)鐘的同步設(shè)計(jì)中一個(gè)基本的模型。圖中Tco是觸發(fā)器的數(shù)據(jù)輸出的延時(shí);Tdelay是組合邏輯的延時(shí);Tsetup是觸發(fā)器的建立時(shí)間;Tpd為時(shí)鐘的延時(shí)。如果第一個(gè)觸發(fā)器D1建立時(shí)間最大為T1max,最小為T1min,組合邏輯的延時(shí)最大為T2max,最小為T2min。問(wèn)第二個(gè)觸發(fā)器D2立時(shí)間T3與保持時(shí)間T4應(yīng)該滿足什么條件,或者是知道了T3與T4那么能容許的最大時(shí)鐘周期是多少。這個(gè)問(wèn)題是在設(shè)計(jì)中必須考慮的問(wèn)題,只有弄清了這個(gè)問(wèn)題才能保證所設(shè)計(jì)的組合邏輯的延時(shí)是否滿足了要求。

            下面通過(guò)時(shí)序圖來(lái)分析:設(shè)第一個(gè)觸發(fā)器的輸入為D1,輸出為Q1,第二個(gè)觸發(fā)器的輸入為D2,輸出為Q2;

            時(shí)鐘統(tǒng)一在上升沿進(jìn)行采樣,為了便于分析我們討論兩種情況即第一:假設(shè)時(shí)鐘的延時(shí)Tpd為零,其實(shí)這種情況在設(shè)計(jì)中是常常滿足的,由于在FPGA 設(shè)計(jì)中一般是采用統(tǒng)一的系統(tǒng)時(shí)鐘,也就是利用從全局時(shí)鐘管腳輸入的時(shí)鐘,這樣在內(nèi)部時(shí)鐘的延時(shí)完全可以忽略不計(jì)。這種情況下不必考慮保持時(shí)間,因?yàn)槊總€(gè)數(shù)據(jù)都是保持一個(gè)時(shí)鐘節(jié)拍同時(shí)又有線路的延時(shí),也就是都是基于CLOCK的延遲遠(yuǎn)小于數(shù)據(jù)的延遲基礎(chǔ)上,所以保持時(shí)間都能滿足要求,重點(diǎn)是要關(guān)心建立時(shí)間,此時(shí)如果D2的建立時(shí)間滿足要求那么時(shí)序圖應(yīng)該如圖3所示。

            從圖中可以看出如果:

            T-Tco-Tdelay>T3

            即: Tdelay< T-Tco-T3

            那么就滿足了建立時(shí)間的要求,其中T為時(shí)鐘的周期,這種情況下第二個(gè)觸發(fā)器就能在第二個(gè)時(shí)鐘的升沿就能穩(wěn)定的采到D2,時(shí)序圖如圖3所示。

          圖3 符合要求的時(shí)序圖

            如果組合邏輯的延時(shí)過(guò)大使得

            T-Tco-Tdelay

            那么將不滿足要求,第二個(gè)觸發(fā)器就在第二個(gè)時(shí)鐘的升沿將采到的是一個(gè)不定態(tài),如圖4所示。那么電路將不能正常的工作。

          圖4 組合邏輯的延時(shí)過(guò)大時(shí)序不滿足要求

            從而可以推出

            T-Tco-T2max>=T3

            這也就是要求的D2的建立時(shí)間。

            從上面的時(shí)序圖中也可以看出,D2的建立時(shí)間與保持時(shí)間與D1的建立與保持時(shí)間是沒(méi)有關(guān)系的,而只和D2前面的組合邏輯和D1的數(shù)據(jù)傳輸延時(shí)有關(guān),這也是一個(gè)很重要的結(jié)論。說(shuō)明了延時(shí)沒(méi)有疊加效應(yīng)。

            第二種情況如果時(shí)鐘存在延時(shí),這種情況下就要考慮保持時(shí)間了,同時(shí)也需要考慮建立時(shí)間。時(shí)鐘出現(xiàn)較大的延時(shí)多是采用了異步時(shí)鐘的設(shè)計(jì)方法,這種方法較難保證數(shù)據(jù)的同步性,所以實(shí)際的設(shè)計(jì)中很少采用。此時(shí)如果建立時(shí)間與保持時(shí)間都滿足要求那么輸出的時(shí)序如圖5所示。

          圖5 時(shí)鐘存在延時(shí)但滿足時(shí)序

            從圖5中可以容易的看出對(duì)建立時(shí)間放寬了Tpd,所以D2的建立時(shí)間需滿足要求:

            Tpd+T-Tco-T2max>=T3

            由于建立時(shí)間與保持時(shí)間的和是穩(wěn)定的一個(gè)時(shí)鐘周期,如果時(shí)鐘有延時(shí),同時(shí)數(shù)據(jù)的延時(shí)也較小那么建立時(shí)間必然是增大的,保持時(shí)間就會(huì)隨之減小,如果減小到不滿足D2的保持時(shí)間要求時(shí)就不能采集到正確的數(shù)據(jù),如圖6所示。

            這時(shí)即T-(Tpd-Tco-T2min)

            T-(Tpd+T-Tco-T2min)>=T4 即Tco+T2min-Tpd>=T4

            從上式也可以看出如果Tpd=0也就是時(shí)鐘的延時(shí)為0那么同樣是要求Tco+T2min>T4,但是在實(shí)際的應(yīng)用中由于T2的延時(shí)也就是線路的延時(shí)遠(yuǎn)遠(yuǎn)大于觸發(fā)器的保持時(shí)間即T4所以不必要關(guān)系保持時(shí)間。

          圖6 時(shí)鐘存在延時(shí)且保持時(shí)間不滿足要求


          上一頁(yè) 1 2 3 4 下一頁(yè)

          關(guān)鍵詞: FPGA 時(shí)鐘

          評(píng)論


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