一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

基于DE1-SOC開發(fā)板的oneAPI實驗教程(2)

友晶FPGA ? 來源:友晶FPGA ? 2025-06-23 11:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本期我們介紹在DE1-SoC開發(fā)板的FPGA上實現(xiàn)并部署Simple DMASimple Adder兩個案例。

上一期我們從oneAPI CLI Samples Browser復制保存的Simple DMA是基于Quartus Pro的Nios V示例,無法直接用在DE1-SoC開發(fā)板上,因此這一節(jié)我們用的Simple DMA是基于Quartus Standard的Nios II 示例,后續(xù)會計劃用新版Quartus Standard軟件將DE1-SoC的oneAPI示例升級到Nios V。

注:請復制鏈接http://mail.terasic.com.cn/~bingxia/My_First_oneAPI_de1_soc.zip到瀏覽器去下載My_First_oneAPI_de1_soc BSP,內含example code。

一、配置Simple DMA IP

使用oneAPI DPC++/C++編譯器可以將Simple DMA編譯成RTL IP硬件模塊,然后將RTL IP集成到FPGA,使用Plarform Designer可以將該IP核集成到設計中。

1. 打開Intel oneAPI命令窗口,切換到My_First_oneAPI_de1_socexmple_codesimple_dmakernelssimple_dma路徑,執(zhí)行以下命令創(chuàng)建build文件夾,并指定FPGA為DE1-SoC開發(fā)板的5CSEMA5F31C6。

mkdir build && cd build

cmake .. -G "NMake Makefiles" -DFPGA_DEVICE=5CSEMA5F31C6

2eb251ae-4fd3-11f0-b715-92fbcf53809c.png

2. 執(zhí)行nmake report編譯DMA IP,生成IP組件及優(yōu)化報告。

2eccd8f8-4fd3-11f0-b715-92fbcf53809c.png

3. 打開My_First_oneAPI_de1_socexmple_codesimple_dma路徑下的Quartus工程。

2ee60846-4fd3-11f0-b715-92fbcf53809c.png

4. 從Quartus Tools菜單欄里打開Platform Designer,并打開simple_dma/nios2_system.qsys工程。

2ef68766-4fd3-11f0-b715-92fbcf53809c.png

5. 在nios2_system.qsys里添加oneAPI -->simple_dma_report_di IP,并按下圖所示連接,再完成Assign Base Addresses。

2f078e44-4fd3-11f0-b715-92fbcf53809c.png

6. 點擊Generate HDL-->Generate,生成HDL代碼。

2f73567e-4fd3-11f0-b715-92fbcf53809c.png

2f82ea94-4fd3-11f0-b715-92fbcf53809c.png

7. 編譯Quartus工程。

2f93a8de-4fd3-11f0-b715-92fbcf53809c.png

8. 將編譯生成的.sof文件燒錄到FPGA。

2fb00718-4fd3-11f0-b715-92fbcf53809c.png

9. 從Quartus Tools里打開Nios II Software Build Tools for Eclipse,workspace切換到simple_dma/software。

2fc5873c-4fd3-11f0-b715-92fbcf53809c.png

2fd134ba-4fd3-11f0-b715-92fbcf53809c.png

10. 右鍵點擊simple_dma_bsp,選擇Nios II > Generate BSP。

2fe4e618-4fd3-11f0-b715-92fbcf53809c.png

11. 右鍵點擊simple_dma -->Run As --> 3 Nios II Hardware。

2ffacc8a-4fd3-11f0-b715-92fbcf53809c.png

12. 在Nios II Console終端上會顯示程序運行結果。

300b62fc-4fd3-11f0-b715-92fbcf53809c.png

二、修改Simple DMA為Simple Adder

本節(jié)通過對Simple DMA設計進行擴展,添加基本算術功能,將其轉換為Simple Adder。在保留原有DMA數(shù)據(jù)傳輸機制的同時引入兩種類型的常量輸入: c1--通過conduit接口提供;c2--通過CSR(Control and Status Register)配置。

在傳輸過程中,這些常量會被添加到數(shù)據(jù)中,這為如何在FPGA上集成數(shù)據(jù)處理和控制邏輯提供了一個示例。

接下來我們將解釋如何配置和使用conduit接口與CSR接口以及它們之間的差異,并演示如何在Platform Designer中連接這些接口。我們還將介紹完整的開發(fā)流程,包括從SYCL(基于 C++ 的開放標準,用于簡化異構計算如 CPU、GPU、FPGA 等并行設備的編程)示例代碼編譯到IP生成、Quartus集成、硬件配置以及在FPGA上驗證結果。

conduit接口

SYCL示例代碼(My_First_oneAPI_de1_socexmple_codevector_addkernelsvector_addsrcvector_add.cpp)如下,將其配置成conduit。

3018ed1e-4fd3-11f0-b715-92fbcf53809c.png

將代碼轉換為RTL IP后,該接口就可以在Platform Designer中看到。

