FPGA研發(fā)之道(15)-設(shè)計不是湊波形(五)接口設(shè)計
作為FPGA工程師來說,碰到新的問題是設(shè)計中最常見的事情了,技術(shù)發(fā)展趨勢日新月異,所以經(jīng)常會有新的概念,新的需求,新的設(shè)計等待去實現(xiàn)。不是每個通過BAIDU或者GOOGLE都有答案。
本文引用地址:http://m.butianyuan.cn/article/265176.htm因此,新的設(shè)計經(jīng)常會有,那如何實現(xiàn)?
假設(shè),FPGA需要設(shè)計一個接口模塊,那我們就需要了解一下幾個問題:
(2) 有哪些信號,功能是什么?
(3) 信號之間時序關(guān)系是什么?
(4) 傳遞的效率能夠達到多少;
(5) 等等!
誰會給予這些答案,有一個好的tutor就是“datasheet”,一般來說FPGA設(shè)計一個接口模塊,必然與其他硬件電路進行連接。
假如是外部連接接口為總線接口,那至少包括卻不限于以下信號,
(1) 地址:能夠支持的最大地址空間,數(shù)據(jù)和地址是否復(fù)用接口;
(2) 數(shù)據(jù):一般讀數(shù)據(jù)和寫數(shù)據(jù)復(fù)用同一接口,一般數(shù)據(jù)信號此時都為三態(tài)。三態(tài)信號有OE信號。
(3) 讀寫命令。單次的讀操作、單次的寫操作
(4) 是否支持突發(fā)傳輸,burst的讀寫操作
(5) 同步還是異步。
(6) 控制信號之間的相位關(guān)系及建立保持時間的要求。
?
圖為 TI 系列35X系列處理器的GPMC的接口,由圖中可以看出其時鐘、地址、數(shù)據(jù)等操作信號。
如果是同步并行接口,一般用于數(shù)據(jù)流傳輸,如AD/DA的輸入或輸出,網(wǎng)口PHY的輸出信號等,一般的同步并行信號,通常包括,(1)時鐘信號、(2)數(shù)據(jù)、信號(3)使能信號等。
?
SERDES接口則是另一種數(shù)據(jù)流的傳輸接口, 現(xiàn)在FPGA的serdes最高可以支持到28Gbps。實際上為了滿足減少板級連線,并且提高傳輸速率的需求。集成更多的SERDES也是FPGA發(fā)展的趨勢。
?
上圖為SERDES的框圖,由PCS和PMA模塊構(gòu)成,PMA一般為硬核IP,PCS為軟核或者硬核模塊,收發(fā)獨立,且都為差分信號(serdes將在后續(xù)章節(jié)詳述)。值得一提的是,SERDES接口對FPGA邏輯的接口一般固定位同步并行接口,數(shù)據(jù)信號位寬都較大。
這些接口如何做詳細(xì)設(shè)計,一方面可根據(jù)其上述共性特點,這能夠?qū)ζ涮攸c有大概的認(rèn)識,另一方面則是FPGA連接的器件的DATASHEET。根據(jù)這些器件接口功能的描述和支持的特性。FPGA可根據(jù)需要和功能特性,進行有選擇的實現(xiàn)(例如總線接口不需要brust操作,則可只實現(xiàn)單次的讀寫,就可以滿足業(yè)務(wù)的需求,進行功能裁剪和簡化等等)。
接口設(shè)計完成,F(xiàn)PGA就要對設(shè)計進行基本測試。對于流接口來說,能夠支持環(huán)回的功能的話(即將收到數(shù)據(jù)流再發(fā)回),就極大方便測試。對于總線接口則需要支持對FPGA內(nèi)部某地址的讀寫操作的測試。這就屬于可測性設(shè)計的范疇。(后續(xù)將專題詳述FPGA的可測性設(shè)計)。
如果一個模塊沒有任何的輸入輸出,其再復(fù)雜的功能也等同一塊石頭,或者只有輸入,沒有輸出也等同一塊石頭。因此輸入和輸出則是一個設(shè)計的第一步。
fpga相關(guān)文章:fpga是什么
評論