FPGA復位的可靠性設計方案詳解
對FPGA設計中常用的復位設計方法進(jìn)行了分類(lèi)、分析和比較。針對FPGA在復位過(guò)程中存在不可靠復位的現象,提出了提高復位設計可靠性的4種方法,包括清除復位信號上的毛刺、異步復位同步釋放、采用專(zhuān)用全局異步復位/置位資源和采用內部復位。上述方法可有效提高FPGA復位的可靠性。
本文引用地址:http://dyxdggzs.com/article/262431.htm對FPGA芯片而言,在給芯片加電工作前,芯片內部各個(gè)節點(diǎn)電位的變化情況均不確定、不可控,而這種不確定且不可控的情況會(huì )使芯片在上電后的工作狀態(tài)出現錯誤。因此,在FPGA的設計中,為保證系統能可靠進(jìn)進(jìn)入工作狀態(tài),以及避免對FPGA輸出關(guān)聯(lián)的系統產(chǎn)生不良影響,FPGA上電后要進(jìn)行復位,且為了消除電源開(kāi)關(guān)過(guò)程中引起的抖動(dòng)影響,復位信號需在電源穩定后經(jīng)過(guò)一定的延時(shí)才能撤銷(xiāo),FPGA的復位信號需保證正確、穩定、可靠。
在FPGA的設計中,多數情況下復位電路的功能雖能夠正常完成,但電路并未得到精確合理的設計,仍存在可靠性設計缺陷。為確保系統復位的可靠性,有必要對FPGA復位的可靠性設計方法進(jìn)行研究。
1 復位設計方法分類(lèi)
復位的目的是在仿真時(shí)將設計強制定位在一個(gè)可知狀態(tài),合理選擇復位方式是電路設計的關(guān)鍵。根據與系統時(shí)鐘域的關(guān)系,復位電路可分為同步復位和異步復位。同步復位是指復位信號只在時(shí)鐘沿到來(lái)時(shí),才有效。否則,無(wú)法完成對系統的復位工作。異步復位是指無(wú)論時(shí)鐘沿是否到來(lái),只要復位信號有效,使對系統進(jìn)行復位。
根據是否存在外部復位端口,復位電路又可分為外部復位和內部復位。外部復位是指復位信號主要來(lái)自外部引腳的輸入,如復位按鈕、電源模塊輸出等。內部復位信號則是主要由FPGA內部電路產(chǎn)生。
2 復位設計方法的比較
2.1 同步復位與異步復位
2.2.1 同步復位
指定同步復位時(shí),always的敏感表中僅有一個(gè)時(shí)鐘沿信號,只有當時(shí)鐘沿采集到同步復位的有效電平時(shí),才會(huì )在時(shí)鐘沿到達時(shí)刻進(jìn)行復位操作。若目標器件或可用庫中的觸發(fā)器本身包含同步復位端口,則在實(shí)現同步復位電路時(shí)可直接調用同步復位端。然而多數目標器件的觸發(fā)器本身并不包含同步復位端口,需使復位信號與輸入信號組成某種組合邏輯,然后將其輸入到寄存器的輸入端。為了提高復位電路的優(yōu)先級,通常在電路描述時(shí)使用帶有優(yōu)先級的if…else結構,復位電路在第一個(gè)if下描述,其他電路在else或else…if分支中描述。復位電路綜合后的RTL圖如圖1所示。

圖1 同步復位電路圖
根據同步電路的特點(diǎn),其電路優(yōu)點(diǎn)有:(1)同步復位有利于基于周期機制的仿真器進(jìn)行仿真。(2)使用同步復位可設計100%的同步時(shí)序電路,有利于時(shí)序分析,其綜合結果的頻率較高。(3)同步復位僅在時(shí)鐘的有效沿生效,可有效避免因毛刺造成的亞穩態(tài)和錯誤。毛刺信號是由FPGA內部結構特征決定的,同步復位在進(jìn)行復位和釋放復位信號時(shí),僅當時(shí)鐘沿采到復位信號電平變化時(shí)進(jìn)行相關(guān)操作,若復位信號樹(shù)的組合邏輯出現了某種毛刺,此時(shí)時(shí)鐘沿采到毛刺的概率較低,由此通過(guò)時(shí)鐘沿采樣,可有效過(guò)波復位電路組合邏輯產(chǎn)生的毛刺,增強了電路穩定性。
同步復位的缺點(diǎn)有:(1)多數目標器件庫的觸發(fā)器本身并不包含同步復位端口,使用同步復位會(huì )增加更多邏輯資源。(2)同步復位的最大問(wèn)題在于必須保證復位信號的有效時(shí)間,需要一個(gè)脈寬延展器以確保復位信號有一定脈沖寬度,由此才能保證所有觸發(fā)器均能有效復位。由于同步復位僅當時(shí)鐘沿采到復位信號時(shí)才會(huì )進(jìn)行復位操作,所以其信號的持續時(shí)間要大于設計的最長(cháng)時(shí)鐘周期,以保證所有時(shí)鐘的有效沿都能采樣到同步復位信號。事實(shí)上,僅保證同步復位信號的持續時(shí)間大于最慢的時(shí)鐘周期是不夠的,設計中還需考慮到同步復位信號樹(shù)通過(guò)所有相關(guān)組合邏輯路徑時(shí)的延時(shí),以及由于時(shí)鐘布線(xiàn)產(chǎn)生的偏斜。只有同步復位大于時(shí)鐘最大周期,加上同步信號穿過(guò)的組合邏輯路徑延時(shí)和時(shí)鐘偏斜延時(shí),才能確保同步復位的可靠。
2.2.2 異步復位
指定異步復位時(shí),只需在always的敏感表中加人復位信號的有效沿即可,當復位信號有效沿到達時(shí),無(wú)論時(shí)鐘沿是否有效,復位均會(huì )立即發(fā)揮其功能。
大多數目標器件和ASIC庫的觸發(fā)器均包含異步復位端口,異步復位會(huì )直接接人觸發(fā)器的異步復位端口,綜合后的RTL圖如圖2所示。

圖2 異步復位電路圖
根據異步電路的特點(diǎn),異步復位的優(yōu)點(diǎn)有:(1)由于多數目標器件庫的觸發(fā)器都包含異步復位端口,異步復位會(huì )節約邏輯資源。(2)異步復位設計簡(jiǎn)單。(3)對于多數FPGA,均有專(zhuān)用的全局異步復位/置位資源(GSR,Global Set Reset),還可使用GSR資源,異步復位到達所有寄存器的偏斜最小。
fpga相關(guān)文章:fpga是什么
評論