新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應用 > FPGA復位的可靠性設(shè)計方法

FPGA復位的可靠性設(shè)計方法

作者: 時間:2016-10-16 來源:網(wǎng)絡(luò) 收藏

對FPGA設(shè)計中常用的復位設(shè)計方法進行了分類、分析和比較。針對FPGA在復位過程中存在不可靠復位的現(xiàn)象,提出了提高復位設(shè)計可靠性的4種方法,包括清除復位信號上的毛刺、異步復位同步釋放、采用專用全局異步復位/置位資源和采用內(nèi)部復位。上述方法可有效提高FPGA復位的可靠性。

本文引用地址:http://www.butianyuan.cn/article/201610/308395.htm

對FPGA芯片而言,在給芯片加電工作前,芯片內(nèi)部各個節(jié)點電位的變化情況均不確定、不可控,而這種不確定且不可控的情況會使芯片在上電后的工作狀態(tài)出現(xiàn)錯誤。因此,在FPGA的設(shè)計中,為保證系統(tǒng)能可靠進進入工作狀態(tài),以及避免對FPGA輸出關(guān)聯(lián)的系統(tǒng)產(chǎn)生不良影響,F(xiàn)PGA上電后要進行復位,且為了消除電源開關(guān)過程中引起的抖動影響,復位信號需在電源穩(wěn)定后經(jīng)過一定的延時才能撤銷,F(xiàn)PGA的復位信號需保證正確、穩(wěn)定、可靠。

在FPGA的設(shè)計中,多數(shù)情況下復位電路的功能雖能夠正常完成,但電路并未得到精確合理的設(shè)計,仍存在可靠性設(shè)計缺陷。為確保系統(tǒng)復位的可靠性,有必要對FPGA復位的可靠性設(shè)計方法進行研究。

1 復位設(shè)計方法分類

復位的目的是在仿真時將設(shè)計強制定位在一個可知狀態(tài),合理選擇復位方式是電路設(shè)計的關(guān)鍵。根據(jù)與系統(tǒng)時鐘域的關(guān)系,復位電路可分為同步復位和異步復位。同步復位是指復位信號只在時鐘沿到來時,才有效。否則,無法完成對系統(tǒng)的復位工作。異步復位是指無論時鐘沿是否到來,只要復位信號有效,使對系統(tǒng)進行復位。

根據(jù)是否存在外部復位端口,復位電路又可分為外部復位和內(nèi)部復位。外部復位是指復位信號主要來自外部引腳的輸入,如復位按鈕、電源模塊輸出等。內(nèi)部復位信號則是主要由FPGA內(nèi)部電路產(chǎn)生。

2 復位設(shè)計方法的比較

2.1 同步復位與異步復位

2.2.1 同步復位

指定同步復位時,always的敏感表中僅有一個時鐘沿信號,只有當時鐘沿采集到同步復位的有效電平時,才會在時鐘沿到達時刻進行復位操作。若目標器件或可用庫中的觸發(fā)器本身包含同步復位端口,則在實現(xiàn)同步復位電路時可直接調(diào)用同步復位端。然而多數(shù)目標器件的觸發(fā)器本身并不包含同步復位端口,需使復位信號與輸入信號組成某種組合邏輯,然后將其輸入到寄存器的輸入端。為了提高復位電路的優(yōu)先級,通常在電路描述時使用帶有優(yōu)先級的if…else結(jié)構(gòu),復位電路在第一個if下描述,其他電路在else或else…if分支中描述。復位電路綜合后的RTL圖如圖1所示。

圖1 同步復位電路圖

根據(jù)同步電路的特點,其電路優(yōu)點有


1)同步復位有利于基于周期機制的仿真器進行仿真。(2)使用同步復位可設(shè)計100%的同步時序電路,有利于時序分析,其綜合結(jié)果的頻率較高。(3)同步復位僅在時鐘的有效沿生效,可有效避免因毛刺造成的亞穩(wěn)態(tài)和錯誤。毛刺信號是由FPGA內(nèi)部結(jié)構(gòu)特征決定的,同步復位在進行復位和釋放復位信號時,僅當時鐘沿采到復位信號電平變化時進行相關(guān)操作,若復位信號樹的組合邏輯出現(xiàn)了某種毛刺,此時時鐘沿采到毛刺的概率較低,由此通過時鐘沿采樣,可有效過波復位電路組合邏輯產(chǎn)生的毛刺,增強了電路穩(wěn)定性。同步復位的缺點有


