<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 測試測量 > 正文

    FPGA和CPLD內部自復位電路設計方案

    發布時間:2016-07-12 責任編輯:susan

    【導讀】復位信號是時序電路設計的基本信號,本文描述了復位的定義,分類及不同復位設計的影響,并討論了針對FPGA和CPLD的內部自復位方案。

    1、定義
     
    復位信號是一個脈沖信號,它會使設計的電路進入設定的初始化狀態,一般它作用于寄存器,使寄存器初始化為設定值;其脈沖有效時間長度必須大于信號到達寄存器的最大時延,這樣才有可能保證復位的可靠性。
     
    下面將討論FPGA/CPLD的復位電路設計。
     
    2、分類及不同復位設計的影響
     
    根據電路設計,復位可分為異步復位和同步復位。
     
    對于異步復位,電路對復位信號是電平敏感的,如果復位信號受到干擾,如出現短暫的脈沖跳變,電路就會部分或全部被恢復為初始狀態,這是我們不愿看到的。因此,異步復位信號是一個關鍵信號,在電路設計時,如PCB Layout需要對其優先考慮和作特別保護,避免信號線出現的干擾產生非期望的復位。
     
    對于同步復位,電路在時鐘信號下對復位信號進行采樣,復位信號只在時鐘的跳變沿(邊沿)有效;如果復位信號受到干擾,只要該干擾脈沖不出現在時鐘的跳變沿,或者脈沖能量不足以使時鐘采樣到有效的信號,電路就不會被異常復位,這樣可有效降低信號線上出現毛刺等干擾信號所產生誤復位操作的概率,提高了電路的抗干擾能力。
     
    在FPGA/CPLD設計中,如果復位信號是通過組合邏輯產生的,我們在仿真的時候經常可以看到,由于組合邏輯的競爭冒險產生的毛刺,會導致采用異步復位設計的電路被誤復位;因此在設計當中要對異步復位信號進行同步化處理,避免誤操作產生。
     
    具體的做法是:設計一個專門的復位模塊,它對復位信號(記為R)進行同步化處理,產生新的復位信號(記為RS),這個RS信號可作為其他模塊的復位輸入信號;而其他模塊的電路可全部采用異步復位的設計方式;這樣的設計對復位信號進行統一處理,可根據需要調整,相對靈活,需要注意的是,要盡量降低時鐘邊沿與復位信號R失效時刻的亞穩態出現概率。
     
    在實際的FPGA/CPLD應用當中,會出現沒有外部復位信號的情景,而FPGA/CPLD的時序設計又需要一個復位信號來使內部的寄存器初始化為設定的狀態,這時候就需要通過內部邏輯產生一個內部復位信號。
     
    3、FPGA內部自復位方法
     
    內部自復位信號是器件上電后僅產生一次的信號,之后一直保持無效至器件掉電。這種一次性信號,產生它的數字電路自身需要一個初始的確定狀態,并且需要上電后就處于該種狀態;對于FPGA來說,其內部寄存器在上電后的狀態是不確定的,即無法預期的,因此利用寄存器的狀態來產生復位信號,不是那么可靠;但我們可以考慮FPGA的其他資源,一般FPGA內部都有RAM資源,這些RAM都可以被配置數據初始化的,也就是說當FPGA上電配置完成后,被初始化的RAM的數據內容是確定的。利用這個特點,我們就可以設計可靠的內部自復位信號。
     
    下面給出實現方法:
     
    1)配置一個數據長度為1位,地址長度為n位,且全部初始化為1的單口RAM;
     
    2)設計一個針對該單口RAM的讀寫模塊,其內部維護一個n位讀指針rp和一個n位寫指針wp,rp在每個時鐘節拍將其值賦給wp后并加1,保證rp領先于wp,將單口RAM的輸出數據作為復位信號,另外RAM的輸入數據固定為0;這樣RAM數據被先讀出,然后被置為0,因此上電配置完成后經過2n個時鐘節拍,RAM的數據從全1變成全0,從而實現一次性脈沖信號的產生。另外,通過控制地址長度n或時鐘頻率,就可得到所需的脈沖寬度。
     
    4、CPLD內部自復位方法
     
    CPLD其內部沒有RAM,這樣就不能依靠RAM的初始化數據來產生可靠的復位;從原理上說,器件上電后,其寄存器的狀態是不確定的,因此我們是沒法得到一個確定的初始狀態去產生一個可靠的內部復位信號,不過我們還是可以產生一個有一定失敗概率但概率可控的復位信號,其基本原理是:設計一個n位的狀態機,見下圖,其中一種狀態表示復位結束(記為LOOP),只要進入該狀態就會一直保持在LOOP狀態上,至于其他狀態都會跳入復位狀態(記為RESET),RESET狀態是暫態,一個時鐘周期就離開進入LOOP狀態;由于狀態LOOP出現的概率僅為:1/2n,我們控制n的長度,就可以將復位失敗概率控制在設定的要求內。
     
    Figure 1 內部復位狀態圖
     
    在實際的應用中,我們發現某些CPLD產品有一個特性,見下圖:
     
    Figure 2 摘自某產品的《handbook.pdf》
     
    從上圖可知,該CPLD在完成內部配置后,其內部所有寄存器都處于清零狀態,因此可以說寄存器在上電后是有一個確定的初始狀態,但這個特性應該是對通過修改具有固定內連電路的邏輯功能來編程的CPLD所特有的,對通過改變內部連線的布線來編程的FPGA來說,并未查到它具有這種特性,因此我們可以采取更簡單的方法來產生內部自復位信號:維護一個n位計數器,它隨時鐘節拍一直遞增直至某個設定的最大值M,之后就停止計數,這樣M之前的狀態就可實現為一個一次性的脈沖信號。
     
    另外,該產品用戶如果希望配置完成后CPLD內部各個寄存器的狀態處于可控或者特定的狀態(尤其當其值不一定是清零的狀態),那么用戶可以使用器件提供的專用管腳DEV_CLRn來達到所期望的效果。
     
    5、結語
     
    復位信號是時序電路設計的基本信號,雖然只是一個脈沖信號,但要使設計的電路可靠地工作,復位信號也是一個需認真對待的因素。

    特別推薦
    技術文章更多>>
    技術白皮書下載更多>>
    熱門搜索
    ?

    關閉

    ?

    關閉

    精品人妻中文字幕有码在线| 亚洲Av永久无码精品三区在线| 中文字幕丰满伦子无码| 亚洲一区无码中文字幕| 国产精品无码久久久久久| 天堂网www中文天堂在线| 天堂√中文最新版在线| 精品无码国产一区二区三区51安| 人妻少妇AV无码一区二区| 精品久久久久久无码中文野结衣 | 日韩精品中文字幕无码一区| 日本无码色情三级播放| 久久久久久亚洲精品无码 | 中文字幕一二三区| 中文字幕14页影音先锋| 亚洲Av永久无码精品三区在线| 丝袜熟女国偷自产中文字幕亚洲| 亚洲AV无码不卡在线播放| 无码精品视频一区二区三区| 日韩亚洲国产中文字幕欧美| 熟妇人妻无码中文字幕| 亚洲日韩中文字幕日韩在线| 十八禁视频在线观看免费无码无遮挡骂过 | 潮喷失禁大喷水aⅴ无码| 中文字幕精品一区| 熟妇人妻中文av无码| 精品少妇人妻av无码久久| 无码国产精品一区二区免费| 亚洲中文字幕无码不卡电影| 久久ZYZ资源站无码中文动漫| 日韩精品无码免费专区网站| 最近中文字幕大全免费版在线| 日韩精品无码一区二区三区不卡 | 中文亚洲欧美日韩无线码| 玖玖资源站无码专区| 曰韩精品无码一区二区三区 | 影音先锋中文无码一区| 国产亚洲精品无码成人| 亚洲AV无码一区二区三区DV| 亚洲伊人久久综合中文成人网| 天堂网在线最新版www中文网|