FPGA 的全稱為Field Programmable Gate Array(現(xiàn)場可編程門陣列),屬于專用集成電路中的一種半定制電路,是可編程的邏輯陣列。FPGA 的基本結(jié)構(gòu)包括可編程輸入輸出單元、基本可編程邏輯單元、數(shù)字時鐘管理模塊、嵌入式塊RAM、豐富的布線資源、內(nèi)嵌專用硬核,以及底層內(nèi)嵌功能單元。
圖1 某FPGA的基本邏輯單元 市售常見的基于FPGA的平臺產(chǎn)品包括FPGA開發(fā)板、FPGA原型驗證系統(tǒng)。既然他們同樣都是基于FPGA芯片設(shè)計的,為什么規(guī)模、功能、成本和價格上有非常大的差異?這要從它們應(yīng)用場景和設(shè)計目標的區(qū)別說起:
FPGA開發(fā)板:
FPGA開發(fā)板的主要場景是“開發(fā)基于獨立FPGA芯片的IP或應(yīng)用系統(tǒng)”,其設(shè)計目標是精簡化、高性能、低成本,并自帶合適的外設(shè)接口,對調(diào)試功能的要求限于在單顆FPGA上用原廠軟件調(diào)試。
因此其搭載的FPGA芯片通常的容量為小到中等規(guī)模,實際應(yīng)用中,往往用于進行中小規(guī)模、特定協(xié)議功能芯片的開發(fā),比如涉及以太網(wǎng)、MIPI、NVME/M.2 SSD控制、UART/I2C 控制、HDMI/DVI顯示控制等。也有直接把一塊FPGA開發(fā)板放在一個大型系統(tǒng)之中,起到控制板的作用,這樣用戶可以靈活地對控制信號做各種調(diào)整。也有一些應(yīng)用場景計算算法用較大容量的FPGA實現(xiàn),達到高性能和算法靈活性的應(yīng)用目標。同時,由于中低端的開發(fā)板售價適中,F(xiàn)PGA開發(fā)板也適合初學者進行學習使用。
其次,部分FPGA開發(fā)板也被用在IP和小型芯片設(shè)計的開發(fā)驗證場景。這部分開發(fā)板配備大容量的FPGA芯片,甚至是單板配備多片F(xiàn)PGA芯片來適應(yīng)開發(fā)驗證場景,一般由用戶自己負責手工實現(xiàn)從設(shè)計到FPGA功能原型的流程。
FPGA原型驗證系統(tǒng):
FPGA原型驗證系統(tǒng)的主要應(yīng)用場景是“芯片設(shè)計過程中搭建軟硬件一體的系統(tǒng)驗證環(huán)境”:一是芯片流片回來前為軟件團隊提供調(diào)試驅(qū)動軟件的平臺,加速芯片上市時間;二是作為芯片仿真驗證的一個補充,因為FPGA可以接真實的硬件子卡,跟仿真使用的軟件模型有一定差別,有一定機會發(fā)現(xiàn)隱蔽的bug ;此外FPGA相對軟件仿真以及Emulator速度快,比較適合一些耗時較多的大場景case。故在芯片設(shè)計越來越大的情況下,其設(shè)計目標是能使用多顆FPGA芯片快速實現(xiàn)高性能的全系統(tǒng)驗證原型,并支持該場景下的調(diào)試需求。
首先,它搭載的往往是較大容量和多片的FPGA芯片,如Xilinx VU440/VU19P, Intel 的Stratix 10等,那么它就非常適合進行復雜算法、CPU/GPU類型芯片的驗證和實現(xiàn):比如人工智能,多核RISC-V處理器IP等開發(fā)環(huán)境;如果是SoC芯片或大型IP的開發(fā),那么可以將FPGA系統(tǒng)經(jīng)過互聯(lián)擴展容量后,進行驗證。
其次,F(xiàn)PGA原型驗證系統(tǒng)更重要的目標,是從硬件和軟件上支持大型芯片功能原型的各項要求。如低延遲并行IO接口、高帶寬Serdes接口、自動化設(shè)計分割到多片F(xiàn)PGA并優(yōu)化性能、多片F(xiàn)PGA的信號調(diào)試、原型系統(tǒng)規(guī)模的任意縮放、各種軟硬件接口擴展方案,等等。這些目標決定了原型驗證系統(tǒng)需要更專門的設(shè)計,特別是配套的自動化工具,因為對兩三片F(xiàn)PGA以上的中大型設(shè)計,手工實現(xiàn)設(shè)計分割和優(yōu)化的投入太大,設(shè)計團隊更需要自動化工具。
區(qū)分了FPGA開發(fā)板和FPGA 原型驗證系統(tǒng)平臺的應(yīng)用場景和設(shè)計目標,我們就明白它們?yōu)槭裁磿腥绱舜蟮牟町悾举|(zhì)上就是基于設(shè)計目標的功能取舍。下面我們分別介紹一下這2種產(chǎn)品和它們的關(guān)鍵點:
FPGA開發(fā)板
我們就先從FPGA開發(fā)板說起。為了實現(xiàn)基于FPGA芯片的開發(fā)、測試、應(yīng)用,我們需要再為它加上一系列的外圍電路及元件,這樣FPGA才能夠正常地上電、配置、加載運行程序、提供相應(yīng)的外設(shè)接口及長時間保持穩(wěn)定的工作狀態(tài)。以目前最簡單的實現(xiàn)方式來看,這就是FPGA開發(fā)板。前文提到它的主要場景是為FPGA芯片的直接應(yīng)用而做開發(fā),因此這類產(chǎn)品的設(shè)計重點也在于盡量接近目標應(yīng)用系統(tǒng)。
圖2 Xilinx公司出品的Zynq系列FPGA開發(fā)板 首先,從外觀上看,單顆FPGA開發(fā)板尺寸可以做到很小,通常不會超過一張A4紙的大小,方便擺放和移動。上面布局FPGA 主芯片、電源處理芯片、外部接口部件、電容電阻等分立元件。Xilinx、Intel、Lattice等FPGA原廠都推出過各種各樣的開發(fā)板。其中不光有傳統(tǒng)范疇的FPGA功能開發(fā)板,也有采取ARM核 + FPGA架構(gòu)的SoC解決方案,如Xilinx Zynq、Intel Arria10等等。ARM接口資源豐富、功耗低,擅長進行多媒體顯示、邏輯控制;而FPGA擅長進行多通道或高速AD采集、接口拓展,以及高速信號傳輸?shù)取烧呦嗷ソY(jié)合,可滿足各種工業(yè)現(xiàn)場應(yīng)用場景。 其次,從硬件架構(gòu)上,因為一般自帶了很多常用外設(shè)接口,而且以單顆芯片的應(yīng)用為主,所以FPGA開發(fā)板對互聯(lián)和擴展的要求不高,有時會在板上有多顆FPGA芯片互連,但通常不考慮多板之間的高速連接需求,畢竟太大規(guī)模的邏輯設(shè)計要用到多顆FPGA,運行性能和調(diào)試能力會受很大影響。 在軟件方面,用戶主要依靠FPGA廠商提供的一體化軟件(如Xilinx公司的Vivado,Intel公司的Quartus,Lattice公司的Diamond等)來實現(xiàn)FPGA工程的綜合及布局布線。當然,也有一些實力技術(shù)雄厚的第三方廠商提供了不錯的綜合工具(如Synplify, Precision等),先由設(shè)計源代碼得到網(wǎng)表,再交由原廠軟件進行布局布線。但以上這些工具都不支持多片F(xiàn)PGA場景,因此FPGA開發(fā)板用于超過單片F(xiàn)PGA容量的芯片設(shè)計或IP驗證時,都只能由用戶自己手工做設(shè)計分割,這需要解決很多時鐘、資源、性能、調(diào)試的問題,對工程師要求高,投入時間多。 從市面上的FPGA開發(fā)板銷售情況來看,目前一些國產(chǎn)廠商占有的份額也很高。他們提供的開發(fā)板往往配置了中低端的FPGA芯片(包括有國產(chǎn)及進口的),并自行設(shè)計/制造PCB板。配套豐富的學習資料,同時在板上集成了常用的接口模塊,如Flash、HDMI、DDR4,PCIe等;加之這些開發(fā)板的售價并不昂貴,一般從幾百元到幾千元人民幣不等,適合大專院校和自學的人群購買使用。
FPGA原型平臺
隨著目前集成電路的不斷發(fā)展,設(shè)計規(guī)模的大型化,單顆FPGA板在容量上就顯得捉襟見肘,已經(jīng)無法滿足設(shè)計需求。首先,以目前國內(nèi)頭部的CPU、GPU設(shè)計公司的設(shè)計規(guī)模,單顆IC芯片的設(shè)計體量,需要占用到幾十顆Xilinx VU440級別FPGA的情況,已屢見不鮮。 在這種背景之下,F(xiàn)PGA系統(tǒng)供應(yīng)廠商開始著手研究多顆FPGA的系統(tǒng)解決方案。其中就包括在單塊的PCB板上裝配多顆FPGA及多個FPGA系統(tǒng)之間進行互聯(lián)。 經(jīng)過一段時間的發(fā)展和探索,F(xiàn)PGA原型驗證平臺產(chǎn)品應(yīng)運而生。之所以經(jīng)常稱之為“平臺”或“系統(tǒng)”,首先在硬件結(jié)構(gòu)上比單板形式的FPGA開發(fā)板復雜很多,其次FPGA芯片廠商提供的軟件工具無法支持這么復雜的多片F(xiàn)PGA實現(xiàn),需要配套專業(yè)的FPGA原型實現(xiàn)相關(guān)軟件工具。 一套優(yōu)秀的FPGA原型驗證系統(tǒng),應(yīng)該具有以下產(chǎn)品特性:
基于模塊化的設(shè)計/可伸縮的驗證平臺規(guī)模
在保證一定的高速仿真性能的前提下提供驗證完整性
提供從軟件早期開發(fā)到系統(tǒng)級驗證的解決方案
提供從綜合、自動模塊分割 、布局布線、FPGA bit產(chǎn)生、下載,以及在線/離線Debug的整套流程
提供豐富的調(diào)測手段,幫助用戶快速定位問題,易于Bring Up
提供豐富的接口子板和外部真實設(shè)備相連
提供軟件接口與外部軟件通訊
提供豐富的IO接口,以及高速Serdes接口用于partition互連以及外設(shè)子卡的互連
如本文開頭所述,復雜算法、CPU/GPU類型芯片的驗證和實現(xiàn)都是適合在FPGA原型驗證系統(tǒng)上進行的。不過,由于芯片規(guī)模的日益大型化,單顆的系統(tǒng)往往已經(jīng)無法容納下一個大型的IP/SoC了。 這個時候我們需要把多個原型系統(tǒng)進行互聯(lián),把分割后的邏輯下載到所有的系統(tǒng)當中,這樣來進行整個設(shè)計的驗證和調(diào)試工作。那么以目前的Partition互聯(lián)技術(shù)手段看,主要分為單端IO、差分LVDS IO和高速Serdes IO (如Xilinx的GTH )互聯(lián)的方式。 Serdes IO互聯(lián)可以達到很高的帶寬(Bandwidth),但根據(jù)收發(fā)器內(nèi)部信號寬度和傳輸協(xié)議的不同,加上串并轉(zhuǎn)換和Encoder/Decoder的時間開銷,會產(chǎn)生幾十到幾百ns的額外延遲,可能影響分布于多顆FPGA芯片上的系統(tǒng)原型性能;而單端IO的延遲一般就在ns級別,故其分割后的系統(tǒng)性能會更高,但這對并行單端IO信號連接器的設(shè)計提出了很高的要求,目前包括Synopsys以及芯華章少數(shù)FPGA原型平臺能夠達到1.4Gbps的較高速率。 在實際原型系統(tǒng)的核心設(shè)計分割中,單端IO連接器用得更多一些,在連接獨立的高速外設(shè)和接口時,Serdes高速連接器用得更多一些。這類高速互聯(lián)接口及其線纜的成本都很高,但對于原型系統(tǒng)的設(shè)計目的來說是必須的,這也是為什么FPGA原型系統(tǒng)的價格要遠遠高于FPGA開發(fā)板的原因之一。 說完了硬件方面,再看軟件方面,如果用到了多顆的FPGA系統(tǒng),那么對于大設(shè)計的分割問題變得十分重要。對于一個大設(shè)計,軟件可以自動或者手動的把邏輯分割到幾片F(xiàn)PGA當中,根據(jù)連線資源情況插入TDM(時分復用)的IP,再對分割后的邏輯進行時序優(yōu)化;軟件能夠保留頂層的端口信號名稱。從調(diào)試方面考慮,需要探及設(shè)計的內(nèi)部的信號。 隨著設(shè)計規(guī)模增大,除了軟件運行速度之外,綜合階段進行Timing Driven Synthesis優(yōu)化的動作,以實現(xiàn)冗余邏輯的優(yōu)化和時序上的提升,因此軟件的算法優(yōu)化顯得十分重要。從性能指標上看,主要是分割的功能正確性、邏輯和時序的優(yōu)化度及Timing-driven減少hop提升編譯性能。利用分布式技術(shù),減少設(shè)計規(guī)模對CPU時間和內(nèi)存造成的影響。 目前,各大原型驗證平臺供應(yīng)商都在軟件上加大了投入。一款擁有出色的FPGA原型軟件工具應(yīng)具備以下的特點:
綜合時進行專門的時序驅(qū)動優(yōu)化
綜合階段充分利用并行化手段降低設(shè)計規(guī)模對綜合時間造成的影響,盡量優(yōu)化網(wǎng)表的時序和面積
算法優(yōu)化、能夠?qū)崿F(xiàn)大數(shù)量的FPGA自動分割且配置簡便綜合工具與分割工具配合保留內(nèi)部信號名稱,并與綜合工具配合映射信號名稱,支持RTL源代碼調(diào)試
自動產(chǎn)生時鐘并處理時鐘的分割,對于數(shù)片至數(shù)十片F(xiàn)PGA的大型設(shè)計實現(xiàn)很重要
最大程度保留原來代碼設(shè)計層次,提高增量編譯度和可調(diào)試性,分割前后功能保持一致
服務(wù)器軟件時內(nèi)存資源控制得當
保證分割結(jié)果正確的情況下,耗時短
這樣的配套軟件,能夠一體化地完成綜合及分割步驟,將為整個原型驗證系統(tǒng)大大加分。隨著設(shè)計規(guī)模的日益增長,用戶對軟件的綜合/分割功能十分注重;軟件功能出色,無疑能對硬件系統(tǒng)的銷售產(chǎn)生極大的促進;反之,硬件系統(tǒng)做的很大,軟件的功能跟不上,甚至要依賴外部的綜合或分割工具,無疑為整套系統(tǒng)拖了后腿,無法實現(xiàn)上述的關(guān)鍵功能。
總 結(jié)
綜上所述,我們再來看一下FPGA開發(fā)板、FPGA原型驗證系統(tǒng)之間的對比表格:
圖3FPGA開發(fā)板、FPGA原型驗證系統(tǒng)之間的對比表格
下面的圖例便于讀者更容易的理解它們二者之間的關(guān)系:
圖4 FPGA開發(fā)板和原型系統(tǒng)應(yīng)用上的交集圖示 從應(yīng)用場景上看,我們看到,F(xiàn)PGA開發(fā)板適合小型設(shè)計的手工驗證、特定協(xié)議的開發(fā),及在整個系統(tǒng)中起到控制的作用等等;而FPGA原型系統(tǒng)適合中大型設(shè)計和復雜算法的自動化驗證及連接真實外圍硬件的高性能系統(tǒng)驗證/調(diào)試,軟硬件協(xié)同調(diào)試等等。在IP驗證方面,F(xiàn)PGA開發(fā)板和原型系統(tǒng)有一定的重合度。 以上就是關(guān)于FPGA開發(fā)板和原型驗證系統(tǒng)這2種不同的數(shù)字設(shè)計驗證平臺的對比介紹,謝謝!
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1644文章
21993瀏覽量
615309 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5589瀏覽量
103102
原文標題:FPGA開發(fā)板vs原型驗證系統(tǒng)
文章出處:【微信號:X-EPIC,微信公眾號:芯華章科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
有ARM,NPU,FPGA三種核心的開發(fā)板 — 米爾安路飛龍派開發(fā)板

新思科技推出基于AMD芯片的新一代原型驗證系統(tǒng)
發(fā)布|CAE1200+FPGA開發(fā)板

Linux系統(tǒng)更換開機logo方法教程,觸覺智能RK3562開發(fā)板演示

瑞芯微主板/開發(fā)板Linux系統(tǒng)播放音頻方法,觸覺智能RK3562開發(fā)板演示

正點原子fpga開發(fā)板不同型號
正點原子和野火開發(fā)板哪個好
ARM開發(fā)板與FPGA的結(jié)合應(yīng)用
盤古22K開發(fā)板
數(shù)字芯片設(shè)計驗證經(jīng)驗分享文章 實際案例說明用基于FPGA的原型來測試、驗證和確認IP——如何做到魚與熊掌兼

評論