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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > FPGA重點知識13條,助你構(gòu)建完整“邏輯觀”之二

          FPGA重點知識13條,助你構(gòu)建完整“邏輯觀”之二

          作者: 時間:2018-02-11 來源:網(wǎng)絡(luò) 收藏

            異步同步化

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

            通過雙觸發(fā)器接口,異步信號輸入總是無法滿足數(shù)據(jù)的建立保持時間,所以建議大家把所有異步輸入都先經(jīng)過雙觸發(fā)器進(jìn)行同步化。如圖所示,域clk_s傳給域clk_d的數(shù)據(jù)經(jīng)過了雙觸發(fā)器的同步處理,相同的,時鐘域clk_d經(jīng)雙觸發(fā)器傳給時鐘域clk_s的數(shù)據(jù)

            通過高頻時鐘同步化,當(dāng)在單個系統(tǒng)中有兩個或兩個以上非同源時鐘的時候,數(shù)據(jù)的建立和保持時間很難得到保證,我們將面臨復(fù)雜的時間問題,最好的方法是將所有非同源時鐘同步化:選用一個頻率是它們的時鐘頻率公倍數(shù)的高頻主時鐘將他們進(jìn)行同步。

            假設(shè)系統(tǒng)有兩個不同源時鐘,一個為3MHz,一個為5MHz,不同的觸發(fā)器使用不同的時鐘。為了系統(tǒng)穩(wěn)定,假設(shè)我們引入一個20MHz時鐘。


            用modelsim仿真后得到的時序圖如圖所示


            9、如何確定時序約束數(shù)值

            工程的功能框圖如圖所示。上電初始,需要通過IIC接口協(xié)議對攝像頭模塊進(jìn)行寄存器初始化配置。這個初始化的基本參數(shù),如初始化地址和數(shù)據(jù)存儲在一個預(yù)先配置好的內(nèi)嵌ROM中。在初始化配置完成后,攝像頭就能夠持續(xù)輸出RGB標(biāo)準(zhǔn)的視頻數(shù)據(jù)流,F(xiàn)PGA通過對其相應(yīng)的時鐘、行頻和場頻進(jìn)行檢測,從而一幀一幀的實時采集圖像數(shù)據(jù)。

            采集到的視頻數(shù)據(jù)先通過一個FIFO,將原本25MHz頻率下同步的數(shù)據(jù)流轉(zhuǎn)換到100MHz頻率下。接著講這個數(shù)據(jù)再送入寫SDRAM緩存的FIFO中,最終這個FIFO每滿160個數(shù)據(jù)就會將其寫入SDRAM的相應(yīng)地址中。在另一側(cè),使用另一個異步FIFO將SDRAM緩存的圖像數(shù)據(jù)送個LCD驅(qū)動模塊。LCD驅(qū)動模塊不斷的讀出新的現(xiàn)實圖像,并且驅(qū)動3.5寸液晶屏工作。


            由于這個工程是移植過來的,SDRAM的時序約束已經(jīng)添加好并且很好的收斂了。但是,新增加的CMOS sensor的接口也需要做相應(yīng)的時序約束。下面我們就來探討下它的時序該如何做約束。

            先看看CMOS Sensor的datasheet中提供的時序波形和相應(yīng)的建立、保持時間要求。波形如圖所示。


            波形中出現(xiàn)的時間參數(shù)定義如下表所示。


            我們可以簡單分析下這個datasheet中提供的時序波形和參數(shù)提供了一些什么樣的有用信息。我們重點關(guān)注PCLK和D[7:0]的關(guān)系,HREF其實也可以歸類到D[7:0]中一起分析,他們的時序關(guān)系基本是一致的(如果存在偏差,也可以忽略不計)。這個波形實際上表達(dá)的是從Sensor的芯片封裝管腳上輸出的PCLK和D[7:0]的關(guān)系。而在理想狀況下,經(jīng)過PCB走線將這組信號連接到其他的芯片上(如CPU或FPGA),若盡可能保持走線長度,在其他芯片的管腳上,PCLK和D[7:0]的關(guān)系基本還是不變的。那么,對于采集端來說,用PCLK的上升沿去鎖存D[7:0]就變得理所當(dāng)然了。而對于FPGA而言,從它的管腳到寄存器傳輸路徑上總歸是有延時存在的,那么PCLK和D[7:0]之間肯定不會是理想的對齊關(guān)系。而我們現(xiàn)在關(guān)心的是,相對于理想的對齊關(guān)系,PCLK和D[7:0]之間可以存在多大的相位偏差(最終可能會以一個延時時間范圍來表示)。在時序圖中,Tsu和Th雖然是PCLK和D[7:0]在Sensor內(nèi)部必須保證的建立時間和保持時間關(guān)系,但它同樣是Sensor的輸出管腳上,必須得到保證的基本時序關(guān)系。因此,我們可以認(rèn)為:理想相位關(guān)系情況下,PCLK上升沿之前的Tsu時間(即15ns)到上升沿后的Th時間(即8ns)內(nèi),D[7:0]是穩(wěn)定不變的。同樣的,理想情況下,PCLK的上升沿處于D[7:0]兩次數(shù)據(jù)變化的中央。換句話說,在D[7:0]保持當(dāng)前狀態(tài)的情況下,PCLK上升沿實際上在理想位置的Tsu時間和Th時間內(nèi)都是允許的。請大家記住這一點,下面我們需要利用這個信息對在FPGA內(nèi)部的PCLK和D[7:0]信號進(jìn)行時序約束。


            OK,明確了PCLK和D[7:0]之間應(yīng)該保持的關(guān)系后,我們再來看看他們從CMOS Sensor的管腳輸出后,到最終在FPGA內(nèi)部的寄存器進(jìn)行采樣鎖存,這整個路徑上的各種“艱難險阻”(延時)。


            在這個路徑分析中,我們不去考慮CMOS Sensor內(nèi)部的時序關(guān)系,我們只關(guān)心它的輸出管腳上的信號。先看時鐘PCLK的路徑延時,在PCB上的走線延時為Tcpcb,在FPGA內(nèi)部,從進(jìn)入FPGA的管腳到寄存器的時鐘輸入端口的延時為Tcl。再看數(shù)據(jù)D[7:0]的延時,在PCB上的走線延時為Tdpcb,在FPGA內(nèi)部的管腳到寄存器輸入端口延時為Tp2r。而FPGA的寄存器同樣有建立時間Tsu和保持時間Th要求,也必須在整個路徑的傳輸時序中予以考慮。

            另外,從前面的分析,我們得到了PCLK和D[7:0]之間應(yīng)該滿足的關(guān)系。那么,為了保證PCLK和D[7:0]穩(wěn)定考慮的得到傳輸,我們可以得到這樣一個基本的關(guān)系必須滿足:

            對于建立時間,有:

            Launch edge + Tdpcb + Tp2r + Tsu < latch edge + Tcpcb + Tcl

            對于保持時間,有:

            Launch edge + Tdpcb + Tr2p < latch edge + Tcpcb + Tcl – Th

            關(guān)于launch edge和latch edge,對于我們當(dāng)前的設(shè)計,如下圖所示。


            在對這個FPGA的input接口的時序進(jìn)行分析和約束之前,我們先來看看Altera官方是如何分析此類管腳的時序。


            具體問題具體分析,我們當(dāng)前的工程,狀況和理想模型略有區(qū)別。實際上在上面這個模型的源寄存器端的很多信息都不用詳細(xì)分析,因為我們獲得的波形是來自于Sensor芯片的管腳。同理,我們可以得到input delay的計算公式如下。

            Input max delay = (0 – Tcpcb_min) + Tco_max + Tdpcb_max

            Input min delay = (0 – Tcpcb_max) + Tco_min + Tdpcb_min

            在這兩個公式中,參數(shù)Tco是前面我們還未曾提到的,下面我們就要分析下如何得到這個參數(shù)。Tco指的是理想情況下數(shù)據(jù)在源寄存器被源時鐘鎖存后,經(jīng)過多長時間輸入到管腳上。前面我們已經(jīng)得到了PCLK和D[7:0]之間的關(guān)系,其實從已知的關(guān)系中,我們不難推斷出Tco_max和Tco_min,如圖所示。若PCLK的時鐘周期為Tpclk,則:

            Tco_max = Tpclk – Tsu

            Tco_min = Th

            在我們采樣的CMOS Sensor圖像中,PCLK頻率為12.5MHz,即80ns。因此,我們可以計算到:

            Tco_max = 80ns – 15ns = 65ns

            Tco_min = 8ns


            我們再看看PCB的走線情況,算算余下和PCB走線有關(guān)的延時。



          關(guān)鍵詞: 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); })();