• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      FPGA中關(guān)于復(fù)位的設(shè)計(jì)和研究

      2018-06-14 05:47:14陳云陳恩耀劉國(guó)斌左麗麗劉偉
      關(guān)鍵詞:亞穩(wěn)態(tài)觸發(fā)器寄存器

      陳云 陳恩耀 劉國(guó)斌 左麗麗 劉偉

      (上海航天電子技術(shù)研究所,上海 201109)

      1 引言

      復(fù)位是FPGA設(shè)計(jì)中一個(gè)基本而又重要的環(huán)節(jié)。復(fù)位的目的是在系統(tǒng)啟動(dòng)或內(nèi)部模塊功能發(fā)生錯(cuò)誤時(shí)將設(shè)計(jì)強(qiáng)制定位在一個(gè)初始可知狀態(tài), 合理選擇復(fù)位方式是電路設(shè)計(jì)的關(guān)鍵?,F(xiàn)在常用的復(fù)位方式有三種:同步復(fù)位、異步復(fù)位和異步復(fù)位和同步釋放。本文從多角度對(duì)三種復(fù)位方式的優(yōu)劣進(jìn)行了總結(jié), 針對(duì)復(fù)位設(shè)計(jì)中存在的問(wèn)題進(jìn)行分析并給出了相應(yīng)的解決方案。

      2 三種復(fù)位方式的討論

      2.1 同步復(fù)位

      同步復(fù)位是指復(fù)位信號(hào)僅在時(shí)鐘信號(hào)的有效沿對(duì)觸發(fā)器進(jìn)行復(fù)位,此時(shí)復(fù)位信號(hào)可以看作觸發(fā)器輸入端信號(hào)的一部分。同步復(fù)位綜合后RTL圖如圖1所示。

      同步復(fù)位的優(yōu)點(diǎn):綜合出較小的觸發(fā)器,能夠保證整個(gè)電路設(shè)計(jì)的同步性,確保復(fù)位僅在時(shí)鐘信號(hào)有效沿發(fā)生,有利于濾除高頻信號(hào)的干擾,有利于進(jìn)行時(shí)序分析及系統(tǒng)的總體同步化,易于進(jìn)行基于周期的仿真。同步復(fù)位的缺點(diǎn):復(fù)位信號(hào)的有效時(shí)間必須大于時(shí)鐘周期,否則無(wú)法被識(shí)別并進(jìn)行復(fù)位操作,需要一個(gè)脈沖延展器來(lái)保證復(fù)位信號(hào)具有一定的脈沖寬度, 以確保能夠在時(shí)鐘的有效沿被采樣到,綜合時(shí)占用更多的邏輯資源。

      2.2 異步復(fù)位

      異步復(fù)位是指無(wú)論時(shí)鐘沿是否到來(lái),只要復(fù)位信號(hào)有效沿到來(lái)就對(duì)系統(tǒng)進(jìn)行復(fù)位,復(fù)位信號(hào)和時(shí)鐘相互獨(dú)立。異步復(fù)位綜合后RTL圖如圖2所示。

      異步復(fù)位的優(yōu)點(diǎn):有效利用了寄存器CLR端口,節(jié)省了系統(tǒng)資源;復(fù)位信號(hào)的有效時(shí)間可以不受時(shí)鐘周期的限制,確保其可控性,由于受數(shù)據(jù)通路時(shí)序的要求, 不可能通過(guò)在數(shù)據(jù)通路上添加邏輯門(mén)或增加連線延遲來(lái)處理同步復(fù)位,使用異步復(fù)位就可以保證不將復(fù)位信號(hào)加載到數(shù)據(jù)通路上,且電路可以不依賴(lài)于時(shí)鐘進(jìn)行復(fù)位。異步復(fù)位的缺點(diǎn):復(fù)位信號(hào)如果發(fā)生在靠近時(shí)鐘沿很近的時(shí)間點(diǎn),那么觸發(fā)器就可能沒(méi)有足夠的時(shí)間維持輸入端信號(hào)的值,容易造成亞穩(wěn)態(tài),從而影響設(shè)計(jì)的可靠性;復(fù)位信號(hào)容易受到毛刺的影響,會(huì)導(dǎo)致觸發(fā)器的誤操作,進(jìn)而影響設(shè)計(jì)的穩(wěn)定性;此外異步復(fù)位的可測(cè)性和STA的復(fù)雜性要高于同步復(fù)位。

      圖1 同步復(fù)位電路圖

      圖2 異步復(fù)位電路圖

      2.3 異步復(fù)位同步釋放

      異步復(fù)位同步釋放是指在異步復(fù)位信號(hào)到來(lái)的時(shí)候不受時(shí)鐘信號(hào)的同步,而是在復(fù)位信號(hào)釋放的時(shí)候受到時(shí)鐘信號(hào)的同步。其綜合后RTL圖如圖3所示。

      其中異步復(fù)位信號(hào)使用FPGA寄存器的全局異步復(fù)位端口能夠使復(fù)位信號(hào)有效時(shí)刻到達(dá)所有寄存器的時(shí)鐘偏移最小,既能夠節(jié)約資源又能簡(jiǎn)化設(shè)計(jì)。由于異步復(fù)位信號(hào)釋放時(shí)可能導(dǎo)致亞穩(wěn)態(tài)的發(fā)生,為了解決這一問(wèn)題可以采用同步釋放,即先將異步復(fù)位信號(hào)用電平同步器同步后分配給其他功能模塊,使得這些功能模塊內(nèi)寄存器在復(fù)位釋放時(shí)總是滿(mǎn)足復(fù)位恢復(fù)時(shí)間的約束,從而抑制了亞穩(wěn)態(tài)的發(fā)生。異步復(fù)位同步釋放的雙緩沖電路的復(fù)位方式同時(shí)彌補(bǔ)了同步復(fù)位和異步復(fù)位的缺陷,并很好地發(fā)揮了他們的優(yōu)勢(shì)之處。異步復(fù)位同步釋放的雙緩沖復(fù)位方式采用兩級(jí)觸發(fā)電路,第二級(jí)觸發(fā)器將第一級(jí)觸發(fā)信號(hào)利用時(shí)鐘打一拍,異步信號(hào)同步化,有效的降低亞穩(wěn)態(tài)發(fā)生概率,同時(shí)節(jié)約了系統(tǒng)資源,在FPGA邏輯設(shè)計(jì)中可以很好的提高復(fù)位的可靠性。

      圖3 異步復(fù)位同步釋放電路圖

      圖4 恢復(fù)時(shí)間和釋放時(shí)間圖

      圖5 例1綜合后RTL圖

      3 復(fù)位設(shè)計(jì)中存在的問(wèn)題

      3.1 亞穩(wěn)態(tài)問(wèn)題

      復(fù)位設(shè)計(jì)中復(fù)位信號(hào)必須保持一定的脈沖寬度以確保時(shí)鐘的有效沿采樣區(qū)落在此有效脈沖寬度內(nèi),如果時(shí)鐘采樣時(shí)刻是復(fù)位信號(hào)的跳變沿即不穩(wěn)定態(tài)X態(tài),那么復(fù)位信號(hào)將被X態(tài)掩蓋。要詳細(xì)說(shuō)明亞穩(wěn)態(tài)的產(chǎn)生機(jī)制,此處涉及兩個(gè)概念:恢復(fù)時(shí)間Tremoval和釋放時(shí)間Tremoval,恢復(fù)時(shí)間是指復(fù)位信號(hào)釋放時(shí)刻與隨之而來(lái)最近的時(shí)鐘有效沿之間的最小時(shí)間,而釋放時(shí)間是指時(shí)鐘有效沿與復(fù)位信號(hào)無(wú)效時(shí)刻之間的最小時(shí)間,如圖4所示。

      如果低有效復(fù)位信號(hào)的上升沿落在這兩個(gè)時(shí)間窗口內(nèi),則觸發(fā)器的輸出端的值將為不定態(tài),既可能處于低電平也可能處于高電平,甚至處于震蕩態(tài)并在不確定時(shí)刻才穩(wěn)定為高電平或低電平狀態(tài)。在亞穩(wěn)態(tài)時(shí)如果輸出值在下一個(gè)寄存器捕獲之前已經(jīng)穩(wěn)定到有效狀態(tài),那么這個(gè)有效狀態(tài)也可能發(fā)生邏輯誤判,如果此邏輯錯(cuò)誤發(fā)生在決定器件某個(gè)功能的關(guān)鍵性寄存器上,將導(dǎo)致此芯片的相關(guān)功能也出錯(cuò),此外如果亞穩(wěn)態(tài)信號(hào)被捕獲時(shí)為震蕩態(tài)并傳遞到不同的寄存器,那么這些本該得到相同正確邏輯值的寄存器會(huì)得到不同的值,這些不同寄存器有的獲得正確值而另一些則獲得錯(cuò)誤值,將導(dǎo)致邏輯混亂進(jìn)而使整個(gè)功能發(fā)生錯(cuò)誤。

      雖然了解了亞穩(wěn)態(tài)發(fā)生的機(jī)制,但亞穩(wěn)態(tài)發(fā)生是時(shí)間問(wèn)題,往往是不可避免的,目前沒(méi)有一種方式可以從根本上消滅異步電路中亞穩(wěn)態(tài)的發(fā)生,只能通過(guò)優(yōu)化設(shè)計(jì)使得評(píng)估出現(xiàn)亞穩(wěn)態(tài)的平均無(wú)故障時(shí)間MTBF(Mean Time Between Failures)變大以抑制亞穩(wěn)態(tài)發(fā)生,在現(xiàn)行FPGA設(shè)計(jì)中往往通過(guò)將異步復(fù)位信號(hào)進(jìn)行兩級(jí)同步后再使用,可以顯著抑制亞穩(wěn)態(tài)的發(fā)生,提升系統(tǒng)的可靠性。

      3.2 局部復(fù)位的設(shè)計(jì)

      FPGA設(shè)計(jì)中盡量使用專(zhuān)用全局復(fù)位或置位資源,其主要作用是對(duì)系統(tǒng)中存在的所有觸發(fā)器、鎖存器、查找表單元的輸出寄存器進(jìn)行復(fù)位,不會(huì)占有額外的布線資源。使用GSR資源,異步復(fù)位到達(dá)所有寄存器的偏斜最小。

      如果設(shè)計(jì)需求里必須采用某個(gè)使能信號(hào)進(jìn)行局部復(fù)位,盡量不使用組合邏輯后的信號(hào)進(jìn)行局部復(fù)位,組合邏輯出去的電平信號(hào)經(jīng)常伴隨著毛刺,將此信號(hào)直接用作復(fù)位將導(dǎo)致觸發(fā)器的誤判操作,如果非要使用,先此使能信號(hào)在需要進(jìn)行復(fù)位的時(shí)鐘域內(nèi)進(jìn)行多級(jí)濾波濾除毛刺后使用,這樣能大大提升設(shè)計(jì)的穩(wěn)定性和可靠性。

      圖6 例2綜合后RTL圖

      3.3 同一復(fù)位路徑上復(fù)位的設(shè)計(jì)

      在設(shè)計(jì)時(shí)如果對(duì)復(fù)位問(wèn)題不夠重視,經(jīng)常會(huì)出現(xiàn)在某些功能模塊使用同步復(fù)位后又在其他模塊內(nèi)使用異步復(fù)位的情況,使得同一復(fù)位路徑上如果既使用同步復(fù)位又使用異步復(fù)位,首先會(huì)導(dǎo)致復(fù)位時(shí)這條路徑上相關(guān)寄存器的值跳變的時(shí)間不一致,如果這些寄存器輸出后續(xù)需要做組合邏輯則易產(chǎn)生毛刺進(jìn)而影響功能的實(shí)現(xiàn),其次這種設(shè)計(jì)還有可能導(dǎo)致在邏輯綜合和布局布線時(shí)發(fā)生問(wèn)題,所以盡量避免此種情況的發(fā)生。下面為兩個(gè)常見(jiàn)的錯(cuò)誤設(shè)計(jì),其設(shè)計(jì)代碼和綜合后RTL圖如圖5、圖6。

      例1:always@(posedge CLK)begin

      if(!RST_N)

      Q1 <= 1'b0;

      else

      Q1 <= DATA;

      end

      always@(posedge CLK or negedge RST_N)begin

      if(!RST_N)

      Q2 <= 1'b0;

      else

      Q2 <= DATA;

      end

      例2: assign TMP = RST_N_1^RST_N_2;

      always@(posedge CLK)begin

      if(!TMP)

      Q1 <= 1'b0;

      else

      Q1 <= DATA;

      end

      always@(posedge CLK or negedge TMP)begin

      if(!TMP)

      Q2 <= 1'b0;

      else

      Q2 <= DATA;

      end

      在復(fù)位設(shè)計(jì)中需要養(yǎng)成一個(gè)良好的習(xí)慣,最好單獨(dú)寫(xiě)一個(gè)模塊作為復(fù)位產(chǎn)生模塊, 針對(duì)輸入的異步復(fù)位信號(hào),在此模塊內(nèi)通過(guò)異步復(fù)位同步釋放的方式產(chǎn)生復(fù)位,然后將此復(fù)位信號(hào)作為系統(tǒng)復(fù)位接到接到所有其他需要復(fù)位的功能模塊中,這樣就會(huì)避免發(fā)生上述問(wèn)題。

      4 結(jié)語(yǔ)

      在FPGA設(shè)計(jì)中不論是采用同步復(fù)位還是異步復(fù)位, 復(fù)位信號(hào)必須盡量與時(shí)鐘信號(hào)同步, 否則設(shè)計(jì)可能被復(fù)位到一個(gè)無(wú)效狀態(tài)。本文對(duì)FPGA 設(shè)計(jì)中常用的復(fù)位設(shè)計(jì)方法進(jìn)行了分類(lèi)、分析和比較,并針對(duì)實(shí)際復(fù)位設(shè)計(jì)中可能存在的問(wèn)題,提出了如何提高復(fù)位可靠性的方法。隨著FPGA設(shè)計(jì)規(guī)模越來(lái)越大、功能越來(lái)越多,其復(fù)雜程度也不斷提高,對(duì)復(fù)位設(shè)計(jì)可靠性的依賴(lài)也越來(lái)越緊密,一個(gè)好的復(fù)位設(shè)計(jì)方案可以有效減少或消除由復(fù)位不當(dāng)所帶來(lái)的系統(tǒng)可靠性的問(wèn)題。

      [1]田志明,楊軍,羅嵐.異步復(fù)位設(shè)計(jì)中亞穩(wěn)態(tài)問(wèn)題及其解決方案[J].電子器件,2002,25(4):435-439.

      [2]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第2版)[M].北京航空航天大學(xué)出版社,2008,6.

      [3]李忠琪,胡劍浩,王劍.FPGA中復(fù)位電路的設(shè)計(jì)研究[C].中國(guó)通信集成電路技術(shù)與應(yīng)用討論會(huì)論文集,2008.

      猜你喜歡
      亞穩(wěn)態(tài)觸發(fā)器寄存器
      2016年門(mén)源MS6.4地震前跨斷層短水準(zhǔn)短期異常的機(jī)理探討
      地震研究(2020年4期)2020-09-26 10:08:11
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      FPGA設(shè)計(jì)中跨時(shí)鐘域的問(wèn)題與方法
      主從JK觸發(fā)器邏輯功能分析
      電子世界(2017年22期)2017-12-02 03:03:45
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      使用觸發(fā)器,強(qiáng)化安全性
      非對(duì)稱(chēng)反饋神經(jīng)網(wǎng)絡(luò)中亞穩(wěn)態(tài)的位置與穩(wěn)定性
      對(duì)觸發(fā)器邏輯功能轉(zhuǎn)換的分析
      觸發(fā)器邏輯功能轉(zhuǎn)換的兩種方法
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      乌兰浩特市| 凭祥市| 江陵县| 平泉县| 屏山县| 临汾市| 南漳县| 英吉沙县| 工布江达县| 菏泽市| 渭源县| 拜泉县| 涿鹿县| 东乡县| 黔西县| 航空| 翼城县| 蓬莱市| 攀枝花市| 环江| 定结县| 冀州市| 浦东新区| 左权县| 马鞍山市| 丹巴县| 水富县| 寿阳县| 齐河县| 泰和县| 福清市| 磴口县| 宁晋县| 蒲城县| 广安市| 苗栗县| 曲靖市| 巨野县| 凌海市| 昭苏县| 上饶市|