FPGA研發(fā)之道(15)-設(shè)計(jì)不是湊波形(五)接口設(shè)計(jì)
作為FPGA工程師來(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è),FPGA需要設(shè)計(jì)一個(gè)接口模塊,那我們就需要了解一下幾個(gè)問題:
(2) 有哪些信號(hào),功能是什么?
(3) 信號(hào)之間時(shí)序關(guān)系是什么?
(4) 傳遞的效率能夠達(dá)到多少;
(5) 等等!
誰(shuí)會(huì)給予這些答案,有一個(gè)好的tutor就是“datasheet”,一般來(lái)說(shuō)FPGA設(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)等。
?
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)行基本測(cè)試。對(duì)于流接口來(lái)說(shuō),能夠支持環(huán)回的功能的話(即將收到數(shù)據(jù)流再發(fā)回),就極大方便測(cè)試。對(duì)于總線接口則需要支持對(duì)FPGA內(nèi)部某地址的讀寫操作的測(cè)試。這就屬于可測(cè)性設(shè)計(jì)的范疇。(后續(xù)將專題詳述FPGA的可測(cè)性設(shè)計(jì))。
如果一個(gè)模塊沒有任何的輸入輸出,其再?gòu)?fù)雜的功能也等同一塊石頭,或者只有輸入,沒有輸出也等同一塊石頭。因此輸入和輸出則是一個(gè)設(shè)計(jì)的第一步。
fpga相關(guān)文章:fpga是什么
評(píng)論