FPGA(Field Programmable Gate Array)原型驗證,基于其成本適中、速率接近真實系統(tǒng)環(huán)境等優(yōu)點,受到了驗證工程師的青睞。正是由于廣泛豐富的應(yīng)用場景,F(xiàn)PGA 原型系統(tǒng)上往往需要設(shè)計各種不同的接口,用以和外界進(jìn)行數(shù)據(jù)信號的交換互通,滿足不同的使用需求。不同的接口設(shè)置與選擇,也會極大影響原型驗證系統(tǒng)產(chǎn)品的應(yīng)用范圍以及驗證效率。因此,如何合理規(guī)劃接口設(shè)置,就成為了一款優(yōu)秀的原型驗證系統(tǒng)必須要考慮的重要問題。
首先和大家介紹下目前常見的接口類型。
子卡擴(kuò)展接口
考慮到使用場景通用性,一套原型平臺不可能覆蓋到所有協(xié)議接口,因此會布局一些用于擴(kuò)展特定功能子卡的連接器,支持各類協(xié)議。這類接口少則幾個,多達(dá)幾十個。
多FPGA互聯(lián)接口
在較大的邏輯設(shè)計中,用于多片F(xiàn)PGA 切割處的互聯(lián)IO之間的連接,一般通過互聯(lián)電路板或特制線纜這兩種形式進(jìn)行互聯(lián)。此類接口和上一點談到的子卡擴(kuò)展接口往往能夠兼容使用。
高速接口GTH/GTY
用來和外部高速數(shù)據(jù)傳輸的鏈路設(shè)備或測試儀器相連;接口形式包括如PCI Express、QSFP+、MiniSAS等等。
時鐘輸入/輸出接口
原型系統(tǒng)自身產(chǎn)生時鐘輸出到外部的設(shè)備或其他原型系統(tǒng)的通道;反之,也可以接收外部輸入的時鐘源。在多個系統(tǒng)互聯(lián)時,起到時鐘同步的作用。
低速接口
FPGA原型系統(tǒng)通過其連接調(diào)試上位機、不同協(xié)議的仿真器及邏輯分析儀、低速外設(shè)元件等,包括JTAG、UART、I2C、SPI、GPIO、PMOD等。
關(guān)于“擴(kuò)展子卡和用于多片F(xiàn)PGA IO互聯(lián)的接口”
此類應(yīng)用場景最為普遍,我們先列出幾種業(yè)界較為主流的用于該類功能的連接器:
1 PHC連接器
PHC連接器的全稱為Prototyping High-performance Connector. 從信號的組成來看,其種類較為豐富,包含了電源信號(含管理信號)、接地信號、I2C信號(地址/時鐘/數(shù)據(jù))、全局時鐘信號、數(shù)據(jù)信號及保留信號。
以芯華章科技(X-EPIC)出品的樺捷HuaPro-P1 高性能FPGA原型驗證系統(tǒng)為例,上面搭載了48個PHC連接器;每個PHC連接器的可用IO為50個。經(jīng)過實測,HuaPro-P1 PHC 連接器IO的單端數(shù)據(jù)速率最高可達(dá)到1.4Gbps,處于業(yè)界領(lǐng)先水平。
PHC連接器的好處是顆粒度小,使用方便靈活,對于寶貴及有限的FPGA IO資源,能夠做到高利用率而不造成浪費。
2 FMC連接器
FMC的英文全稱為FPGA Mezzanine Card。而這里談到的FMC連接器(FMC Connector)是其中的組成部分,遵循 VITA 57.1 標(biāo)準(zhǔn);
按物理Pin的數(shù)量來區(qū)分,包括400 Pin的FMC HPC(high pin connector)及160 Pin的FMC LPC(low pin connector)兩種。
圖1:母板上適用的FMC母頭插座
圖2: 子卡上適用的FMC公頭插座
總體上看,F(xiàn)MC接口從標(biāo)準(zhǔn)上就是為“扣板”形式而定義的,對線纜連接的支持不太理想,成本高而且容易損壞。
3 Prodigy連接器
Prodigy為部分廠商的FPGA系統(tǒng)所采用的連接器,總體看,其信號組成及電氣特性同F(xiàn)MC連接器相仿,區(qū)別在于體積略小和總的信號數(shù)量相應(yīng)減少。
綜合考慮上述三種連接器的特性,目前看,以PHC連接器的“小型、靈活”的特點,更加適合于子卡的擴(kuò)展及FPGA系統(tǒng)之間進(jìn)行互聯(lián)布局。
其主要的原因是:
- 連接器比較小巧,則在進(jìn)行線纜或子卡插拔的時候,更容易操作;
- 其次,連接線纜不會很粗,布局起來更方便走線;
- PHC連接器的顆粒度小,那么在子卡的使用率上,IO使用率最高;不會因為一個大連接器占用很多IO,但實際只用到其中一部分,從而造成系統(tǒng)性浪費的風(fēng)險;
- 根據(jù)實際情況,可以定制PHC轉(zhuǎn)其他連接器的轉(zhuǎn)接卡(比如FMC或用戶自定義接口),這樣對于用戶已有的子卡,可以繼續(xù)兼容使用而不造成浪費;
- 最后,互聯(lián)線纜的成本都不低,從幾十、幾百乃至幾千美金一根;而包含IO數(shù)較少的電纜,在成本方面有優(yōu)勢,一旦出現(xiàn)有損壞、老化的情況,以單根電纜為單位更換的成本最低。
高速接口GTH/GTY
新技術(shù)發(fā)展下的FPGA芯片,都已基本帶有高速Serdes通道。Serdes,是英文Serializer(串行器)/Deserializer(解串器)的簡稱。它采用的是點對點(Point to Point)的串行通信技術(shù),充分利用傳輸媒體的信道容量,減少所需的傳輸信道和器件引腳數(shù)目,提升信號的傳輸速度,從而降低通信成本。這些通道往往也以不同的接口方式連接到FPGA原型系統(tǒng)的接口上。其中包括了PCIE/SATA/Ethernet/QSFP+/MiniSAS和MCIO等。通過對應(yīng)的不同接口cable,能夠和外部的高速設(shè)備或是儀器進(jìn)行連接。
1 PCIe(Peripheral Component Intercon-
nect express)是一種高速串行計算機擴(kuò)展總線標(biāo)準(zhǔn),獨占通道帶寬;傳輸高速可靠。目前市售的,較為高端的FPGA芯片都原生支持PCIe傳輸協(xié)議。HuaPro-P1系統(tǒng)自帶 PCIe 3.0的接口可以實現(xiàn)雙向 128Gbps的高速數(shù)據(jù)傳輸。
2 QSFP+ 是一種能夠支持熱插拔的光模塊,結(jié)構(gòu)緊湊,因其包含四條高速通道,故傳輸速率可達(dá)40Gbps。QSFP+ 在High Performance Network,Data Center等場景應(yīng)用廣泛。從協(xié)議上看,QSFP+支持的是SFF-8436協(xié)議和QSFP 多源協(xié)議。
由于光模塊優(yōu)越的物理特性,它能夠把電信號轉(zhuǎn)換為光信號,通過光纖達(dá)到遠(yuǎn)距離傳輸?shù)男Ч缓笤趯Χ嗽俎D(zhuǎn)回電信號;并且這樣也不會影響信號的質(zhì)量。
3 另一種較為常見的高速傳輸?shù)慕涌跒镸ini SAS。Mini SAS連接器符合SFF-8643標(biāo)準(zhǔn),是一款36針的高密度SAS連接器,符合最新的SAS 3.0規(guī)范,并支持12Gb/s數(shù)據(jù)傳輸協(xié)議。支持最多4通道的高速數(shù)據(jù)傳輸。一種典型的應(yīng)用是Host PC通過Mini SAS的cable連接到FPGA原型系統(tǒng),這樣可以實現(xiàn)主機和FPGA之間高速通信,達(dá)到軟硬件協(xié)同驗證的目的。
時下熱門的Chiplet技術(shù)和高速接口也有著很大的聯(lián)系,因為裸片之間的超短距離和鏈路上(裸片間互聯(lián))數(shù)據(jù)傳輸速率將超過100Gbps。這在普通接口上的實現(xiàn)是個幾乎不可能完成的任務(wù);而擁有高速傳輸通道的FPGA平臺為Chiplet互連的驗證提供了很大的可能性。
值得一提的是,芯華章科技(X-EPIC)出品的樺捷HuaPro-P1 高性能FPGA原型驗證系統(tǒng),規(guī)劃時候充分考慮了用戶的潛在高速應(yīng)用需求,因此,在系統(tǒng)的主體已經(jīng)集成了上述三種高速接口;而市面上其他的原型系統(tǒng),很少有做到同時集成,一般需要外接子卡才能使用;這樣在進(jìn)行如服務(wù)器機架部署的時候,在空間上產(chǎn)生一定的阻礙及局限性。
時鐘輸入/輸出接口
現(xiàn)代的芯片設(shè)計規(guī)模日益增大,通常有用到多個FPGA系統(tǒng)級聯(lián)使用的情況,除了前述數(shù)據(jù)通道的傳輸,還有一個必要的部分就是進(jìn)行時鐘的傳輸。這對于同步數(shù)字系統(tǒng)尤為重要。
1 一種方式是采用獨立走線的同軸射頻連接器;常見的如SMA,SMB,MMCX等接口;當(dāng)多路時鐘傳輸時,因為線束以‘對’的方式單獨走線,故會顯得比較雜亂。
2 另外一種更優(yōu)化的傳輸方式是采用如下的連接器:Samtec出品的 Q Strip High-Speed Ground Plane Socket Strip;它可以同時傳輸多路時鐘、復(fù)位信號;且只需要一根扁平形狀的電纜接口。在整個布局上較為簡便、美觀。芯華章HuaPro-P1系統(tǒng)采用這種連接器,并支持最大16臺P1系統(tǒng)的級聯(lián)。
低速接口
最后我們來看一下FPGA系統(tǒng)上常用的低速接口:
1 JTAG(Joint Test Action Group,聯(lián)合測試工作組)接口
主流分為若干種不同IO數(shù),用以FPGA 廠商的JTAG調(diào)試器、ARM 調(diào)試仿真器等連接使用。JTAG調(diào)試接口必須使用VCC、GND電源信號,以及TMS、TCK、TDI、TDO四根調(diào)試信號,分別對應(yīng)為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。隨著可用針數(shù)增大,另外可選TRST、RESET復(fù)位信號和RTCK(同步時鐘)信號。
2 UART接口
通用異步收發(fā)器 (Universal Asynchronous Receiver/Transmitter),以一種串行形式的,全雙工異步通信協(xié)議。其通信格式分為起始位、數(shù)據(jù)位、奇偶校驗位、停止位和空閑位等。通過UART接口,F(xiàn)PGA系統(tǒng)和Host上位機相連,可以發(fā)送硬件測試中的調(diào)試log信息到主機中;相反,主機也可以通過UART口下發(fā)一些測試命令及少量的測試數(shù)據(jù)到FPGA中去。
3 I2C 接口
最早由飛利浦公司開發(fā)的雙向的二進(jìn)制雙線同步串行總線,它屬于一種半雙工模式;只需SDA(串行數(shù)據(jù)線)和SCL(串行時鐘線)即可連接位于總線上的器件。它的好處是電路接口簡單,總線長度達(dá)25英尺和支持組件多達(dá)40個。在通常的FPGA開發(fā)中,I2C往往被用來連接EEPROM或LED顯示屏、傳感器等元件。
4 SPI(Serial Peripheral Interface,串行外圍設(shè)備接口)通訊協(xié)議
一種同步的串行接口,需用四根管腳用來控制及數(shù)據(jù)傳輸,廣泛用于EEPROM、Flash、ADC(數(shù)模轉(zhuǎn)換器)及數(shù)字信號解碼器上,是比較常用及較為重要的通訊協(xié)議之一。
針對用戶對于低速接口的需求,HuaPro-P1系統(tǒng)配套的GPIO子卡,單卡上集成了例如多種JTAG、UART、CAN、DB9等接口,同時也支持如1.8V/2.5V/3.3V/5V多種電壓的GPIO,用戶只需通過一些簡單的跳線設(shè)置就可以兼容支持。
?
小結(jié)
以上就是關(guān)于FPGA原型驗證系統(tǒng)的常見接口介紹。各種接口,不論尺寸大小、速度快慢都有其獨到的作用?;谶@些五花八門的接口,對用戶來說若要人工手動去做原型項目分割、IO復(fù)用和時鐘處理等工作,是非常麻煩的;因此還是需要原型系統(tǒng)的配套軟件工具具有從ASIC設(shè)計到FPGA設(shè)計的轉(zhuǎn)換、FPGA綜合、自動分割、自動化后處理等上述這些技術(shù)要點的能力。
用戶在選擇原型產(chǎn)品的時候,需從長遠(yuǎn)使用狀況,綜合考慮選用擴(kuò)展能力強、支持外部協(xié)議豐富、子卡/線纜配件成本相對較低,互聯(lián)形式靈活、方便,及配套軟件自動化集成度高的產(chǎn)品。芯華章的HuaPro系列FPGA原型系統(tǒng)產(chǎn)品,給用戶提供了軟硬件全套的FPGA原型實現(xiàn)工具和平臺,能夠幫助客戶最快完成系統(tǒng)集成驗證和軟件提前開發(fā)的工作。