新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > FPGA研發之道(15)-設計不是湊波形(五)接口設計

        FPGA研發之道(15)-設計不是湊波形(五)接口設計

        作者: 時間:2014-11-11 來源:網絡 收藏

          作為工程師來說,碰到新的問題是設計中最常見的事情了,技術發展趨勢日新月異,所以經常會有新的概念,新的需求,新的設計等待去實現。不是每個通過BAIDU或者GOOGLE都有答案。

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

          因此,新的設計經常會有,那如何實現?

          假設,需要設計一個模塊,那我們就需要了解一下幾個問題:

          (1) 同步還是異步模塊;

          (2) 有哪些信號,功能是什么?

          (3) 信號之間時序關系是什么?

          (4) 傳遞的效率能夠達到多少;

          (5) 等等!

          誰會給予這些答案,有一個好的tutor就是“datasheet”,一般來說設計一個接口模塊,必然與其他硬件電路進行連接。

          假如是外部連接接口為總線接口,那至少包括卻不限于以下信號,

          (1) 地址:能夠支持的最大地址空間,數據和地址是否復用接口;

          (2) 數據:一般讀數據和寫數據復用同一接口,一般數據信號此時都為三態。三態信號有OE信號。

          (3) 讀寫命令。單次的讀操作、單次的寫操作

          (4) 是否支持突發傳輸,burst的讀寫操作

          (5) 同步還是異步。

          (6) 控制信號之間的相位關系及建立保持時間的要求。

          

        ?

          圖為 TI 系列35X系列處理器的GPMC的接口,由圖中可以看出其時鐘、地址、數據等操作信號。

          如果是同步并行接口,一般用于數據流傳輸,如AD/DA的輸入或輸出,網口PHY的輸出信號等,一般的同步并行信號,通常包括,(1)時鐘信號、(2)數據、信號(3)使能信號等。

          

        上圖為RMII的數據接口,圖中可以看到其控制信號,數據信號及使能信號。作為流傳輸接口,一般可以支持雙向雙工傳輸。上述兩種接口描述了兩種主流的FPGA的外部接口,即總線接口和流傳輸接口。通過軟件定義和FPGA內部邏輯設計,總線接口可以實現流的傳輸(總線接口實現雙向傳輸,可以通過輪詢和中斷兩種方式實現),同時流傳輸接口也可以實現總線讀寫功能。可以根據具體的使用環境進行設計。

        ?

          SERDES接口則是另一種數據流的傳輸接口, 現在FPGA的serdes最高可以支持到28Gbps。實際上為了滿足減少板級連線,并且提高傳輸速率的需求。集成更多的SERDES也是FPGA發展的趨勢。

          

        ?

          上圖為SERDES的框圖,由PCS和PMA模塊構成,PMA一般為硬核IP,PCS為軟核或者硬核模塊,收發獨立,且都為差分信號(serdes將在后續章節詳述)。值得一提的是,SERDES接口對FPGA邏輯的接口一般固定位同步并行接口,數據信號位寬都較大。

          這些接口如何做詳細設計,一方面可根據其上述共性特點,這能夠對其特點有大概的認識,另一方面則是FPGA連接的器件的DATASHEET。根據這些器件接口功能的描述和支持的特性。FPGA可根據需要和功能特性,進行有選擇的實現(例如總線接口不需要brust操作,則可只實現單次的讀寫,就可以滿足業務的需求,進行功能裁剪和簡化等等)。

          接口設計完成,FPGA就要對設計進行基本。對于流接口來說,能夠支持環回的功能的話(即將收到數據流再發回),就極大方便。對于總線接口則需要支持對FPGA內部某地址的讀寫操作的。這就屬于可測性設計的范疇。(后續將專題詳述FPGA的可測性設計)。

          如果一個模塊沒有任何的輸入輸出,其再復雜的功能也等同一塊石頭,或者只有輸入,沒有輸出也等同一塊石頭。因此輸入和輸出則是一個設計的第一步。

        fpga相關文章:fpga是什么




        關鍵詞: FPGA 測試 接口

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凤城市| 开化县| 中宁县| 河源市| 雅江县| 嵊泗县| 木里| 登封市| 清水县| 句容市| 万盛区| 垣曲县| 高平市| 诏安县| 林州市| 泌阳县| 襄城县| 绥德县| 江北区| 嘉禾县| 含山县| 洛阳市| 栾城县| 丘北县| 定陶县| 黄骅市| 策勒县| 钦州市| 湖口县| 麟游县| 大新县| 依兰县| 永福县| 绥中县| 南华县| 乌恰县| 长兴县| 宜丰县| 淮滨县| 廉江市| 隆昌县|