如何實(shí)現(xiàn)FPGA的非復(fù)位處理?不懂,就進(jìn)來看看!
本文中,小編將對FPGA不復(fù)位的代碼實(shí)現(xiàn)予以介紹,如果你想對復(fù)位的詳細(xì)情況有所認(rèn)識,或者想要增進(jìn)對復(fù)位知識的了解程度,不妨請看以下內(nèi)容哦。
一、編碼實(shí)現(xiàn)FPGA的不復(fù)位處理
在FPGA設(shè)計(jì)中,復(fù)位是一個(gè)基本操作。復(fù)位的目的是將FPGA的寄存器清零或賦初值,以確保仿真或正常上板運(yùn)行時(shí)正常,以防止出現(xiàn)不確定的運(yùn)行狀態(tài)。
需要注意的是,F(xiàn)PGA中可編程邏輯塊和寄存器,可能運(yùn)行在不同的時(shí)鐘和狀態(tài)下,在某些功能突然停止運(yùn)行時(shí),可能處于未知狀態(tài),如果不按照預(yù)期的方式進(jìn)行復(fù)位操作,F(xiàn)PGA可能無法正常工作。
根據(jù)復(fù)位方式的不同,F(xiàn)PGA復(fù)位信號可以分為外部復(fù)位和內(nèi)部復(fù)位兩種,復(fù)位信號也要分為高電平復(fù)位有效或低電平復(fù)位有效。
FPGA復(fù)位需要消耗FPGA內(nèi)部資源,也會影響FPGA布線和時(shí)序收斂,所以對于每個(gè)寄存器都進(jìn)行復(fù)位并不是最優(yōu)方案,比如寄存器變量延遲幾拍、有使能信號或有效信號控制的信號變量等情況都可以不做復(fù)位處理,如下所示:
vivado綜合后電路如下:
無復(fù)位信號
同步復(fù)位
異步復(fù)位
以上圖中可以看出,沒有復(fù)位信號的模塊中,F(xiàn)DRE型觸發(fā)器的復(fù)位輸入接入了地,節(jié)省了復(fù)位信號的扇出。
二、同步、異步復(fù)位
上面提到了同步復(fù)位、異步復(fù)位,那我們來看下二者的優(yōu)缺點(diǎn)。
1、同步復(fù)位的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
有利于基于周期的仿真工具的仿真;
有利于靜態(tài)時(shí)序分析工具的分析,可以綜合出較高的工作頻率;
缺點(diǎn):
復(fù)位依賴于時(shí)鐘信號,當(dāng)時(shí)鐘信號出現(xiàn)故障時(shí),系統(tǒng)將無法正常復(fù)位;
占用更多內(nèi)部邏輯資源,邏輯門時(shí)延較高:由于多數(shù)邏輯器件的目標(biāo)庫內(nèi)的D觸發(fā)器只有異步復(fù)位端口,所以綜合器在綜合同步復(fù)位時(shí)將在寄存器的輸入端口插入組合邏輯;
2、異步復(fù)位的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
節(jié)約內(nèi)部邏輯資源,設(shè)計(jì)實(shí)現(xiàn)簡單:由于多數(shù)邏輯器件的目標(biāo)庫內(nèi)的D觸發(fā)器都有異步復(fù)位端口,所以復(fù)位端口不需要設(shè)計(jì)額外的邏輯資源。
缺點(diǎn):
復(fù)位信號對電路內(nèi)的毛刺敏感,容易受到外界的干擾,出現(xiàn)頻繁復(fù)位現(xiàn)象;
復(fù)位信號異步釋放的隨機(jī)性可能導(dǎo)致時(shí)序違規(guī),當(dāng)復(fù)位信號釋放在時(shí)鐘有效沿附近時(shí),觸發(fā)器輸出可能處于亞穩(wěn)態(tài),導(dǎo)致復(fù)位操作失?。?
最后,小編誠心感謝大家的閱讀。你們的每一次閱讀,對小編來說都是莫大的鼓勵(lì)和鼓舞。最后的最后,祝大家有個(gè)精彩的一天。