系統(tǒng)架構(gòu)確定,下一步就是FPGA與各組成器件之間互聯(lián)的問(wèn)題了。通常來(lái)說(shuō),CPU和FPGA的互聯(lián)接口,主要取決兩個(gè)要素:
(1)CPU所支持的接口。
(2)交互的業(yè)務(wù)。
通常來(lái)說(shuō),F(xiàn)PGA一般支持與CPU連接的數(shù)字接口,其常用的有EMIF,PCI,PCI-E,UPP,網(wǎng)口(MII/GMII/RGMII),DDR等接口。作為總線類接口,F(xiàn)PGA通常作為從設(shè)備與CPU連接,CPU作為主設(shè)備通過(guò)訪問(wèn)直接映射的地址對(duì)FPGA進(jìn)行訪問(wèn)。根據(jù)是否有時(shí)鐘同步,通??偩€訪問(wèn)分為同步或異步的總線,根據(jù)CPU外部總線協(xié)議有所不同,但數(shù)據(jù)、地址、控制信號(hào)基本是總線訪問(wèn)類型中總線信號(hào)所不能省略的。CPU手冊(cè)中會(huì)對(duì)信號(hào)定義和時(shí)序控制有著詳細(xì)的說(shuō)明,F(xiàn)PGA需要根據(jù)這些詳細(xì)說(shuō)明來(lái)實(shí)現(xiàn)相應(yīng)的邏輯。同時(shí)CPU還可以對(duì)訪問(wèn)時(shí)序進(jìn)行設(shè)置,比如最快時(shí)鐘,甚至所需的最小建立時(shí)間和保持時(shí)間,這些一般CPU都可以進(jìn)行設(shè)置,而這些具體參數(shù),不僅影響FPGA的實(shí)現(xiàn),也決定總線訪問(wèn)的速度和效率。對(duì)于同步總線,只需要根據(jù)輸入時(shí)鐘進(jìn)行采樣處理即可,但對(duì)于異步總線,則需要的對(duì)進(jìn)入的控制信號(hào)進(jìn)行同步化處理,通常處理方式是寄存兩拍,去掉毛刺。因此用于采樣的時(shí)鐘就與CPU所設(shè)置的總線參數(shù)相關(guān),如采樣時(shí)鐘較低,等控制信號(hào)穩(wěn)定后在譯碼后輸出,一個(gè)總線操作周期的時(shí)間就會(huì)相對(duì)較長(zhǎng),其處理的效率也相對(duì)較低;假如采樣時(shí)鐘過(guò)快,則對(duì)關(guān)鍵路徑又是一個(gè)挑戰(zhàn),因此合理設(shè)定采樣頻率,便于接口的移植并接口的效率是設(shè)計(jì)的關(guān)鍵點(diǎn)和平衡點(diǎn)。
對(duì)于總線型的訪問(wèn)來(lái)說(shuō),數(shù)據(jù)信號(hào)通常為三態(tài)信號(hào),用于輸入和輸出。這種設(shè)計(jì)的目的是為了減少外部連線的數(shù)量。因?yàn)閿?shù)據(jù)信號(hào)相對(duì)較多一般為8/16/32位數(shù)據(jù)總線??偩€的訪問(wèn)的優(yōu)勢(shì)是直接映射到系統(tǒng)的地址區(qū)間,訪問(wèn)較為直觀。但相對(duì)傳輸速率不高,通常在幾十到100Mbps以下。這種原因的造成主要為以下因素(1)受制總線訪問(wèn)的間隔,總線操作周期等因素,總線訪問(wèn)間隔即兩次訪問(wèn)之間總線空閑的時(shí)間,而總線操作周期為從發(fā)起到相應(yīng)的時(shí)間。(2)不支持雙向傳輸,并且FPGA需主動(dòng)發(fā)起對(duì)CPU操作時(shí),一般只有發(fā)起CPU的中斷處理一種方式。這種總線型操作特點(diǎn),使其可以用作系統(tǒng)的管理操作,例如FPGA內(nèi)部寄存器配置,運(yùn)行過(guò)程中所需參數(shù)配置,以及數(shù)據(jù)流量較小的信息交互等操作。這些操作數(shù)據(jù)量和所需帶寬適中,可以應(yīng)對(duì)普通的嵌入式系統(tǒng)的處理需求。
對(duì)于大數(shù)據(jù)流量的數(shù)據(jù)交互,一般采用專用的總線交互,其特點(diǎn)是,支持雙向傳輸,總線傳輸速率較快,例如GMII/RGMII、Upp、專用LVDS接口,及 SERDES接口。專用SERDES接口一般支持的有PCI-E,XAUI,SGMII,SATA,Interlaken接口等接口。GMII/RGMII,專用LVDS接口一般處理在1GbpS一下的業(yè)務(wù)形式,而PCI-E,根據(jù)其型號(hào)不同,支持幾Gbps的傳輸速率。而XAUI可支持到10Gbps的傳輸速率,lnterlaken接口可支持到40Gbps的業(yè)務(wù)傳輸。
對(duì)于不同所需的業(yè)務(wù)形式及處理器的類型,則可選擇相應(yīng)的接口形式,來(lái)傳輸具體的業(yè)務(wù)。現(xiàn)今主流FPGA中都提供的各種接口的IP。選擇FPGA與各型CPU互聯(lián)接口,一般選擇主流的應(yīng)用交互方案,特殊的接口缺少支撐IP,導(dǎo)致開(kāi)發(fā)、調(diào)試、維護(hù)和兼容性的成本都較大,同時(shí)注意系統(tǒng)的持續(xù)演進(jìn)的需要,如只在本項(xiàng)目使用一次,而下一項(xiàng)目或開(kāi)發(fā)階段已摒棄此類接口,則需提前規(guī)劃技術(shù)路線。畢竟一個(gè)穩(wěn)定、高效的接口互聯(lián)是一個(gè)項(xiàng)目成功的基礎(chǔ)。
不是所有的嵌入式系統(tǒng)都需要“高大上”的接口形式,各類低速的穩(wěn)定接口也同樣在FPGA的接口互聯(lián)中有著重要的角色,其中UART、SPI、I2C等連接形式也非常的常見(jiàn)。畢竟,一個(gè)優(yōu)秀的設(shè)計(jì)不是“高大上”的堆積,而是對(duì)需求最小成本的滿足。適合的才是最美的。
FPGA與各組成器件之間互聯(lián) - FPGA的系統(tǒng)架構(gòu)組成和器件互聯(lián)問(wèn)題---FPGA通常作為從設(shè)備與CPU連接
Serial RapidIO (SRIO)與PCIE
1.1 與PCIe的差異
典型的PCIe結(jié)構(gòu)定義了一個(gè)以單個(gè)中央處理器為核心的計(jì)算機(jī)系統(tǒng),比如我們常見(jiàn)的工控機(jī)、PXIe機(jī)箱控制器、服務(wù)器內(nèi)的IO設(shè)備。從系統(tǒng)架構(gòu)來(lái)看,這個(gè)結(jié)構(gòu)的優(yōu)勢(shì)在于可有統(tǒng)一的軟件驅(qū)動(dòng),軟件模型,設(shè)備間具備優(yōu)異的兼容性。兼容性才是王道,廠商就可以用一個(gè)標(biāo)準(zhǔn)包打天下。
圖 1?1 PCIe 互聯(lián)架構(gòu)
PCIe 的幀格式如下圖所示。幀由 1 字節(jié)的幀起始、2 字節(jié)的序列號(hào)、16 或 20 字節(jié)的報(bào)頭、0 到 4096 字節(jié)的數(shù)據(jù)字段、0 到 4 字節(jié)的 ECRC 字段、4 字節(jié)的 LCRC、和 1 字節(jié)的幀結(jié)束。數(shù)據(jù)字段中傳輸?shù)奈粩?shù)越少,開(kāi)銷就越大。零字節(jié)數(shù)據(jù)字段會(huì)導(dǎo)致 100% 的開(kāi)銷,因?yàn)闆](méi)有傳輸數(shù)據(jù)。
圖 1?2 幀格
RapidIO定義了一種高性能、分組交換互連技術(shù),用于在微處理器、DSP、通信和網(wǎng)絡(luò)處理器、系統(tǒng)內(nèi)存和外圍設(shè)備之間傳遞數(shù)據(jù)和控制信息。RapidIO 適用于點(diǎn)對(duì)點(diǎn)的設(shè)備間通訊,不需要經(jīng)過(guò)一個(gè)中央處理器進(jìn)行調(diào)度,就可以完成設(shè)備間的通訊,并且包長(zhǎng)度簡(jiǎn)單,效率相對(duì)于PCIe要更高,有效數(shù)據(jù)傳輸速度更快。但是RapidIO沒(méi)有定義標(biāo)準(zhǔn)的軟件模型,這就導(dǎo)致廠家之間的設(shè)備大概率無(wú)法兼容,從而只能在某些領(lǐng)域進(jìn)行部署,不易推廣。
圖 1?3 RapidIO 互聯(lián)架構(gòu)
RapidIO 由于比PCIe更簡(jiǎn)單、更高效、延遲更低等特點(diǎn),已經(jīng)在嵌入式領(lǐng)域、圖像處理、通訊系統(tǒng)、軍工航天有了大量的應(yīng)用。
我們來(lái)看一個(gè)應(yīng)用場(chǎng)景,在醫(yī)學(xué)影像等圖像處理領(lǐng)域,經(jīng)常需要擴(kuò)展單塊DSP、FPGA的計(jì)算能力,這時(shí)候需要將多個(gè)DSP或者FPGA通過(guò)高速串口進(jìn)行互聯(lián),此時(shí)RapidIO就是當(dāng)前互換性最好的一個(gè)最佳選擇,因?yàn)镻CIe太過(guò)復(fù)雜,Xilinx的Auraro效率也不滿足要求,并且互換性不好。
我們來(lái)看一下在RapidIO之前,實(shí)現(xiàn)多個(gè)DSP系統(tǒng)互聯(lián)的方法:
圖 1?4 多個(gè)DSP設(shè)備通過(guò)網(wǎng)絡(luò)互聯(lián)
圖 1?5 多個(gè)DSP設(shè)備可以通過(guò)RapidIO 實(shí)現(xiàn)任意互聯(lián)通訊
2 可用的驗(yàn)證硬件
目前具備SRIO接口的硬件不多,我們推薦2類可用的開(kāi)發(fā)板:
1、創(chuàng)龍科技開(kāi)發(fā)的TI DSP開(kāi)發(fā)板 也可用于評(píng)估EMIF等接口
2、Xilinx 的KC705等具備高速GTX/GTP接口的開(kāi)發(fā)板,Xilinx提供了兼容SRIO 2.2的IP可供評(píng)估;
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602986 -
cpu
+關(guān)注
關(guān)注
68文章
10854瀏覽量
211578 -
Xilinx
+關(guān)注
關(guān)注
71文章
2167瀏覽量
121302
原文標(biāo)題:2???? 可用的驗(yàn)證硬件
文章出處:【微信號(hào):被硬件攻城的獅子,微信公眾號(hào):被硬件攻城的獅子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論