FPGA研發(fā)之道(2)FPGA和他那些小伙伴們(二)器件互聯(lián)
系統(tǒng)架構(gòu)確定,下一步就是FPGA與各組成器件之間互聯(lián)的問題了。通常來說,CPU和FPGA的互聯(lián)接口,主要取決兩個要素:
本文引用地址:http://www.ex-cimer.com/article/263947.htm(1)CPU所支持的接口。
(2)交互的業(yè)務(wù)。
通常來說,FPGA一般支持與CPU連接的數(shù)字接口,其常用的有EMIF,PCI,PCI-E,UPP,網(wǎng)口(MII/GMII/RGMII),DDR等接口。作為總線類接口,F(xiàn)PGA通常作為從設(shè)備與CPU連接,CPU作為主設(shè)備通過訪問直接映射的地址對FPGA進(jìn)行訪問。根據(jù)是否有時鐘同步,通??偩€訪問分為同步或異步的總線,根據(jù)CPU外部總線協(xié)議有所不同,但數(shù)據(jù)、地址、控制信號基本是總線訪問類型中總線信號所不能省略的。CPU手冊中會對信號定義和時序控制有著詳細(xì)的說明,F(xiàn)PGA需要根據(jù)這些詳細(xì)說明來實現(xiàn)相應(yīng)的邏輯。同時CPU還可以對訪問時序進(jìn)行設(shè)置,比如最快時鐘,甚至所需的最小建立時間和保持時間,這些一般CPU都可以進(jìn)行設(shè)置,而這些具體參數(shù),不僅影響FPGA的實現(xiàn),也決定總線訪問的速度和效率。對于同步總線,只需要根據(jù)輸入時鐘進(jìn)行采樣處理即可,但對于異步總線,則需要的對進(jìn)入的控制信號進(jìn)行同步化處理,通常處理方式是寄存兩拍,去掉毛刺。因此用于采樣的時鐘就與CPU所設(shè)置的總線參數(shù)相關(guān),如采樣時鐘較低,等控制信號穩(wěn)定后在譯碼后輸出,一個總線操作周期的時間就會相對較長,其處理的效率也相對較低;假如采樣時鐘過快,則對關(guān)鍵路徑又是一個挑戰(zhàn),因此合理設(shè)定采樣頻率,便于接口的移植并接口的效率是設(shè)計的關(guān)鍵點和平衡點。
對于總線型的訪問來說,數(shù)據(jù)信號通常為三態(tài)信號,用于輸入和輸出。這種設(shè)計的目的是為了減少外部連線的數(shù)量。因為數(shù)據(jù)信號相對較多一般為8/16/32位數(shù)據(jù)總線??偩€的訪問的優(yōu)勢是直接映射到系統(tǒng)的地址區(qū)間,訪問較為直觀。但相對傳輸速率不高,通常在幾十到100Mbps以下。這種原因的造成主要為以下因素(1)受制總線訪問的間隔,總線操作周期等因素,總線訪問間隔即兩次訪問之間總線空閑的時間,而總線操作周期為從發(fā)起到相應(yīng)的時間。(2)不支持雙向傳輸,并且FPGA需主動發(fā)起對CPU操作時,一般只有發(fā)起CPU的中斷處理一種方式。這種總線型操作特點,使其可以用作系統(tǒng)的管理操作,例如FPGA內(nèi)部寄存器配置,運行過程中所需參數(shù)配置,以及數(shù)據(jù)流量較小的信息交互等操作。這些操作數(shù)據(jù)量和所需帶寬適中,可以應(yīng)對普通的嵌入式系統(tǒng)的處理需求。
對于大數(shù)據(jù)流量的數(shù)據(jù)交互,一般采用專用的總線交互,其特點是,支持雙向傳輸,總線傳輸速率較快,例如GMII/RGMII、Upp、專用LVDS接口,及SERDES接口。專用SERDES接口一般支持的有PCI-E,XAUI,SGMII,SATA,Interlaken接口等接口。GMII/RGMII,專用LVDS接口一般處理在1GbpS一下的業(yè)務(wù)形式,而PCI-E,根據(jù)其型號不同,支持幾Gbps的傳輸速率。而XAUI可支持到10Gbps的傳輸速率,lnterlaken接口可支持到40Gbps的業(yè)務(wù)傳輸。
對于不同所需的業(yè)務(wù)形式及處理器的類型,則可選擇相應(yīng)的接口形式,來傳輸具體的業(yè)務(wù)?,F(xiàn)今主流FPGA中都提供的各種接口的IP。選擇FPGA與各型CPU互聯(lián)接口,一般選擇主流的應(yīng)用交互方案,特殊的接口缺少支撐IP,導(dǎo)致開發(fā)、調(diào)試、維護(hù)和兼容性的成本都較大,同時注意系統(tǒng)的持續(xù)演進(jìn)的需要,如只在本項目使用一次,而下一項目或開發(fā)階段已摒棄此類接口,則需提前規(guī)劃技術(shù)路線。畢竟一個穩(wěn)定、高效的接口互聯(lián)是一個項目成功的基礎(chǔ)。
不是所有的嵌入式系統(tǒng)都需要“高大上”的接口形式,各類低速的穩(wěn)定接口也同樣在FPGA的接口互聯(lián)中有著重要的角色,其中UART、SPI、I2C等連接形式也非常的常見。畢竟,一個優(yōu)秀的設(shè)計不是“高大上”的堆積,而是對需求最小成本的滿足。適合的才是最美的。
fpga相關(guān)文章:fpga是什么
評論