新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 大型FPGA設計中的多時鐘設計策略

        大型FPGA設計中的多時鐘設計策略

        作者: 時間:2012-03-07 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/190680.htm

        作為一種可能的解決方案,我們推薦使用一個最快的時鐘來對16個E1時鐘采樣。16個輸入時鐘都接近2.048MHz,并且還有一個34.368MHz的系統時鐘。這樣,我們可以用34.368MHz時鐘來對16個E1時鐘分別進行采樣,并將結果存儲在一個16位存儲器中(每個E1時鐘一個位)。然后,我們可以使用一個算法來檢測在E1時鐘上由低至高的轉換,為每一個E1數據信號產生一個使能信號,并在下一個周期(34.368MHz)中存儲數據。

        要成功實現這種方案,還必需了解時鐘-數據關系以避免在數據變化時對數據采樣,參見圖6。請注意在時鐘采樣電路的第一級中使用了兩個觸發器以確保在亞穩態下正常工作。另外需要注意的是,數據和時鐘必須具有相同時鐘周期數的延遲。

        我們已經成功地將多路復用器的時鐘減少到一個時鐘,同樣的方法可否用在解復用器呢?E3解復用器必須采用一個外部輸入時鐘,這是因為驅動E3輸入數據的同一個片外器件利用到該時鐘。由于E3解復用器知道在什么時候發送數據到E2解復用器,并能對每個E2解復用器產生使能信號,而四個E2解復用器能工作在與E3多路復用器相同的主時鐘下。同樣,E2多路復用器能夠為每個E1流產生使能信號。

        如果我們假設線路接口芯片能夠接受有間隙的時鐘(gapped clock),一旦確定發出E1使能信號,我們只需要發送一個時鐘脈沖至線路接口。然而,只需要簡單地發送使能信號本身至接口芯片而不必產生一個新的時鐘。因為送至接口的數據將在使能信號的下降沿產生改變(參見圖5),我們需要確認接口在時鐘的上升沿進行采樣。因為使能信號僅在線路接口芯片上而不是在內用作一個時鐘,就沒有必要在一個低抖動源中進行布線。注意這是在知道將再也不會用主時鐘的連續脈沖送數據到相同的從屬器件中時才這樣做。

        1MHz SPI時鐘并不能簡單去掉,但我們現在通過使用使能信號和時鐘過采樣技術,將原先40個時鐘減少到3個,這樣我們就有了更大的器件選擇范圍。圖6:多路復用器中的時鐘過采樣。

        異步時鐘

        在用異步時鐘產生任何邏輯前應該盡量先考慮采用其它替代方法,用異步時鐘的組合邏輯是產生亞穩態問題的主要原因。同樣,當違反觸發器的設置和保持時間約束時,在一個短時間內輸出將具有不確定性,并且將最終設定在“1”或“0”上,確切的狀態不可預知。

        幸運的是對于亞穩態性問題已經有一些解決方案。圖6說明了這一方案,這是一種雙寄存器方法:進入第一級觸發器的數據與時鐘異步,所以第一級觸發器幾乎肯定是亞穩態;然而,只要亞穩態的長度小于時鐘的周期,第二級觸發器就不會進入亞穩態。但是,供應商很少提供亞穩態時間,盡管該時間一般小于觸發器的設置和保持時間之和。

        如果時鐘不是太快而且能滿足時序約束的話,像圖6所示的電路將可能不會產生亞穩態。只要所有輸出到觸發器的通路由相同時鐘驅動,即使第一級觸發器的輸出可用,通常還是需要用像圖6中電路來將亞穩態隔離到一條短線。采用這種方法后,將不太可能出現由于電路的改變而無意地在無時鐘驅動的邏輯中用到該亞穩太線。

        如果讀數據的是一個計數器,像從一個異步FIFO讀或寫地址,你應該考慮下列情況:一個傳統的3位計數器在狀態之間有一個、兩個或三個位的變化,例如讀數發生在計數器從“011”到“100”變化的瞬間,則所有三個位的值將不確定,讀的值會是八種可能狀態中的任一種。如果計數器是使用格雷碼,如表所示,則每次僅有一位發生狀態改變,如果讀數發生在計數器變化的瞬間,則只有一個位會有問題,所以在讀操作中只有兩種可能結果,而且這兩種可能結果是計數器正好在讀以前的值和正好在讀以后的值時。因為讀正好發生在計數器產生變化的瞬間,你不可能確切地說哪個值是正確的,即兩者都應該認為是有效的。

        另一個避免異步時鐘問題的方法是忽略較慢的時鐘,并用較快的時鐘來采樣。這需要數據有特殊的成幀特性(例如,具有一個前導碼)來定義數據邊界。這是一個常用的方法,在差不多每一個具有UART形式的嵌入式系統都有應用。該方法是:采用一個非常快的時鐘,比如數據符號率的16倍,在連續發現15個起始字符后開始采樣,則下一個16(左右)位相當于送的第一個位,再下一個16(左右)位對應下一個位,并以次類推。

        電度表相關文章:電度表原理



        上一頁 1 2 下一頁

        關鍵詞: FPGA 大型 策略 多時鐘

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巴塘县| 沂源县| 兴宁市| 寿光市| 周口市| 内丘县| 察雅县| 安新县| 交城县| 上思县| 淳化县| 房山区| 英吉沙县| 勃利县| 北宁市| 徐汇区| 张家口市| 平陆县| 阿鲁科尔沁旗| 五常市| 广灵县| 库尔勒市| 雅江县| 洞口县| 栖霞市| 应用必备| 宁强县| 醴陵市| 建宁县| 岚皋县| 宿迁市| 吴川市| 泊头市| 花垣县| 赤城县| 阿尔山市| 岑巩县| 福海县| 彩票| 阿拉善左旗| 千阳县|