国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

FPGA使用之時序處理技巧

2019-07-20 08:21姚文達(dá)
數(shù)字通信世界 2019年6期
關(guān)鍵詞:低電平高電平時序

姚文達(dá)

(中興通訊股份有限公司,天津 300000)

好的編碼風(fēng)格和習(xí)慣不但可以增加代碼的可讀性,減少fpga的邏輯資源,更能對時序起到非常顯著的作用,好的編碼風(fēng)格有很多,我們在這里只舉一個小例子——在使用RAM和FIFO的時候,在RAM和FIFO內(nèi)部都推薦采用對輸入信號和輸出信號都各打一拍的方法來進(jìn)行處理,如果在資源效率等條件允許的情況下,還推薦在外部增加一級寄存處理,這樣一共加入了三拍處理,輸入一拍,輸出兩拍,這樣可以提高整個代碼的魯棒性,即便進(jìn)行器件移植也不容易導(dǎo)致時序變差。

復(fù)位也是容易引起時序問題的一個方面,對于不同廠家的FPGA器件而言,它們所支持的復(fù)位策略是不同的,有的器件內(nèi)部的邏輯資源支持低電平復(fù)位和高電平復(fù)位兩種策略,而Xilinx器件的7系列器件的邏輯資源只支持高電平復(fù)位策略。

如果之前采用的是低電平復(fù)位方法,即檢測復(fù)位信號為低時便進(jìn)行復(fù)位,外部輸入的低電平復(fù)位信號在經(jīng)過同步化處理之后進(jìn)入BUFG,然后從BUFG出來的低電平復(fù)位信號直接就輸出至各個邏輯。這樣就可以使復(fù)位路徑延時很小。但由于Xilinx器件只能支持高電平復(fù)位策略,即只能通過檢測復(fù)位信號為高時才能進(jìn)行復(fù)位,所以當(dāng)代碼未經(jīng)修改直接移植至Xilinx器件時,低電平復(fù)位信號在經(jīng)過BUFG輸出之后,需要進(jìn)入反向器處理為高電平復(fù)位信號之后才能輸出至各個邏輯,這樣會導(dǎo)致時序變差。將所有邏輯的復(fù)位策略均修改為高電平有效復(fù)位,將外部輸入的低電平復(fù)位信號修改在進(jìn)行同步化至本地處理的時候同步為高電平有效信號,這樣輸入BUFG的復(fù)位信號為高電平有效。這樣就可以使走線延時大大減小,從而滿足設(shè)計(jì)要求。所以在代碼移植過程中,需要考慮器件的特性,改善復(fù)位路徑上的時序。

由于BRAM的位置在器件內(nèi)部相對固定,當(dāng)FF扇出驅(qū)動多個BRAM時,軟件會擺放相關(guān)的多個BRAM,未必會將此多個BRAM放置在集中的區(qū)域,尤其是在BRAM資源占有率很高的時候,這些BRAM的位置會放置比較分散,這樣就有可能出現(xiàn)某些BRAM放置的位置離此FF的位置比較遠(yuǎn),如圖所示,這樣在這條路徑上就容易出現(xiàn)時序不滿足的情況。

在出現(xiàn)此類問題時候,可以通過減少FF驅(qū)動的BRAM數(shù)目來解決,即采用復(fù)制寄存器的方法將前端的FF進(jìn)行復(fù)制,減少其后端驅(qū)動的BRAM數(shù)目,如所示。對于某些時鐘頻率比較高的不容易滿足時序的關(guān)鍵路徑,推薦一個FF只扇出至一個BRAM的方法,這樣可以極大避免出現(xiàn)時序告警的可能性。

除了本文提供的時需優(yōu)化技巧外,時序的優(yōu)化需要根據(jù)代碼的不同情況,在組合邏輯中插入時序以減少時延,從而提高時序余量,加上本文的例子希望剛接觸時序的開發(fā)者有所幫助。

猜你喜歡
低電平高電平時序
清明
一種基于FPGA的PWM防錯輸出控制電路
基于不同建設(shè)時序的地鐵互聯(lián)互通方案分析
一種實(shí)用的電腦接口判斷方法
TS-03C全固態(tài)PDM中波發(fā)射機(jī)開關(guān)機(jī)控制電路原理及故障分析
2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
基于FPGA 的時序信號光纖傳輸系統(tǒng)
數(shù)字電子技術(shù)的應(yīng)用
淺談物理電路與數(shù)字電路
基于模體演化的時序鏈路預(yù)測方法