<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • FPGA/CPLD數字電路原理介紹

    發布時間:2016-5-10 09:56    發布者:designapp
    關鍵詞: FPGA , CPLD
    當產生門控時鐘的組合邏輯超過一級時,證設計項目的可靠性變得很困難。即使樣機或仿真結果沒有顯示出靜態險象,但實際上仍然可能存在著危險。通常,我們不應該用多級組合邏輯去鐘控PLD設計中的觸發器。

    圖1給出一個含有險象的多級時鐘的例子。時鐘是由SEL引腳控制的多路選擇器輸出的。多路選擇器的輸入是時鐘(CLK)和該時鐘的2分頻 (DIV2)。由圖1的定時波形圖看出,在兩個時鐘均為邏輯1的情況下,當SEL線的狀態改變時,存在靜態險象。險象的程度取決于工作的條件。 多級邏輯的險象是可以去除的。
      


    圖1 有靜態險象的多級時鐘

    圖2給出圖1電路的一種單級時鐘的替代方案。圖中SEL引腳和DIV2信號用于使能D觸發器的使能輸入端,而不是用于該觸發器的時鐘引腳。采用這個電路并不需要附加PLD的邏輯單元,工作卻可靠多了。 不同的系統需要采用不同的方法去除多級時鐘,并沒有固定的模式。
      


    圖2 無靜態險象的多級時鐘

    行波時鐘

    另一種流行的時鐘電路是采用行波時鐘,即一個觸發器的輸出用作另一個觸發器的時鐘輸入。如果仔細地設計,行波時鐘可以象全局時鐘一樣地可靠工作。然而,行波時鐘使得與電路有關的定時計算變得很復雜。行波時鐘在行波鏈上各觸發器的時鐘之間產生較大的時間偏移,并且會超出最壞情況下的建立時間、保持時間和電路中時鐘到輸出的延時,使系統的實際速度下降。

    用計數翻轉型觸發器構成異步計數器時常采用行波時鐘,一個觸發器的輸出鐘控下一個觸發器的輸入,參看圖3同步計數器通常是代替異步計數器的更好方案,這是因為兩者需要同樣多的宏單元而同步計數器有較快的時鐘到輸出的時間。圖4給出具有全局時鐘的同步計數器,它和圖3功能相同,用了同樣多的邏輯單元實現,卻有較快的時鐘到輸出的時間。幾乎所有PLD開發軟件都提供多種多樣的同步計數器。
      


    圖3 行波時鐘
      


    圖4 行波時鐘轉換成全局時鐘

    多時鐘系統

    許多系統要求在同一個PLD內采用多時鐘。最常見的例子是兩個異步微處理器器之間的接口,或微處理器和異步通信通道的接口。由于兩個時鐘信號之間要求一定的建立和保持時間,所以,上述應用引進了附加的定時約束條件。它們也會要求將某些異步信號同步化。

    圖5給出一個多時鐘系統的實例。CLK_A用以鐘控REG_A,CLK_B用于鐘控REG_B,由于REG_A驅動著進入REG_B的組合邏輯,故CLK_A的上升沿相對于CLK_B的上升沿有建立時間和保持時間的要求。由于REG_B不驅動饋到REG_A的邏輯,CLK_B的上升沿相對于 CLK_A沒有建立時間的要求。此外,由于時鐘的下降沿不影響觸發器的狀態,所以CLK_A和CLK_B的下降沿之間沒有時間上的要求。如圖5所示,電路中有兩個獨立的時鐘,可是,在它們之間的建立時間和保持時間的要求是不能保證的。在這種情況下,必須將電路同步化。圖6 給出REG_A的值(如何在使用前)同CLK_B同步化。新的觸發器REG_C由GLK_B觸控,保證REG_G的輸出符合REG_B的建立時間。然而,這個方法使輸出延時了一個時鐘周期。
      


    圖5 多時鐘系統 (定時波形示出CLK_A的上升沿相對于CLK_B的上升沿有建立時間和保持時間的約束條件)
      


    圖6 具有同步寄存器輸出的多時鐘系統

    在許多應用中只將異步信號同步化還是不夠的,當系統中有兩個或兩個以上非同源時鐘的時候,數據的建立和保持時間很難得到保證,我們將面臨復雜的時間問題。最好的方法是將所有非同源時鐘同步化。使用PLD內部的鎖項環(PLL或DLL)是一個效果很好的方法,但不是所有PLD都帶有PLL、DLL,而且帶有PLL功能的芯片大多價格昂貴,所以除非有特殊要求,一般場合可以不使用帶PLL的PLD。 這時我們需要使用帶使能端的D觸發器,并引入一個高頻時鐘。
      


    圖7 不同源時鐘

    如圖7所示,系統有兩個不同源時鐘,一個為3MHz,一個為5MHz,不同的觸發器使用不同的時鐘。為了系統穩定,我們引入一個20MHz時鐘,將3M和5M時鐘同步化,如圖8所示。 20M的高頻時鐘將作為系統時鐘,輸入到所有觸發器的的時鐘端。3M_EN 和5M_EN將控制所有觸發器的使能端。即原來接3M時鐘的觸發器,接20M時鐘,同時3M_EN 將控制該觸發器使能 ,原接5M時鐘的觸發器,也接20M時鐘,同時5M_EN 將控制該觸發器使能。 這樣我們就可以將任何非同源時鐘同步化。
      


    圖8 同步化任意非同源時鐘

    另外,異步信號輸入總是無法滿足數據的建立保持時間,容易使系統進入亞穩態,所以也建議設計者把所有異步輸入都先經過雙觸發器進行同步化。穩定可靠的時鐘是系統穩定可靠的重要條件,我們不能夠將任何可能含有毛刺的輸出作為時鐘信號,并且盡可能只使用一個全局時鐘,對多時鐘系統要注意同步異步信號和非同源時鐘。
    本文地址:http://www.portaltwn.com/thread-165914-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
    • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
    • Dev Tool Bits——使用DVRT協議查看項目中的數據
    • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