1)多數(shù)目標器件庫的觸發(fā)器本身并不包含同步復位端口,使用同步復位會增加更多邏輯資源。(2)同步復位的最大問題在于必須保證復位信號的有效時間,需要一個脈寬延展器以確保復位信號有一定脈沖寬度,由此才能保證所有觸發(fā)器均能有效復位。由于同步復位僅當時鐘沿采到復位信號時才會進行復位操作,所以其信號的持續(xù)時間要大于設(shè)計的最長時鐘周期,以保證所有時鐘的有效沿都能采樣到同步復位信號。事實上,僅保證同步復位信號的持續(xù)時間大于最慢的時鐘周期是不夠的,設(shè)計中還需考慮到同步復位信號樹通過所有相關(guān)組合邏輯路徑時的延時,以及由于時鐘布線產(chǎn)生的偏斜。只有同步復位大于時鐘最大周期,加上同步信號穿過的組合邏輯路徑延時和時鐘偏斜延時,才能確保同步復位的可靠。

2.2.2

指定異步復位時,只需在always的敏感表中加人復位信號的有效沿即可,當復位信號有效沿到達時,無論時鐘沿是否有效,復位均會立即發(fā)揮其功能。

大多數(shù)目標器件和ASIC庫的觸發(fā)器均包含異步復位端口,異步復位會直接接人觸發(fā)器的異步復位端口,綜合后的RTL圖如圖2所示。

圖2電路圖

根據(jù)異步電路的特點,異步復位的優(yōu)點有


1)由于多數(shù)目標器件庫的觸發(fā)器都包含異步復位端口,異步復位會節(jié)約邏輯資源。(2)異步復位設(shè)計簡單。(3)對于多數(shù)FPGA,均有專用的全局異步復位/置位資源(GSR,Global Set Reset),還可使用GSR資源,異步復位到達所有寄存器的偏斜最小。異步復位的缺點如下


1)異步復位的作用和釋放與時鐘沿并無直接關(guān)系,異步復位生效時問題并不明顯;但當釋放異步復位時,若異步復位信號釋放時間和時鐘的有效沿到達時間幾乎一致,則容易造成觸發(fā)器輸出為亞穩(wěn)態(tài),形成邏輯錯誤。(2)若異步復位邏輯樹的組合邏輯產(chǎn)生了毛刺,則毛刺的有效沿會使觸發(fā)器誤復位,造成邏輯錯誤。

2.3 外部復位和內(nèi)部復位

外部復位,復位信號主要來自外部引腳的輸人。復位信號在電路板上可能會受到來自其他線路的串擾,因此可能產(chǎn)生毛刺,在無需復位系統(tǒng)時,毛刺信號可能導致系統(tǒng)誤復位。

內(nèi)部復位,F(xiàn)PGA上電配置完成后,由FPGA內(nèi)部電路產(chǎn)生復位信號,復位信號與時鐘同步。通常內(nèi)部復位的設(shè)計方法是:設(shè)計一個初始值為0X0000的SRL16,將其輸人接高電平,輸出作為復位信號。

3 復位可靠性設(shè)計方法

3.1 消除復位信號上的毛刺

在系統(tǒng)設(shè)計中,若采用低有效復位信號,可按照圖3所示方法對復位信號中的毛刺進行消除。延時器件對數(shù)據(jù)進行延時的長度決定復位毛刺消除電路所能避免的毛刺長度,而延時器件的延時長度也決定需要提供有效復位信號的最短時間。

如果復位信號高有效,則將圖3中的或門改為與門使用。為更好地消除毛刺,可在復位毛刺消除電路后再加上寄存器對復位信號進行時鐘同步。在通常復位電路的設(shè)計中,毛刺的長度一般情況下>1個時鐘周期,



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