30373404-4fd3-11f0-b715-92fbcf53809c.png

導出conduit接口,并在DE1_SOC_golden_top.v文件中例化連接到DE1-SoC開發(fā)板的滑動開關。

30557f90-4fd3-11f0-b715-92fbcf53809c.png

控制狀態(tài)寄存器

常量c2使用控制狀態(tài)寄存器(CSR)來定義。在內核中聲明此變量時,不需要額外的參數(shù),默認為控制狀態(tài)寄存器(CSR)。

3063e0d0-4fd3-11f0-b715-92fbcf53809c.png

c2的寄存器偏移自動產生,可在kernels/vector_add/build/vector_add.report.prj/include/kernel_headers/VectorAddTwoConst_register_map.h中找到。

3079cf3a-4fd3-11f0-b715-92fbcf53809c.png

測試步驟

按照以下步驟在DE1-SoC開發(fā)板的FPGA上實現(xiàn)并部署Simple Adder。

1. 打開Intel oneAPI 命令窗口,執(zhí)行chcp 65001命令將語言編碼更改為UTF-8,并切換到My_First_oneAPI_de1_socexmple_codevector_addkernelsvector_add路徑。

308b3cd4-4fd3-11f0-b715-92fbcf53809c.png

2. 執(zhí)行以下命令創(chuàng)建并切換到build文件夾,以及指定FPGA為DE1-SoC開發(fā)板的5CSEMA5F31C6。

mkdir build && cd build

cmake .. -G "NMake Makefiles" -DFPGA_DEVICE=5CSEMA5F31C6

309f8608-4fd3-11f0-b715-92fbcf53809c.png

3. 執(zhí)行nmake report命令編譯Simple Adder IP,生成IP組件以及優(yōu)化報告。

30b07210-4fd3-11f0-b715-92fbcf53809c.png

4. 打開DE1_SOC_golden_top.qpf工程。

30c9c10c-4fd3-11f0-b715-92fbcf53809c.png

5. 打開vector_add/nios2_system.qsys工程。

30e16906-4fd3-11f0-b715-92fbcf53809c.png

6. 添加oneAPI里的vector_add_report_di,并按下圖所示連接。

30fa5efc-4fd3-11f0-b715-92fbcf53809c.png

7. 點擊Generate HDL-->Generate生成HDL。

31134732-4fd3-11f0-b715-92fbcf53809c.png

8. 編譯Quartus工程,并將生成的.sof燒錄到FPGA。

312af472-4fd3-11f0-b715-92fbcf53809c.png

313e1598-4fd3-11f0-b715-92fbcf53809c.png

9. 運行Nios II Software Build Tools for Eclipse,將workspace切換到vector_add/software。

3156bf80-4fd3-11f0-b715-92fbcf53809c.png

31668a1e-4fd3-11f0-b715-92fbcf53809c.png

10. 右鍵點擊vector_add_bsp,選擇Nios II -->Generate BSP,生成BSP;右鍵點擊vector_add選擇Build Project編譯工程。

11. 右鍵點擊vector_add,選擇Run As > 3 Nios II Hardware,燒錄.elf文件運行工程。然后在Nios II Console終端顯示結果。

317684a0-4fd3-11f0-b715-92fbcf53809c.png

三、Q&A

1. Quartus Standard v23.1的Nios II Software Build Tools for Eclipse如果無法運行起來,請參考Getting Start Install Eclipse IDE into Nios EDS文檔里的步驟安裝Eclipse IDE。

2. vector_add Nios II工程無法編譯,請參考Getting Start Install WSL安裝WSL。

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

    關注

    1644

    文章

    22007

    瀏覽量

    616375
  • dma
    dma
    +關注

    關注

    3

    文章

    576

    瀏覽量

    102862
  • 開發(fā)板
    +關注

    關注

    25

    文章

    5620

    瀏覽量

    103503
  • 編譯器
    +關注

    關注

    1

    文章

    1659

    瀏覽量

    50044

原文標題:基于DE1-SoC的My_First_oneAPI(二)

