0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SystemVerilog常用可綜合IP模塊庫

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-05-05 09:48 ? 次閱讀

SystemVerilog常用可綜合IP模塊庫


想擁有自己的SystemVerilog IP庫嗎?設(shè)計時一個快捷鍵就能集成到自己的設(shè)計,酷炫的設(shè)計你也可以擁有!

每個公司應(yīng)該都會維護屬于自己公司風(fēng)格的IP庫,作為個人學(xué)習(xí)或者持續(xù)使用的方式,這種方法很有用。今天肯定不是分享我司的IP庫,而是一個開源庫,每個人都可以使用、維護或者修改,當(dāng)然作為學(xué)習(xí)(多人維護)也是不可多得的資料。把該庫集成到自己常用的文本編輯器(SublimeVScodeVim等等)可以很快完成代碼設(shè)計。

簡介

這是verilog/systemverilog 可綜合模塊的集合。

所有代碼在典型的 FPGA 和主流 FPGA 供應(yīng)商中都具有高度可重用性。

本項目是幾個常用可綜合模塊集合的集合,下面分別介紹這些項目。

工程鏈接

?

https://github.com/suisuisi/basic_systemverilog

詳細介紹

basic_verilog

8c596972-cc0b-11ec-bce3-dac502259ad0.png

文件夾外的文件根據(jù)文件名很容易判斷其用途,下面著重介紹文件夾內(nèi)部文件:

目錄 描述
Advanced Synthesis Cookbook/ Altera cookbook中的有用代碼
KCPSM6_Release9_30Sept14/ Xilinx 的 Picoblaze 軟處理器
pacoblaze-2.2/ 適用于 Altera 器件的 Picoblaze 版本
example_projects/ FPGA 項目示例
benchmark_projects/ 多種 FPGA 類型的編譯時間基準(zhǔn)
scripts/ 有用的 TCL 腳本

注1:cookbook:類似技巧大全的意思

這里還有一個TCL腳本文件,再簡單介紹一下:

腳本 描述
scripts/allow_undefined_ports.tcl 允許為 Vivado IDE 生成帶有未定義引腳的測試項目
scripts/compile_quartus.tcl Quartus IDE 中用于命令行項目編譯的樣板腳本
scripts/convert_sof_to_jam.bat Altera/Intel FPGA 配置文件轉(zhuǎn)換器
scripts/convert_sof_to_rbf.bat 另一個 Altera/Intel FPGA 配置文件轉(zhuǎn)換器
scripts/iverilog_compile.tcl 使用 iverilog 工具編譯 Verilog 源代碼并在 gtkwave 工具中運行模擬的完整腳本
scripts/modelsim_compile.tclModelsim 無項目模式編譯腳本
scripts/post_flow_quartus.tcl 英特爾 Quartus IDE 的自定義報告或報告分析
scripts/post_flow_vivado.tcl Xilinx Vivado IDE 的自定義報告或報告分析
scripts/program_all.bat Altera/Intel FPGA 的命令行編程器示例
scripts/project_version_auto_increment.tcl Quartus IDE 的項目版本自動增量腳本
scripts/quartus_system_console_init.tcl 通過 JTAG-to-Avalon-MM 橋 IP 讀/寫 Avalon-MM 的初始化腳本
scripts/set_project_directory.tcl 更改當(dāng)前目錄以匹配 Vivado IDE 中的項目目錄
scripts/write_avalon_mm_from_file.tcl 通過 JTAG-to-Avalon-MM 橋 IP 將二進制文件中的批量二進制數(shù)據(jù)寫入 Avalon-MM

注2:Avalon:ALTERA公司FPGA內(nèi)部使用的總線,下圖是典型Altera FPGA系統(tǒng)

8c730bde-cc0b-11ec-bce3-dac502259ad0.png

其他模塊說明

