FPGA 開發的目標是按時、按質交付項目。
然而,這一目標說起來簡單,實現起來老費勁了。根據業內最廣泛的調查之一,西門子威爾遜集團 2022 年的調查(https://blogs.sw.siemens.com/verificationhorizons/2022/10/10/prologue-the-2022-wilson-research-group-functional-verification-study/),70% 的 FPGA 項目落后于計劃,12% 的項目落后計劃 50% 以上。
為此,很多FPGA廠商都在自己EDA工具里嵌入IP減少FPGA項目的開發周期,使用 IP 是一種有助于實現按時、高質量且經濟高效的項目交付的方法。
我們現在處于一個比較好的時期,例如,Vivado 2024.1 提供了 681 個 IP,使用這些IP可以快速的搭建FPGA系統,比如XDMA IP可以快速搭建基于PCIe的應用。當然,這些 IP 核的適用性取決于目標設備系列和設備的所需功能。
利用這些 IP 模塊可以加快開發速度,并通過利用經過驗證的組件降低技術風險。此外,這些 IP 核通常附帶示例和測試平臺,這有助于我們了解它們的操作和用法。
然而,這些IP并不能提供我們設計中需要的所有功能。在這種情況下,我們可能需要開發定制解決方案、購買第三方 IP 或使用開源IP庫。
接下來,我們介紹幾個高質量開源庫來支持我們的設計:
FPGA_Library
https://github.com/suisuisi/FPGA_Library
Open Logic
https://github.com/open-logic/open-logic
這個開源 VHDL 庫提供了各種專注于 IP 外設創建的 IP 核。它提供了用于CDC、內存、FIFO、仲裁器、時分復用和其他功能(如 PRBS、延遲和桶形移位器)的模塊。對于 AXI 支持,Open Logic 包括 AXI 主設備、從設備和流水線。它還提供用于 UART、SPI、I2C 等的接口 IP,使其成為 AXI 端點的寶貴資源。
HDL 模塊
https://hdl-modules.com/index.html
該庫提供一系列 AXI IP,包括interconnects 和 crossbars,以及 FIFO 等基本基礎設施。為了支持仿真,HDL 模塊還包括總線功能模型和通用組件,例如環形緩沖區、LFSR、數學函數和正弦發生器。通過閱讀文檔可以很好地了解它。
SURF(SLAC 終極 RTL 框架):
https://github.com/slaclab/surf
SURF 提供 AXI、以太網和設備庫。設備庫特別有用,帶有 ADC 和 DAC 等外圍設備的驅動程序。SURF 使用 CocoTB 和 GHDL 進行驗證,使流程變得簡單。
PSI Lib
https://github.com/paulscherrerinstitute/psi_fpga_all
由 Paul Scherrer 研究所開發,該庫提供內存、FIFO、跨時鐘域、時分復用、AXI 接口和其他常見模塊的 IP 模塊。
PoC Lib(Pile of Cores)
https://github.com/VLSI-EDA/PoC
由Technical University of Dresden大學提供,PoC 專注于內存、FIFO 和 I/O 控制器。它利用了 CocoTB、OSVVM、UVVM 和 VUnit 進行驗證。
以上這些只是一些常用的庫,可以結合之前推薦的開源庫一起使用:
這些開源庫可以幫助開發解決方案,而無需從頭開始。其中許多庫與 Vivado 完美集成,簡化了它們的使用。
當然,這些庫并不權威,需要結合使用場景進行修改和優化。
最后要注意的是:使用這些開源庫時,請確保閱讀、理解并遵守其開源許可證,以避免潛在的麻煩。
-
FPGA
+關注
關注
1630文章
21769瀏覽量
604638 -
IP
+關注
關注
5文章
1715瀏覽量
149712 -
開源
+關注
關注
3文章
3380瀏覽量
42601
原文標題:使用 IP 核和開源庫減少 FPGA 設計周期
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論