FPGA研發(fā)之道(15)-設計不是湊波形(五)接口設計
作為FPGA工程師來(lái)說(shuō),碰到新的問(wèn)題是設計中最常見(jiàn)的事情了,技術(shù)發(fā)展趨勢日新月異,所以經(jīng)常會(huì )有新的概念,新的需求,新的設計等待去實(shí)現。不是每個(gè)通過(guò)BAIDU或者GOOGLE都有答案。
本文引用地址:http://dyxdggzs.com/article/265176.htm因此,新的設計經(jīng)常會(huì )有,那如何實(shí)現?
假設,FPGA需要設計一個(gè)接口模塊,那我們就需要了解一下幾個(gè)問(wèn)題:
(2) 有哪些信號,功能是什么?
(3) 信號之間時(shí)序關(guān)系是什么?
(4) 傳遞的效率能夠達到多少;
(5) 等等!
誰(shuí)會(huì )給予這些答案,有一個(gè)好的tutor就是“datasheet”,一般來(lái)說(shuō)FPGA設計一個(gè)接口模塊,必然與其他硬件電路進(jìn)行連接。
假如是外部連接接口為總線(xiàn)接口,那至少包括卻不限于以下信號,
(1) 地址:能夠支持的最大地址空間,數據和地址是否復用接口;
(2) 數據:一般讀數據和寫(xiě)數據復用同一接口,一般數據信號此時(shí)都為三態(tài)。三態(tài)信號有OE信號。
(3) 讀寫(xiě)命令。單次的讀操作、單次的寫(xiě)操作
(4) 是否支持突發(fā)傳輸,burst的讀寫(xiě)操作
(5) 同步還是異步。
(6) 控制信號之間的相位關(guān)系及建立保持時(shí)間的要求。

?
圖為 TI 系列35X系列處理器的GPMC的接口,由圖中可以看出其時(shí)鐘、地址、數據等操作信號。
如果是同步并行接口,一般用于數據流傳輸,如AD/DA的輸入或輸出,網(wǎng)口PHY的輸出信號等,一般的同步并行信號,通常包括,(1)時(shí)鐘信號、(2)數據、信號(3)使能信號等。

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

?
上圖為SERDES的框圖,由PCS和PMA模塊構成,PMA一般為硬核IP,PCS為軟核或者硬核模塊,收發(fā)獨立,且都為差分信號(serdes將在后續章節詳述)。值得一提的是,SERDES接口對FPGA邏輯的接口一般固定位同步并行接口,數據信號位寬都較大。
這些接口如何做詳細設計,一方面可根據其上述共性特點(diǎn),這能夠對其特點(diǎn)有大概的認識,另一方面則是FPGA連接的器件的DATASHEET。根據這些器件接口功能的描述和支持的特性。FPGA可根據需要和功能特性,進(jìn)行有選擇的實(shí)現(例如總線(xiàn)接口不需要brust操作,則可只實(shí)現單次的讀寫(xiě),就可以滿(mǎn)足業(yè)務(wù)的需求,進(jìn)行功能裁剪和簡(jiǎn)化等等)。
接口設計完成,FPGA就要對設計進(jìn)行基本測試。對于流接口來(lái)說(shuō),能夠支持環(huán)回的功能的話(huà)(即將收到數據流再發(fā)回),就極大方便測試。對于總線(xiàn)接口則需要支持對FPGA內部某地址的讀寫(xiě)操作的測試。這就屬于可測性設計的范疇。(后續將專(zhuān)題詳述FPGA的可測性設計)。
如果一個(gè)模塊沒(méi)有任何的輸入輸出,其再復雜的功能也等同一塊石頭,或者只有輸入,沒(méi)有輸出也等同一塊石頭。因此輸入和輸出則是一個(gè)設計的第一步。
fpga相關(guān)文章:fpga是什么
評論