腳本 描述
ActionBurst.v 多通道一次性觸發(fā)模塊
ActionBurst2.v 可變步長的多通道一次性觸發(fā)
adder_tree.sv 將多個值并行相加
bin2gray.sv 格雷碼到二進制轉(zhuǎn)換器
bin2pos.sv 將二進制編碼值轉(zhuǎn)換為one-hot代碼
clk_divider.sv 寬參考時鐘分頻器
debounce.v 輸入按鈕的兩周期去抖動
delay.sv 用于產(chǎn)生靜態(tài)延遲或跨時鐘域同步的有用模塊
dynamic_delay.sv 任意輸入信號的動態(tài)延遲
edge_detect.sv 組合邊沿檢測器,在每個信號邊沿上提供一個滴答脈沖
lifo.sv 單時鐘 LIFO 緩沖器(堆棧)實現(xiàn)
NDivide.v 原始整數(shù)除法器
prbs_gen_chk.sv PRBS 模式生成器或檢查器
pulse_gen.sv 產(chǎn)生具有給定寬度和延遲的脈沖
spi_master.sv 通用spi主模塊
UartRx.v 簡單明了的 UART 接收器
UARTTX.v 簡單明了的 UART 發(fā)送器
uart_rx_shifter.sv 類似 UART 的接收器移位器,用于 FPGA 內(nèi)部或 FPGA 之間的簡單同步消息傳遞
uart_rx_shifter.sv 類似 UART 的接收器移位器,用于 FPGA 內(nèi)部或 FPGA 之間的簡單同步消息傳遞
UartRxExtreme.v 極小的 UART 接收器實現(xiàn)
UartTxExtreme.v 極小的 UART 發(fā)送器實現(xiàn)
... ...

generic_systemverilog_designs_library

  • binary_counter

SystemVerilog 中具有異步復(fù)位的 n 位二進制計數(shù)器。

  • binary_to_gray

SystemVerilog中的n位二進制到格雷碼組合轉(zhuǎn)換器電路。

  • demultiplexer

具有寬度和輸出端口數(shù)量參數(shù)化的解復(fù)用器。

  • full_adder

SystemVerilog 中的 n 位全加器

  • full_subtractor

SystemVerilog 中的 n 位全減法器

  • gray_counter

使用 SystemVerilog 中的二進制計數(shù)器和二進制到格雷碼組合轉(zhuǎn)換器電路實現(xiàn)的具有異步復(fù)位的 n 位格雷碼計數(shù)器。

  • multiplexer

具有寬度和輸入端口數(shù)量參數(shù)化的多路復(fù)用器

SvLibDR

包括串口和SPI接口的可綜合IP模塊

SystemVerilog-Bitmap-Library-AXI-Image-VIP

描述

要驗證視頻或圖像處理 IP,可能需要將真實圖像讀取到設(shè)計中,并通過接口發(fā)送其數(shù)據(jù)。然后,從界面獲取輸出,并將其轉(zhuǎn)換為新圖像,保存或比較。

為了解決這個復(fù)雜的問題,設(shè)計了這個庫,它可以幫助您簡化設(shè)計流程。使用一些簡單的 API 可以輕松地在測試臺中讀取和寫入標(biāo)準(zhǔn)位圖文件 (.BMP)。并且,使用 AXI-Stream Video Image VIP,可以輕松地將圖像發(fā)送到與 Xilinx 用戶指南 UG934 兼容的標(biāo)準(zhǔn) AXI-Stream 視頻接口,從輸出接口接收圖像并保存。

位圖處理庫可以通過 System Verilog 將 Windows 位圖文件 (.BMP) 讀取和寫入位數(shù)組(虛擬內(nèi)存),以進行 IP 驗證。該庫支持 24 位和 32 位位圖讀入和 32 位位圖寫出。

使用位圖處理庫的 AXI-Stream Video Image VIP?!癮xi_stream_video_image_in_vip”IP 可以將位圖文件讀入內(nèi)存,并通過 AXI-Stream 視頻接口(在 Xilinx 用戶指南 UG934 中定義)發(fā)送。而“axi_stream_video_image_out_vip”IP可以監(jiān)控一個AXI-Stream接口,獲取在接口上傳輸?shù)膸⒈4娴轿粓D文件中。

一般信息

支持的位圖:

輸入:24-bpp/32-bpp RGB/RGBA 位圖輸出:32-bpp RGBA 位圖

這個庫的優(yōu)勢

  • 簡單的 API
  • 開源
  • 與流行的 EDA 工具兼容(在 Modelsim 和 Qustasim 上測試)

包中的文件

