博客精品:FPGA係統構成及器件互聯
發布時間:2015-05-11 責任編輯:echolady
【導讀】隨著科技的進步,CPU集成單元也隨之增加。現如今處理器設計的流行動向就是主要處理係統(ARM9)外帶輔助處理係統(ARM7)的設計。本文由博友收集整理,總結FPGA的係統架構組成和器件互聯問題。
主處理係統運行嵌入式操作係統,而輔助處理單元則專注某一些的專用領域的處理。這些係統的應用減少了FPGA作為CPU協處理單元的領域。因為畢竟FPGA相比ARM等流行嵌入式處理器價格要相對較高。
在這種情形下,FPGA的廠商似乎也感受到了壓力,不約而同推出了帶ARM硬核的FPGA,例如ALTERA的和XILINX的ZYNQ和ALTERA的SOC FPGA。這是即是互相競爭的需要,也是同眾多CPU廠商一掰手腕的傑作。即使在這兩種在趨勢下,經典的處理器+FPGA的設計仍然可看做為高性能嵌入式係統的典型配置。
經典的處理器+FPGA的配置中有多種的架構形式,即多個處理器單元,可能是ARM,MIPS,或者DSP,FPGA也可能是多片的配置,具體架構形式於具體處理的業務相關和目標設備的定位也相關。因為FPGA作為簡單業務流大數據量的處理形態仍然是CPU無可比擬的優勢,FPGA內部可以開發大量業務數據並行,從而實現高速的數據處理。
在實現高速處理方麵,CPU的另一個發展趨勢是多核,多核處理器也能處理大數據量的業務的並行,例如業界TERILA已推出64核的多核處理器,采用MIPS處理器,通過二維MASH網絡連接在一起,形成NOC的結構。在性能上已經和現有的高速FPGA的(de)處(chu)理(li)能(neng)力(li)上(shang)不(bu)相(xiang)上(shang)下(xia)。但(dan)是(shi)多(duo)核(he)處(chu)理(li)器(qi)的(de)不(bu)得(de)不(bu)說(shuo)的(de)問(wen)題(ti)就(jiu)是(shi),同(tong)一(yi)業(ye)務(wu)流(liu)分(fen)配(pei)到(dao)多(duo)核(he)處(chu)理(li)上(shang)後(hou),如(ru)需(xu)交(jiao)互(hu),例(li)如(ru)訪(fang)問(wen)同(tong)一(yi)資(zi)源(yuan),就(jiu)會(hui)造(zao)成(cheng)讀(du)寫(xie)的(de)緩(huan)存(cun)一(yi)致(zhi)的(de)問(wen)題(ti),解(jie)決(jue)的(de)這(zhe)一(yi)問(wen)題(ti)的(de)天(tian)然(ran)思(si)路(lu)是(shi)加(jia)鎖(suo),即(ji)在(zai)變(bian)量(liang)訪(fang)問(wen)上(shang)加(jia)自(zi)旋(xuan)鎖(suo),但(dan)是(shi)帶(dai)來(lai)的(de)問(wen)題(ti)就(jiu)是(shi)處(chu)理(li)性(xing)能(neng)的(de)急(ji)劇(ju)下(xia)降(jiang)。而(er)FPGA無論並行處理和同一變量的訪問,都可以變成工程師的設計水平的問題,沒有原理性的挑戰。
FPGA的幾種熱門應用
沒有一種器件可以滿足全人類的眾多需求,因此不用擔心FPGA沒有用武之地。必定是一係列產品的組合。下麵主要介紹一下FPGA可以作為現今熱門場景的幾種應用。
(1)網絡存儲產品,特別是現在的NAS,或者SAN設備上,其存儲的時間、接口、安全性等都要求較高,而FPGA無論處理性能還是擴展接口的能力都使其在這一領域大有作為。現在高端FPGA單片就可以擴展32個或者更多4G或者8G的FC接口。並且其協議處理相對的固定,也使FPGA在這一領域有大量的可能應用。
(2)高速網絡設備,現在高速網絡設備10G、40/100G以太網設備領域,同樣FPGA也是關鍵的處理部件。特別是IPv6的商用化及大數據對於基礎設施的高要求,都使這一領域的處理應用會逐漸廣泛,這一領域通常是高速網絡處理器(NP)+FPGA的典型架構。
(3)4G等通信設備,對於新一代通信基站的信號處理,FPGA+DSP陣列的架構就是絕配。特別是在專用處理芯片麵世之前,這樣的架構可以保證新一代通信基礎設施的迅速研發和部署。
沒有完美的架構,隻有合適的組合,各種芯片和架構都是為應用服務,互相的滲透是趨勢,也是必然。FPGA相對處理器的可編程領域,仍然屬於小眾(雖然人數也不少)。但是正像一則笑話所說:大腿雖然比根命根子粗,但決沒有命子重要。這算開個玩笑。FPGA的實現為以後的芯片化留下了許多可能和想象空間,從而在應用大量爆發時通過芯片化來大幅降低成本,這這也正是其他可編程器件所不能比擬的。
FPGA與各組成器件之間互聯
係統架構確定,下一步就是FPGA與各組成器件之間互聯的問題了。通常來說,CPU和FPGA的互聯接口,主要取決兩個要素:
(1)CPU所支持的接口。
(2)交互的業務。
通常來說,FPGA一般支持與CPU連接的數字接口,其常用的有EMIF,PCI,PCI-E,UPP,網口(MII/GMII/RGMII),DDR等接口。作為總線類接口,FPGA通常作為從設備與CPU連接,CPU作為主設備通過訪問直接映射的地址對FPGA進行訪問。根據是否有時鍾同步,通常總線訪問分為同步或異步的總線,根據CPU外部總線協議有所不同,但數據、地址、控製信號基本是總線訪問類型中總線信號所不能省略的。CPU手冊中會對信號定義和時序控製有著詳細的說明,FPGA需要根據這些詳細說明來實現相應的邏輯。同時CPU還可以對訪問時序進行設置,比如最快時鍾,甚至所需的最小建立時間和保持時間,這些一般CPU都可以進行設置,而這些具體參數,不僅影響FPGA的(de)實(shi)現(xian),也(ye)決(jue)定(ding)總(zong)線(xian)訪(fang)問(wen)的(de)速(su)度(du)和(he)效(xiao)率(lv)。對(dui)於(yu)同(tong)步(bu)總(zong)線(xian),隻(zhi)需(xu)要(yao)根(gen)據(ju)輸(shu)入(ru)時(shi)鍾(zhong)進(jin)行(xing)采(cai)樣(yang)處(chu)理(li)即(ji)可(ke),但(dan)對(dui)於(yu)異(yi)步(bu)總(zong)線(xian),則(ze)需(xu)要(yao)的(de)對(dui)進(jin)入(ru)的(de)控(kong)製(zhi)信(xin)號(hao)進(jin)行(xing)同(tong)步(bu)化(hua)處(chu)理(li),通(tong)常(chang)處(chu)理(li)方(fang)式(shi)是(shi)寄(ji)存(cun)兩(liang)拍(pai),去(qu)掉(diao)毛(mao)刺(ci)。
因此用於采樣的時鍾就與CPU所(suo)設(she)置(zhi)的(de)總(zong)線(xian)參(can)數(shu)相(xiang)關(guan),如(ru)采(cai)樣(yang)時(shi)鍾(zhong)較(jiao)低(di),等(deng)控(kong)製(zhi)信(xin)號(hao)穩(wen)定(ding)後(hou)在(zai)譯(yi)碼(ma)後(hou)輸(shu)出(chu),一(yi)個(ge)總(zong)線(xian)操(cao)作(zuo)周(zhou)期(qi)的(de)時(shi)間(jian)就(jiu)會(hui)相(xiang)對(dui)較(jiao)長(chang),其(qi)處(chu)理(li)的(de)效(xiao)率(lv)也(ye)相(xiang)對(dui)較(jiao)低(di);假如采樣時鍾過快,則對關鍵路徑又是一個挑戰,因此合理設定采樣頻率,便於接口的移植並接口的效率是設計的關鍵點和平衡點。
duiyuzongxianxingdefangwenlaishuo,shujuxinhaotongchangweisantaixinhao,yongyushuruheshuchu。zhezhongshejidemudeshiweilejianshaowaibulianxiandeshuliang。yinweishujuxinhaoxiangduijiaoduoyibanwei8/16/32位數據總線。總線的訪問的優勢是直接映射到係統的地址區間,訪問較為直觀。但相對傳輸速率不高,通常在幾十到100Mbps以下。
這種原因的造成主要為以下因素(1)受製總線訪問的間隔,總線操作周期等因素,總線訪問間隔即兩次訪問之間總線空閑的時間,而總線操作周期為從發起到相應的時間。(2)不支持雙向傳輸,並且FPGA需主動發起對CPU操作時,一般隻有發起CPU的中斷處理一種方式。這種總線型操作特點,使其可以用作係統的管理操作,例如FPGA內(nei)部(bu)寄(ji)存(cun)器(qi)配(pei)置(zhi),運(yun)行(xing)過(guo)程(cheng)中(zhong)所(suo)需(xu)參(can)數(shu)配(pei)置(zhi),以(yi)及(ji)數(shu)據(ju)流(liu)量(liang)較(jiao)小(xiao)的(de)信(xin)息(xi)交(jiao)互(hu)等(deng)操(cao)作(zuo)。這(zhe)些(xie)操(cao)作(zuo)數(shu)據(ju)量(liang)和(he)所(suo)需(xu)帶(dai)寬(kuan)適(shi)中(zhong),可(ke)以(yi)應(ying)對(dui)普(pu)通(tong)的(de)嵌(qian)入(ru)式(shi)係(xi)統(tong)的(de)處(chu)理(li)需(xu)求(qiu)。
對於大數據流量的數據交互,一般采用專用的總線交互,其特點是,支持雙向傳輸,總線傳輸速率較快,例如GMII/RGMII、Upp、專用LVDS接口,及SERDES接口。專用SERDES接口一般支持的有PCI-E,XAUI,SGMII,SATA,Interlaken接口等接口。GMII/RGMII,專用LVDS接口一般處理在1GbpS一下的業務形式,而PCI-E,根據其型號不同,支持幾Gbps的傳輸速率。而XAUI可支持到10Gbps的傳輸速率,lnterlaken接口可支持到40Gbps的業務傳輸。
對於不同所需的業務形式及處理器的類型,則可選擇相應的接口形式,來傳輸具體的業務。現今主流FPGA中都提供的各種接口的IP。選擇FPGA與各型CPU互聯接口,一般選擇主流的應用交互方案,特殊的接口缺少支撐IP,導致開發、調試、維(wei)護(hu)和(he)兼(jian)容(rong)性(xing)的(de)成(cheng)本(ben)都(dou)較(jiao)大(da),同(tong)時(shi)注(zhu)意(yi)係(xi)統(tong)的(de)持(chi)續(xu)演(yan)進(jin)的(de)需(xu)要(yao),如(ru)隻(zhi)在(zai)本(ben)項(xiang)目(mu)使(shi)用(yong)一(yi)次(ci),而(er)下(xia)一(yi)項(xiang)目(mu)或(huo)開(kai)發(fa)階(jie)段(duan)已(yi)摒(bing)棄(qi)此(ci)類(lei)接(jie)口(kou),則(ze)需(xu)提(ti)前(qian)規(gui)劃(hua)技(ji)術(shu)路(lu)線(xian)。畢(bi)竟(jing)一(yi)個(ge)穩(wen)定(ding)、高效的接口互聯是一個項目成功的基礎。
不是所有的嵌入式係統都需要“高大上”的接口形式,各類低速的穩定接口也同樣在FPGA的接口互聯中有著重要的角色,其中UART、SPI、I2C等連接形式也非常的常見。畢竟,一個優秀的設計不是“高大上”的堆積,而是對需求最小成本的滿足。適合的才是最美的。
相關閱讀:
盤點高性能汽車和FPGA共同點,不是一般的多
設計實例:基於FPGA的可穿戴設備的設計
FPGA掉電易失難題如何破?看芯片來破解
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- 每台智能體PC,都是AI時代的新入口
- IAR作為Qt Group獨立BU攜兩項重磅汽車電子應用開發方案首秀北京車展
- 構建具有網絡彈性的嵌入式係統:來自行業領袖的洞見
- 數字化的線性穩壓器
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT
in-cell
Intersil
IP監控
iWatt
Keithley
Kemet
Knowles
Lattice
LCD
LCD模組
LCR測試儀
lc振蕩器
Lecroy
LED
LED保護元件
LED背光


