如何为应用选择最佳的FPGA(下)
如何為應用選擇最佳的FPGA(下)
How to select an FPGA board?
FPGA板的選擇在很大程度上受FPGA本身的影響,也受整個板的特性和性能的影響。們已經在上面的章節中討論了FPGA芯片。在本節中,們將介紹選擇任何FPGA板的思想過程。
在選擇FPGA板的決策過程中,一些非詳盡的常見因素包括:外圍設備、擴展連接器、內存接口、易用性、上市時間、定制選項、文檔、標準遵從性和支持質量。當然,成本也是一個因素。
Common Peripherals, Interfaces, Connectors, and Memories available in a typical FPGA Board
Peripherals
外設和擴展連接器是任何FPGA板的顯著特征。不同的目標用戶對們希望在FPGA板中看到哪些外圍設備有不同的期望。例如,希望學習數字電子和RTL設計的學生會想要一些外圍設備,如開關、按鈕、7段顯示器、LED、USB串行端口、LCD字符顯示器、VGA輸出等。們不會想要更高端的外設,因為們還沒到可以有意義地使用這些設備的階段外圍設備。Elbert V2、Mimas V2、Waxwing Development Board和Mimas A7 FPGA開發板都是滿足學習者和愛好者群體期望的電路板示例,具有大量面向學習的外圍設備。
高端外圍設備的例子有千兆以太網、PCI
Express、QSFP籠、USB 2.0/3.0 PHY、DisplayPort等。雖然這些外圍設備對任何初學者來說可能沒有太大用處,但對于一個必須使用千兆以太網的復雜項目來說,們是不可或缺的,例如,由于項目要求,必須使用千兆以太網或任何其外圍設備。Proteus Kintex-7usb3.0fpga板、Nereid
Kintex-7pci-Express開發板甚至帶有千兆以太網和DisplayPort外圍設備的Mimas A7開發板都屬于這一類。
Peripherals in Mimas A7:
下表突出了低成本板之間的對比。ElbertV2具有有限的低速FPGA和外圍設備,與高端板相比,GPIO數量更少。Nereid和Proteus,具有技術上更優越的FPGA、更高速的外圍設備、連接選項、收發器和大量gpo。
Nereid & Proteus Vs Elbert V2 :
對于批量生產,模塊形式的FPGA板也非常流行。FPGA模塊通常與載波板一起使用,以充分發揮其潛力。FPGA模塊為用戶提供了充分的靈活性來設計們自己的載波板和外圍設備、連接器和硬件。例如,Neso Artix-7 FPGA模塊一直是非常受歡迎的FPGA模塊,因為具有模塊外形,而且還與相同外形的高端和低端模塊(如Narvi Spartan-7模塊、Skoll Kintex-7模塊和Styx Zynq 7020模塊)交叉兼容。
Connectors and Expansion I/Os Ports
雖然連接器有大量的選項,但根據所需的速度和針數,最好選擇標準連接器或使用通用的現成連接器,以便用戶可以輕松地設計自己的擴展模塊。在這種情況下,連接器和擴展I/O端口是可以互換使用的術語。以太網、HDMI等外圍設備都有自己的專用連接器,但本段僅指用于I/O擴展的連接器或端口。
Callisto K7 Vs Aller comparison in terms of I/Os:
連接器主要可分為低速連接器與高速連接器,低針數連接器與高針數連接器。Pmod連接器是低速、低針數連接器的一個例子。們是面向FPGA板的愛好者中非常流行的連接器。Elbert V2和Mimas V2具有類似的用于擴展模塊的0.1英寸低速連接器。
HDMI、SATA和DisplayPort接口是高速、低插腳數的連接器。們主要用于各自的預期應用程序,但也可用于自定義應用程序。另一端是高速、高針數連接器,如FMC(FPGA夾層卡)連接器、FMC+、HSMC(高速夾層卡)連接器、VHDCI(甚高密度電纜互連)連接器、PCI Express連接器,這些連接器主要用于需要與高采樣率adc、高速dac、千兆位收發器等接口的高端FPGA板中,信號完整性是這些連接器中最重要的因素。PCI-Express有兩個高速PCI-Kinc-7接口(高速PCI-Kinc-7接口)。Nereid和Proteus中的FMC連接器是VITA 57.1/ANSI兼容的連接器,這意味著來自不同供應商的兼容FMC擴展模塊的完整生態系統可以與Nereid和Proteus一起使用,沒有任何重大問題。
Onboard Memory Interfaces
FPGA板中的內存選擇范圍很廣。最簡單的是SRAM和SDRAM。其選項包括LPDDR、DDR2、DDR3、DDR4等。根據應用程序和項目要求,即使是簡單的SRAM也可能足夠,或者可能需要更大容量的內存,如DDR3和DDR4。同樣重要的是要考慮到來自FPGA IC供應商或第三方的內存控制器IP核的可用性。對于網絡應用,由于低延遲和高吞吐量,諸如RLDRAM和qdrram之類的內存技術是首選。用于DDR3和DDR4內存的SODIMM外形尺寸為用戶提供了方便,可以隨時升級、降級或更換內存模塊,而無需對硬件進行任何更改。這使得SODIMM在用戶中非常流行。SODIMM內存模塊也相對便宜,并且易于現貨供應。Nereid Kintex-7 PCI Express FPGA板具有用于DDR3L內存的SODIMM連接器。Proteus
Kintex-7fpga開發板還有一個SODIMM連接器,與Nereid的FPGA連接完全相同,因此兩者都可以互相兼容。其板,如Neso、Narvi等都有2Gb DDR3芯片永久焊接到模塊中。Saturn Spartan 6 FPGA模塊板載512Mb LPDDR芯片。
External RAM comparison: Nereid vs Saturn vs Neso:
除了易失性RAM存儲器,另一個需要考慮的重要存儲器是閃存。對于FPGA來說,這一點尤為重要,因為在FPGA上運行的設計的比特流存儲在該存儲器中。在加電期間,FPGA從閃存中讀取比特流,并使用該比特流數據進行自配置。帶有SPI通信接口的Flash存儲器在這方面很流行,幾乎所有的fpga都支持從SPI-Flash配置(或引導)。作為一個串行接口,每個時鐘1位,原來的SPI flash在配置大型fpga時速度較慢。因此,改進的SPI接口,如雙SPI、Quad SPI(QSPI)和QSPI-DDR被用于更快的數據傳輸。QSPI閃存每時鐘傳輸4位,導致FPGA配置時間快4倍。對于具有PCI-Express接口的FPGA板,在BIOS開始枚舉PCI-Express設備之前對FPGA進行配置尤為重要。所以在這種情況下,更快的QSPI閃存是必要的。非易失性閃存的容量也很重要。SPI flash應該至少有足夠的容量來容納一個比特流,但是通常應該有足夠的空間來容納兩個比特流和固件,比如Linux映像或任何其用戶數據。Numato Lab的大多數7系列FPGA板都有128Mb的QSPI閃存,而更新的電路板(如Callisto K7和Aller Artix-7 M.2 PCI Express板)具有1Gb QSPI-DDR閃存,其空間足以容納多個位流和自定義數據。
Flash Memory comparison: Elbert V2 vs Narvi vs Aller
Ease of use
第一印象很重要。然而,這一因素往往被FPGA板制造商忽視。如果任何FPGA都很難開始使用,也很難使用,那么即使是專業的FPGA用戶也會傾向于遠離此類電路板。對于剛開始FPGA開發的初學者來說,FPGA板制造商應該不遺余力地使們的FPGA板盡可能容易使用。這方面與稍后討論的“文檔”因素略有重疊。但是,值得注意的是,雖然好的技術文檔在可訪問性方面的確令人驚嘆,但董事會的設計決策也主要有助于提高易用性。例如,在過去的十年里,在開發板制造商中有一個趨勢,就是在板上安裝大量的跳線。每次需要使用該板時,都需要檢查所有跳線設置并與用戶指南交叉驗證。這使得使用任何電路板都很乏味。Numato Lab的FPGA產品,如Mimas Artix-7 FPGA開發板、Proteus Kintex-7 FPGA開發板等,都是為了盡可能友好地對待任何用戶而設計的。
Time to Market
集成了客戶項目所需所有功能的FPGA板將加快客戶設計的上市時間。客戶可以開始工作的RTL,固件和軟件設計,盡快收到董事會。這些板是獨一無二的,因為們既滿足開發要求,也滿足生產要求。這類電路板通常是FPGA模塊外形板,如Neso Artix-7 FPGA模塊、Narvi Spartan-7 FPGA模塊、Skoll Kintex-7 FPGA模塊和Styx Zynq 7020模塊。或者,們可以是卡的形式,例如Nereid Kintex-7 PCI Express開發板或Aller Artix-7 M.2
PCI Express板。模塊形狀因子板需要載體板進行原型設計、開發和生產。PCI Express或M.2 form factors等卡的外形尺寸板可以簡單地插入主機系統并立即使用。
上市時間也受RTL、固件和軟件開發時間的影響。Intercore SDK等框架使快速設計項目變得非常容易。Intercore SDK使用戶能夠在設計中利用現有的AXI兼容IP核心生態系統,并與主機系統無縫地通信和傳輸數據。內核間SDK提供了C、C++、java、python和NoDEJS中的庫,使用戶更容易使用內核間SDK框架開發應用程序。這簡化了們的設計流程,為們提供了專注于項目其重要方面的選擇。
Customization options
許多客戶沒有自己的內部硬件設計團隊來設計或修改FPGA板、用于FPGA模塊或擴展模塊的載波板。因此,如果原始供應商以有競爭力的價格提供定制選項,那么就為客戶提供了一個有吸引力的選擇,可以根據們的需要定制FPGA板。顯然,沒有深度定制的余地,因為本質上意味著一個獨特的產品本身。用戶可以使用的最常見的定制選項包括,在板上使用不同的、引腳兼容的FPGA部件、在板中使用更高或更低速度等級的FPGA部件、根據客戶要求配置銀行電壓的選項、使用更大容量的RAM芯片等。
對于Callisto Kintex-7
USB 3.1 FPGA模塊,們為用戶提供銀行電壓的定制選項、三種不同的FPGA選項(160T、325T和410T)、使用不同速度等級FPGA的選項、用4Gb內存而不是2Gb內存芯片填充電路板的選項等等,對于Neried Kintex-7 PCI Express FPGA開發和Proteus Kintex-7
USB 3.1 FPGA開發板,們提供了使用更高端引腳兼容FPGA或在板上使用不同速度等級FPGA的選項。
Documentation & Utilities
產品質量與其競爭對手相比有什么區別。如果一塊FPGA板的文檔不好,那么用戶就不太可能購買該板。們絕對建議用戶在購買任何產品之前仔細閱讀產品文檔。文檔包括高質量的圖片、用戶手冊、原理圖、約束文件、機械尺寸、3D模型、GPIO參考、示例代碼、關于板入門的文章、應用說明等。Numato Lab為所有產品提供了專門的知識庫和文檔部分。
實用工具,如用于FPGA板的編程工具應簡單、穩定和便攜。像Tenagra FPGA系統管理軟件這樣的工具使得編程和測試們的FPGA板的特性變得很容易。
Screenshots of Tenagra:
Programming Saturn Spartan 6 FPGA Module using Tenagra FPGA Management Software
Support
最后,FPGA板選擇的一個關鍵因素是對用戶可用的支持。墨菲定律說“任何可能出錯的事情都會出錯”是一句常見的警句,在技術領域更是如此。無論是FPGA板的問題還是RTL設計的問題,板的編程問題,驅動程序的安裝問題,甚至是第一次設置板的問題,都是們努力的方向。在這些困難時期給予同情的支持會給任何客戶留下持久的印象。們相信所有的客戶都是品牌大使。
總結
以上是生活随笔為你收集整理的如何为应用选择最佳的FPGA(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何为应用选择最佳的FPGA(上)
- 下一篇: Xilinx Zynq FPGA Boa