文件 描述
bitmap_processing.sv 位圖處理庫。
axi_stream_video_image.sv AXI 流視頻圖像庫(用于回調(diào)類)。
axi_stream_video_image_in_vip.sv VIP 用于讀取位圖并將其發(fā)送到接口。
axi_stream_video_image_out_vip.sv VIP 用于監(jiān)控界面并將圖像保存為位圖。
axi_stream_video_image_example.sv 如何使用 VIP 和庫的簡單示例。

關(guān)于包使用等詳細信息,請查看項目介紹。

總結(jié)

今天只介紹了一個項目,這個項目可以給大家提供一個思路尤其對于沒有工作或者剛?cè)腴T不久的同行,自己在編寫代碼時要想著可繼承性,這樣在以后做類似項目時可以借用,并且長期維護一個代碼對于這個模塊的理解有很大幫助。

最后,還是感謝各個大佬開源的項目,讓我們受益匪淺。后面有什么感興趣方面的項目,大家可以在后臺留言或者加微信留言,今天就到這,我是爆肝的碎碎思,期待下期文章與你相見。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • System
    +關(guān)注

    關(guān)注

    0

    文章

    166

    瀏覽量

    37621
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    818

    瀏覽量

    31845
  • 模塊庫
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5109

原文標(biāo)題:優(yōu)秀的 Verilog/FPGA開源項目介紹(二十二)- SystemVerilog常用可綜合IP模塊庫

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    達夢數(shù)據(jù)常用管理SQL命令詳解

    達夢數(shù)據(jù)常用管理SQL命令詳解
    的頭像 發(fā)表于 06-17 15:12 ?107次閱讀
    達夢數(shù)據(jù)<b class='flag-5'>庫</b><b class='flag-5'>常用</b>管理SQL命令詳解

    海外住宅IP代理優(yōu)勢綜合分析

    海外住宅IP代理憑借其獨特的資源特性與技術(shù)架構(gòu),在跨境電商、數(shù)據(jù)采集、廣告投放等場景中展現(xiàn)出顯著優(yōu)勢。以下從核心功能、技術(shù)保障、合規(guī)性及適用場景等維度進行詳細分析: 一、隱匿性與安全性提升 真實IP
    的頭像 發(fā)表于 04-25 10:28 ?201次閱讀

    博世GTM IP模塊架構(gòu)介紹

    上篇文章我們介紹了博世GTM IP模塊的核心功能及基礎(chǔ)結(jié)構(gòu)模塊。本篇文章將繼續(xù)解析GTM模塊架構(gòu),重點介紹I/O模塊,特殊功能
    的頭像 發(fā)表于 03-07 17:50 ?833次閱讀
    博世GTM <b class='flag-5'>IP</b><b class='flag-5'>模塊</b>架構(gòu)介紹

    Linux ip命令常用操作

    Linux?ip命令常用操作 在Linux系統(tǒng)中,ip命令是用于管理網(wǎng)絡(luò)接口和路由的強大工具。相比于舊的?ifconfig命令,ip命令提供了更多的功能和更細粒度的控制。本文將詳細介紹
    的頭像 發(fā)表于 02-19 10:23 ?596次閱讀

    IP定位離線的特點以及作用

    很多人知道IP定位,但是對離線不是很理解。這篇文章會和大家闡述離線的概念、特點以及具體有什么作用。 IP定位路徑https://www.ipdatacloud.com/?utm-s
    的頭像 發(fā)表于 12-06 09:56 ?506次閱讀

    IP地址在網(wǎng)絡(luò)安全中有哪些作用

    IP地址也叫IP地址數(shù)據(jù),由數(shù)據(jù)員通過多種技術(shù)手段搜集而來的,不單單如此,還有一部分運維人員來負責(zé)對數(shù)據(jù)進行維護和更新。數(shù)據(jù)
    的頭像 發(fā)表于 12-04 10:53 ?514次閱讀
    <b class='flag-5'>IP</b>地址<b class='flag-5'>庫</b>在網(wǎng)絡(luò)安全中有哪些作用

    HAL和標(biāo)準(zhǔn)的區(qū)別 HAL與CMSIS的關(guān)系

    在嵌入式系統(tǒng)開發(fā)中,HAL(硬件抽象層)和標(biāo)準(zhǔn)是兩種常用的軟件,它們在功能和使用場景上有所不同。 1. 標(biāo)準(zhǔn) 標(biāo)準(zhǔn)
    的頭像 發(fā)表于 12-02 14:02 ?3053次閱讀

    半導(dǎo)體IP:芯片制造中不可小覷的關(guān)鍵隱藏環(huán)節(jié)

    。 圖源:億歐智 IP,即知識產(chǎn)權(quán)(Intellectual Property),在芯片設(shè)計中特指那些經(jīng)過驗證的、重復(fù)利用的電路模塊,也被稱為I
    的頭像 發(fā)表于 11-28 10:09 ?965次閱讀
    半導(dǎo)體<b class='flag-5'>IP</b>:芯片制造中不可小覷的關(guān)鍵隱藏環(huán)節(jié)

    IP地址歸屬地離線——網(wǎng)絡(luò)安全行業(yè)的基石

    IP地址因為其在互聯(lián)網(wǎng)中的必要性與特殊性成為了是網(wǎng)絡(luò)安全行業(yè)的第一道防線。一個IP地址歸屬地離線包含大洲、國家、省市、經(jīng)緯度、郵編等內(nèi)容,這些信息會幫助網(wǎng)絡(luò)安全防御判斷訪問流量的安全性。所以
    的頭像 發(fā)表于 11-19 11:21 ?595次閱讀

    Vivado 2024.1版本的新特性(2)

    綜合角度看,Vivado 2024.1對SystemVerilog和VHDL-2019的一些特性開始支持。先看SystemVerilog。
    的頭像 發(fā)表于 09-18 10:34 ?1745次閱讀
    Vivado 2024.1版本的新特性(2)

    一種常用嵌入式開發(fā)代碼

    使用開源協(xié)議:GPL-2.0varch簡介varch(we-architecture,意為我們的框架)是嵌入式C語言常用代碼模塊,包含了嵌入式中
    的頭像 發(fā)表于 09-04 08:06 ?817次閱讀
    一種<b class='flag-5'>常用</b>嵌入式開發(fā)代碼<b class='flag-5'>庫</b>

    IP地址:從收集到處理

    準(zhǔn)確的IP地址對于網(wǎng)絡(luò)管理、安全防護、地理定位等眾多領(lǐng)域都十分重要。然而,原始的IP地址數(shù)據(jù)往往存在著各種問題,如不完整、不準(zhǔn)確、重復(fù)等,因此,對IP地址
    的頭像 發(fā)表于 08-26 11:47 ?662次閱讀
    <b class='flag-5'>IP</b>地址<b class='flag-5'>庫</b>:從收集到處理

    Modbus轉(zhuǎn)Ethernet IP網(wǎng)關(guān)模塊與匯川PLC通訊案例

    Modbus轉(zhuǎn)Ethernet/IP網(wǎng)關(guān)模塊(XD-MDEP100)是一種用于將Modbus協(xié)議轉(zhuǎn)換為Ethernet/IP協(xié)議的設(shè)備。在匯川PLC通訊中,使用Modbus轉(zhuǎn)Ethernet/
    的頭像 發(fā)表于 07-17 09:39 ?2570次閱讀
    Modbus轉(zhuǎn)Ethernet <b class='flag-5'>IP</b>網(wǎng)關(guān)<b class='flag-5'>模塊</b>與匯川PLC通訊案例

    IP地址定位與GPS定位:技術(shù)解析與應(yīng)用比較

    (InternetProtocolAddress)是分配給聯(lián)網(wǎng)設(shè)備的唯一標(biāo)識符。IP地址定位通過分析設(shè)備的IP地址,推斷其地理位置。IP地址定位主要通過以下方式實現(xiàn): - 數(shù)據(jù)查詢:
    的頭像 發(fā)表于 07-16 13:50 ?1033次閱讀

    深度學(xué)習(xí)常用的Python

    深度學(xué)習(xí)常用的Python,包括核心、可視化工具、深度學(xué)習(xí)框架、自然語言處理以及數(shù)據(jù)抓取等,并詳細分析它們的功能和優(yōu)勢。
    的頭像 發(fā)表于 07-03 16:04 ?1099次閱讀