文章出處:【微信號:友晶FPGA,微信公眾號:友晶FPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于DE1-SOC開發(fā)板oneAPI實驗教程(1

    在算力需求爆炸式增長的時代,異構計算已成為突破性能瓶頸的首選路徑。然而,多架構編程困境、傳統(tǒng)硬件開發(fā)高門檻(如FPGA)、硬件優(yōu)化與算法快速迭代,這些無不制約著創(chuàng)新的效率。
    的頭像 發(fā)表于 06-23 11:14 ?417次閱讀
    基于<b class='flag-5'>DE1-SOC</b><b class='flag-5'>開發(fā)板</b>的<b class='flag-5'>oneAPI</b><b class='flag-5'>實驗</b>教程(<b class='flag-5'>1</b>)

    求購de1-soc開發(fā)版。有的請聯(lián)系我。急求呢。QQ:528369266

    求購de1-soc開發(fā)版。有的請聯(lián)系我。急求呢。QQ:528369266
    發(fā)表于 12-15 16:00

    DE1-SOC新貨轉讓

    本人研究生,在暑假期間參加了一個比賽,獲得了一塊DE1-SOC作為比賽獎品,于2015年12月26日拿到獎品,淘寶官網上賣價1575,現(xiàn)在想低價轉售,暫定價格1200,可議價,開發(fā)套件還未拆封,保證
    發(fā)表于 12-27 10:43

    DE1-SoC官方自帶ControlPanel代碼解讀與AV圖像采集處理?

    DE1-SoC一段時間了,官方給的controlPanel那個示例給出了工具鏈的安裝方式,而且給了用這塊開發(fā)QT界面的一套流程,目前想在該代碼上修改,想結合AV端采集圖像,通過Opencv進行圖像處理,可如何與Opencv進
    發(fā)表于 05-06 22:18

    大神幫忙看看,為什么我的開發(fā)板無法用電腦進行配置

    器那里的USB-Blaster驅動消失了,變成不可識別的DE-SOC(圖2)。注:電腦是win7 64位系統(tǒng),軟件是Quartus II 13.1開發(fā)板是Cyclone V,DE1-SOC
    發(fā)表于 07-17 19:49

    DE1-Soc用戶手冊

    DE1-Soc用戶手冊
    發(fā)表于 08-05 16:08

    小弟求購Altera DE1-SOC開發(fā)板,哪位大神玩剩下了傳承一下,多謝!

    小弟想自學FPGA,預購Altera DE1-SOC。哪位大神玩過了,技術了熟于胸。也別冷落了板子,贈人玫瑰手有余香,請聯(lián)系小弟,讓技術繼續(xù)發(fā)揮余熱,價格可談。 聯(lián)系方式:***注:10.22不能入手就在淘寶買了,之后就不用耽誤大神時間了。非常感謝!
    發(fā)表于 11-18 15:00

    de1-soc FPGA(Quartus工程含Qsys系統(tǒng)) + HPS 操作步驟

    原諒我記憶力不好。。?;撕镁门靼椎臇|西才十個小時不到就忘記了,所以趁現(xiàn)在記得趕緊記錄下來。本文內容:重建de1-soc中HPS-FPGA工程。 PS:原工程在http
    發(fā)表于 07-03 08:10

    Altera DE2 開發(fā)板測試說明

    1 安裝 Quartus II 5.1 Web Edition Full;2DE2 System 光盤中的全部內容復制到PC 機上,其中DE2_control_panel文件夾內
    發(fā)表于 07-21 16:35 ?0次下載

    如何在DE1-SOC開發(fā)板上搭建NIOS II處理器運行UCOS

    介紹了如何在DE1-SOC開發(fā)板上搭建NIOS II處理器運行UCOS II,一步一步指導的,特此上傳,希望能幫點忙。
    發(fā)表于 06-14 15:29 ?12次下載

    DE1-SoC開發(fā)工具包的詳細用戶和使用手冊資料免費下載

    帶寬互連主干與FPGA結構無縫連接。DE1-SoC開發(fā)板配備了高速DDR3存儲器、視頻和音頻能力、以太網
    發(fā)表于 10-16 16:55 ?99次下載
    <b class='flag-5'>DE1-SoC</b><b class='flag-5'>開發(fā)</b>工具包的詳細用戶和使用手冊資料免費下載

    ALTERA公司的DE1 SoC FPGA開發(fā)板的培訓教程免費下載

    本文檔的主要內容詳細介紹的是ALTERA公司的DE1 SoC FPGA開發(fā)板的培訓教程免費下載包括了:第1DE1-SOC 快速入門,第
    發(fā)表于 07-08 08:00 ?34次下載
    ALTERA公司的<b class='flag-5'>DE1</b> <b class='flag-5'>SoC</b> FPGA<b class='flag-5'>開發(fā)板</b>的培訓教程免費下載

    DE1-SoC結構及電路圖

    DE1-SoC結構及電路圖免費下載。
    發(fā)表于 04-07 11:33 ?38次下載

    DE1-SOC進行硬件加速的2D N-Body重力模擬器設計

    該項目的目標是創(chuàng)建一個用DE1-SOC進行硬件加速的2D N-Body重力模擬器。
    的頭像 發(fā)表于 04-09 11:08 ?929次閱讀
    用<b class='flag-5'>DE1-SOC</b>進行硬件加速的<b class='flag-5'>2</b>D N-Body重力模擬器設計

    街機彈球機的模擬設計實現(xiàn)

    該項目是實現(xiàn)經典的街機游戲——彈球機。使用DE1-SOC開發(fā)板上的滑動開關,玩家可以設置球的初始速度。
    的頭像 發(fā)表于 04-09 11:30 ?786次閱讀
    街機彈球機的模擬設計實現(xiàn)