在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

            影響FPGA設計中時鐘因素的探討

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

              綜上所述,如果不考慮的延時那么只需關 心建立時間,如果考慮的延時那么更需關心保持時間。下面將要分析在設計中如何提高同步系統(tǒng)中的工作。

            本文引用地址:http://www.biyoush.com/article/85938.htm

              1.2 如何提高同步系統(tǒng)中的工作時鐘

              從上面的分析可以看出同步系統(tǒng)時對D2建立時間T3的要求為:

              T-Tco-T2max>=T3

              所以很容易推出T>=T3+Tco+T2max,其中T3為D2的建立時間Tset,T2為組合邏輯的延時。在一個設計中T3和Tco都是由器件決定的固定值,可控的也只有T2也就時輸入端組合邏輯的延時,所以通過盡量來減小T2就可以提高系統(tǒng)的工作時鐘。為了達到減小T2在設計中可以用下面不同的幾種方法綜合來實現(xiàn)。

              1.2.1 通過改變走線的方式來減小延時

              以altera的器件為例,我們在quartus里面的timing closure floorplan可以看到有很多條條塊塊,我們可以將條條塊塊按行和按列分,每一個條塊代表1個LAB,每個LAB里有8個或者是10個LE。它們的走線時延的關系如下:同一個LAB中(最快) < 同列或者同行 < 不同行且不同列。我們通過給綜合器加適當?shù)募s束(約束要適量,一般以加5%裕量較為合適,比如電路工作在100Mhz,則加約束加到105Mhz就可以了,過大的約束效果反而不好,且極大增加綜合時間)可以將相關的邏輯在布線時盡量布的靠近一點,從而減少走線的時延。

              1.2.2 通過拆分組合邏輯的方法來減小延時

              由于一般同步電路都不止一級鎖存(如圖8),而要使電路穩(wěn)定工作,時鐘周期必須滿足最大延時要求,縮短最長延時路徑,才可提高電路的工作頻率。如圖7所示:我們可以將較大的組合邏輯分解為較小的幾塊,中間插入觸發(fā)器,這樣可以提高電路的工作頻率。這也是所謂“流水線”(pipelining)技術(shù)的基本原理。

              對于圖8的上半部分,它時鐘頻率受制于第二個較大的組合邏輯的延時,通過適當?shù)姆椒ㄆ骄峙浣M合邏輯,可以避免在兩個觸發(fā)器之間出現(xiàn)過大的延時,消除速度瓶頸。

            圖7 分割組合邏輯

            圖8 轉(zhuǎn)移組合邏輯

              那么在設計中如何拆分組合邏輯呢,更好的方法要在實踐中不斷的積累,但是一些良好的設計思想和方法也需要掌握。我們知道,目前大部分都基于4輸入 LUT的,如果一個輸出對應的判斷條件大于四輸入的話就要由多個LUT級聯(lián)才能完成,這樣就引入一級組合邏輯時延,我們要減少組合邏輯,無非就是要輸入條件盡可能的少,這樣就可以級聯(lián)的LUT更少,從而減少了組合邏輯引起的時延。

              我們平時聽說的流水就是一種通過切割大的組合邏輯(在其中插入一級或多級D觸發(fā)器,從而使寄存器與寄存器之間的組合邏輯減少)來提高工作頻率的方法。比如一個32 位的計數(shù)器,該計數(shù)器的進位鏈很長,必然會降低工作頻率,我們可以將其分割成4位和 8位的計數(shù),每當4位的計數(shù)器計到15后觸發(fā)一次8位的計數(shù)器,這樣就實現(xiàn)了計數(shù)器的切割,也提高了工作頻率。

              在狀態(tài)機中,一般也要將大的計數(shù)器移到狀態(tài)機外,因為計數(shù)器這東西一般是經(jīng)常是大于4輸入的,如果再和其它條件一起做為狀態(tài)的跳變判據(jù)的話,必然會增加LUT的級聯(lián),從而增大組合邏輯。以一個6輸入的計數(shù)器為例,我們原希望當計數(shù)器計到111100后狀態(tài)跳變,現(xiàn)在我們將計數(shù)器放到狀態(tài)機外,當計數(shù)器計到111011后產(chǎn)生個enable信號去觸發(fā)狀態(tài)跳變,這樣就將組合邏輯減少了。狀態(tài)機一般包含三個模塊,一個輸出模塊,一個決定下個狀態(tài)是什么的模塊和一個保存當前狀態(tài)的模塊。組成三個模塊所采用的邏輯也各不相同。輸出模塊通常既包含組合邏輯又包含時序邏輯;決定下一個狀態(tài)是什么的模塊通常又組合邏輯構(gòu)成;保存現(xiàn)在狀態(tài)的通常由時序邏輯構(gòu)成。三個模塊的關系如下圖9所示。

            圖9 狀態(tài)機的組成

              所有通常寫狀態(tài)機時也按照這三個模塊將狀態(tài)機分成三部分來寫,如下面就是一種良好的狀態(tài)機設計方法:
            /*-----------------------------------------------------
            This is FSM demo program
            Design Name : arbiter
            File Name : arbiter2.v
            -----------------------------------------------------*/
            module arbiter2 (
            clock , // clock
            reset , // Active high, syn reset
            req_0 , // Request 0
            req_1 , // Request 1
            gnt_0 ,
            gnt_1);
            //-------------Input Ports-----------------------------
            input clock ;
            input res



            關鍵詞: FPGA 時鐘

            評論


            相關推薦

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

            關閉