大家好,博主最近有事忙了幾天,沒有更新,今天正式回來了。那么又到了每日學(xué)習(xí)的時間了,今天咱們來聊一聊 簡談FPGA的上電復(fù)位,歡迎大家一起交流學(xué)習(xí)。
在基于verilog的FPGA設(shè)計中,我們常??梢钥吹揭韵滦问降倪M程:
信號rst_n用來對進程中所用變量的初始化,這個復(fù)位信號是十分重要的,如果沒有復(fù)位,會導(dǎo)致一些寄存器的初始值變得未知,如果此時FPGA就開始工作的話,極易導(dǎo)致錯誤。
那么,這個復(fù)位信號來自何處?難道我們做好的系統(tǒng),每次上電后都要手動按一下reset按鈕么?
答案是否定的!這個復(fù)位信號其實是由特定的程序來產(chǎn)生的,系統(tǒng)每次上電,都會由該程序產(chǎn)生一個復(fù)位信號,從而避免了手動復(fù)位。
在網(wǎng)上找了多種方案,覺得只有這個程序比較簡單實用,轉(zhuǎn)來如下:
說明:
1.第一個進程用來延時,當(dāng)上電后,延時100ms,以保證FPGA內(nèi)部達到穩(wěn)定狀態(tài);此時sys_rst_n始終為0,也就是系統(tǒng)時鐘處于復(fù)位狀態(tài)中;
2.當(dāng)100ms延時結(jié)束后,sys_rst_n與系統(tǒng)時鐘同步釋放,即sys_rst_n拉高,復(fù)位結(jié)束,系統(tǒng)開始正常工作。
今天就聊到這里,各位,加油。
-
FPGA
+關(guān)注
關(guān)注
1626文章
21678瀏覽量
602037 -
Verilog
+關(guān)注
關(guān)注
28文章
1345瀏覽量
109996
發(fā)布評論請先 登錄
相關(guān)推薦
評論