1.同步復(fù)位和異步復(fù)位的寫法:
//======同步復(fù)位=======
always@(posedgeclk)
if(rst)
..........
elseif(....)
//======異步復(fù)位=======
always@(posedgeclkorposedgerst)
if(rst)
.........
elseif(......)
2.應(yīng)該選哪個?
就實時性而言,,異步復(fù)位較同步復(fù)位慢。就穩(wěn)定性而言,,個人感覺同步復(fù)位相對而言比較穩(wěn)定,。但是具體跟電路設(shè)計就我個人比較偏向于同步復(fù)位,,F(xiàn)PGA內(nèi)的一切邏輯都在統(tǒng)一的時鐘下動作,系統(tǒng)比較穩(wěn)定,。而異步復(fù)位,,個人感覺會破壞整個系統(tǒng)的時鐘同步機制。但是好多xilinx官方文檔采用的也是異步復(fù)位,。所以,,系統(tǒng)能否穩(wěn)定工作關(guān)鍵還在于整個系統(tǒng)的設(shè)計架構(gòu)。
3.為什么,?
在異步復(fù)位的情況下,,復(fù)位信號與時鐘信號的相位不能確定,會造成亞穩(wěn)態(tài),。
說簡單點,,寄存器是在時鐘的上升沿變化的,這就要求輸入寄存器的信號在時鐘沿之后必須穩(wěn)定一段時間,,否則時鐘沿也在變,,輸入數(shù)據(jù)也在變,就不清楚到底輸出會變成什么了,。
復(fù)位信號也會造成一連串信號的變化,,因為復(fù)位信號的不確定,所以會造成這個問題,。
4.推薦的做法
推薦的做法,,并不是直接使用Reset,而是異步復(fù)位-同步釋放,。
這種電路比較復(fù)雜,,實際情況中有簡化。
如果你的系統(tǒng)時鐘是連續(xù)的話,,你可以使用將Reset信號打兩拍,,然后上BUFG的方式。
你如果這樣做了,,Xilinx的工具會去分析Reset信號的時序,,從而防止亞穩(wěn)態(tài)的產(chǎn)生;你如果使用異步復(fù)位,,工具是沒法分析的?。?br />
華為/中興這樣的公司,,因為設(shè)計很大,,加上寫代碼的人風(fēng)格不統(tǒng)一,所以他們實際是在頂層里面專門建立一個復(fù)位模塊,,然后把異步復(fù)位時序化,,這個就比較復(fù)雜了,。但是總的來說,是同步的,,所以不管你的子模塊是寫的異步復(fù)位還是同步復(fù)位,,全部都變成同步的。
為了我們共同的目標(biāo)“做專業(yè)的高速數(shù)據(jù)采集廠商”而共同努力,!
關(guān)于坤馳科技:
坤馳科技是專注于高速數(shù)據(jù)采集與信號處理,、高速數(shù)據(jù)存儲與記錄的高科技公司。坤馳科技為用戶提供成熟的標(biāo)準(zhǔn)高速數(shù)據(jù)采集產(chǎn)品與技術(shù),,也可為用戶提供定制化的高速信號采集解決方案,。目前坤馳科技服務(wù)過的研究所、科研單位已達(dá)近百家,。高速數(shù)據(jù)采集產(chǎn)品線涵蓋PCIExpress,、cPCI、PXIe,、VPX,、USB等總線,包含高速AD,、DA平臺,、FPGA、DSP處理平臺,,SATA/SSD,、Flash存儲平臺等。
全國咨詢電話:400-000-4026
公司官方網(wǎng)站:http://www.jtyykv.cn
官方微博:http://e.weibo.com/queentest
官方微信:queentest或掃描: