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