新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 牛人業(yè)話 > FPGA研發(fā)之道(15)-設(shè)計(jì)不是湊波形(五)接口設(shè)計(jì)

FPGA研發(fā)之道(15)-設(shè)計(jì)不是湊波形(五)接口設(shè)計(jì)

作者: 時(shí)間:2014-11-11 來(lái)源:網(wǎng)絡(luò) 收藏

  作為工程師來(lái)說(shuō),碰到新的問題是設(shè)計(jì)中最常見的事情了,技術(shù)發(fā)展趨勢(shì)日新月異,所以經(jīng)常會(huì)有新的概念,新的需求,新的設(shè)計(jì)等待去實(shí)現(xiàn)。不是每個(gè)通過BAIDU或者GOOGLE都有答案。

本文引用地址:http://butianyuan.cn/article/265176.htm

  因此,新的設(shè)計(jì)經(jīng)常會(huì)有,那如何實(shí)現(xiàn)?

  假設(shè),需要設(shè)計(jì)一個(gè)模塊,那我們就需要了解一下幾個(gè)問題:

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

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

  (3) 信號(hào)之間時(shí)序關(guān)系是什么?

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

  (5) 等等!

  誰(shuí)會(huì)給予這些答案,有一個(gè)好的tutor就是“datasheet”,一般來(lái)說(shuō)設(shè)計(jì)一個(gè)接口模塊,必然與其他硬件電路進(jìn)行連接。

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

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

  (2) 數(shù)據(jù):一般讀數(shù)據(jù)和寫數(shù)據(jù)復(fù)用同一接口,一般數(shù)據(jù)信號(hào)此時(shí)都為三態(tài)。三態(tài)信號(hào)有OE信號(hào)。

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

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

  (5) 同步還是異步。

  (6) 控制信號(hào)之間的相位關(guān)系及建立保持時(shí)間的要求。

  

?

  圖為 TI 系列35X系列處理器的GPMC的接口,由圖中可以看出其時(shí)鐘、地址、數(shù)據(jù)等操作信號(hào)。

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

  

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

?

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

  

?

  上圖為SERDES的框圖,由PCS和PMA模塊構(gòu)成,PMA一般為硬核IP,PCS為軟核或者硬核模塊,收發(fā)獨(dú)立,且都為差分信號(hào)(serdes將在后續(xù)章節(jié)詳述)。值得一提的是,SERDES接口對(duì)FPGA邏輯的接口一般固定位同步并行接口,數(shù)據(jù)信號(hào)位寬都較大。

  這些接口如何做詳細(xì)設(shè)計(jì),一方面可根據(jù)其上述共性特點(diǎn),這能夠?qū)ζ涮攸c(diǎn)有大概的認(rèn)識(shí),另一方面則是FPGA連接的器件的DATASHEET。根據(jù)這些器件接口功能的描述和支持的特性。FPGA可根據(jù)需要和功能特性,進(jìn)行有選擇的實(shí)現(xiàn)(例如總線接口不需要brust操作,則可只實(shí)現(xiàn)單次的讀寫,就可以滿足業(yè)務(wù)的需求,進(jìn)行功能裁剪和簡(jiǎn)化等等)。

  接口設(shè)計(jì)完成,F(xiàn)PGA就要對(duì)設(shè)計(jì)進(jìn)行基本。對(duì)于流接口來(lái)說(shuō),能夠支持環(huán)回的功能的話(即將收到數(shù)據(jù)流再發(fā)回),就極大方便。對(duì)于總線接口則需要支持對(duì)FPGA內(nèi)部某地址的讀寫操作的。這就屬于可測(cè)性設(shè)計(jì)的范疇。(后續(xù)將專題詳述FPGA的可測(cè)性設(shè)計(jì))。

  如果一個(gè)模塊沒有任何的輸入輸出,其再?gòu)?fù)雜的功能也等同一塊石頭,或者只有輸入,沒有輸出也等同一塊石頭。因此輸入和輸出則是一個(gè)設(shè)計(jì)的第一步。

fpga相關(guān)文章:fpga是什么




關(guān)鍵詞: FPGA 測(cè)試 接口

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