<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

探索Vivado HLS設計流,Vivado HLS高層次綜合設計

電子設計 ? 來源:csdn ? 作者:Mculover666 ? 2020-12-21 16:27 ? 次閱讀

作者:Mculover666

1.實驗目的
通過例程探索Vivado HLS設計流

  • 用圖形用戶界面和TCL腳本兩種方式創建Vivado HLS項目
  • 用各種HLS指令綜合接口
  • 優化Vivado HLS設計來滿足各種約束
  • 用不用的指令來探索多個HLS解決方案

2.實驗內容
實驗中文件中包含一個矩陣乘法器的實現,實現兩個矩陣inA和inB相乘得出結果,并且提供了一個包含了計算結果的testbench文件來與所得結果進行對比驗證。

3.實驗步驟
3.1.在Vivado HLS GUI界面中創建項目
3.1.1.啟動Vivado HLS 2018.1

3.1.2.創建一個新的工程


添加提前創建好的源文件進來,因為我們探索的是設計流而不是編程

添加提前創建好的測試文件進來:

o4YBAF9uG1yAVAdRAACEd52I2-U679.png

對于具體的FPGA進行解決方案配置,如圖所示:

pIYBAF9uG16ADFyKAAEIqpr1vRI119.png


工程創建完成,綜合界面如圖所示:

3.2.在Vivado HLS 命令行中快速創建項目
在3.1節中采用GUI界面完成了創建工程的工作,這個工程命名和添加文件創建工程的工作可以由一個TCL腳本完成,可以大幅提高我們的效率~

3.2.1.打開Vivado HLS 命令行界面


3.2.2.編寫創建工程TCL腳本
新建一個文件run_hls_pynq.tcl,然后編寫以下工程配置:
# 創建工程
open_project -reset matrix_mult_prj

# 添加源文件和測試文件
add_files matrix_mult.cpp
add_files matrix_mult.h
add_files -tb matrix_mult_test.cpp

# 設置工程頂層
set_top matrix_mult

# 創建解決方案
open_solution -reset solution1

# 選擇具體的FPGA芯片配置
set_part {xc7z010clg400-1}
create_clock -period 5

# 模擬C代碼
csim_design

exit

3.2.3.在Vivado HLS命令行運行TCL腳本
在剛剛打開的Vivado HLS命令行界面中輸入cd ,然后輸入目錄所在盤符,進入目錄后使用命令vivado_hls -f run_hls_pynq.tcl即可運行腳本,完整過程如圖所示:

這樣一個工程就創建好了;

3.2.4.在Vivado HLS命令行打開創建的工程
使用命令vivado_hls -p matrix_mult_prj即可在GUI界面打開工程,如圖:


3.3.Vidavo HLS中的設計優化
3.3.1.文件作用c

  • matrix_mult.cpp 包含了迭代計算矩陣乘法的代碼
  • matrix_mult.h 包含了宏定義和函數聲明
  • matrix_mult_test.cpp 測試文件,包含了使用HLS硬件解決方案計算和軟件計算的結果,并計算驗證

3.3.2.運行C仿真
點擊Run C Simulation按鈕,然后不用選擇,直接下一步,可以看到控制臺輸出:


o4YBAF9uG3SAYxETAAEjf9_iBw0327.png

3.3.2.使用HLS綜合C++代碼
點擊C Synthesis按鈕,Vivado HLS會開始綜合C++代碼,綜合完成后會自動打開綜合報告,其中詳細的描述了設計的時序以及FPGA資源占用估算等:

o4YBAF9uG3WAZYnAAADVlQ88W00053.png

3.3.3.C/RTL共同協作
點擊Run C/RTL Cosimulation按鈕,選擇生成verilog語言文件,設計完成后會自動彈出結果,如圖所示:


3.3.4.新建一個解決方案進行對比
點擊New Solution按鈕新建一個解決方案:

然后打開matrix_mult.cpp文件,選擇右邊的directive視圖,右擊Product,選擇Inser Directive,然后選擇PIPELINE,確定之后運行C綜合來綜合出RTL設計,完成后同樣會彈出設計信息

然后可以將報告與之前solution1的報告進行對比,

3.3.5.分析
進入Analysis視圖:

3.3.6.新建一個流水線解決方案

3.3.7.解決方案對比



o4YBAF9uG4GAPdJzAADqE2DLLgI643.png

3.4.接口綜合
3.4.1.TCL腳本新建工程
在F:/SOC/PYNQ-Z2/HLSproject/hls/tut3C文件夾,使用命令:
vivado_hls -f run_hls_pynq.tcl

3.4.2.打開工程
vivado_hls -p matrix_mult_prj

3.4.3.C Synthesis

pIYBAF9uG4OAGHaBAACgyjbGK0U079.png

編輯:hfy

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

    關注

    18

    文章

    791

    瀏覽量

    65388
收藏 人收藏

    評論

    相關推薦

    Vivado 高層次綜合

    感謝你對Vivado HLS也就是XILINX’s 高層次綜合解決方案有興趣,這個解決方案綜合c,c++和系統c代碼成Verilog和VHD
    發表于 04-25 08:59 ?2672次閱讀

    來自vivado hls的RTL可以由Design Compiler進行綜合嗎?

    您好我有一個關于vivado hls的問題。RTL是否來自xivix FPGA的vivado hls onyl?我們可以在Design Compiler上使用它進行
    發表于 04-13 09:12

    高層次綜合工作的基本流程

      下圖揭示了高層次綜合工作的基本流程,以及它于傳統的RTL綜合流程的對比。接下來將對行為描述,行為綜合,分析與優化三個主要子流程詳細描述?!   ?、行為描述  當我們把
    發表于 01-06 17:52

    vivado高層次綜合HLS定義及挑戰

    HLS高階綜合(highlevelsynthesis)在被廣泛使用之前,作為商業技術其實已經存在了20多年。設計團隊對于這項技術可以說呈現出兩極化的態度:要么堅信它是先進技術之翹楚,要么對其持謹慎
    發表于 07-06 08:00

    Vivado HLS設計的相關資料分享

    1.實驗目的通過例程探索Vivado HLS設計流用圖形用戶界面和TCL腳本兩種方式創建Vivado HLS項目用各種
    發表于 11-11 07:09

    FPGA高層次綜合HLS之Vitis HLS知識庫簡析

    1、HLS最全知識庫介紹高層次綜合(High-level Synthesis)簡稱HLS,指的是將高層次語言描述的邏輯結構,自動轉換成低抽象
    發表于 09-07 15:21

    使用Vitis HLS創建屬于自己的IP相關資料分享

    1、使用Vitis HLS創建屬于自己的IP高層次綜合(High-level Synthesis)簡稱HLS,指的是將高層次語言描述的邏輯結
    發表于 09-09 16:45

    使用Vivado高層次綜合 (HLS)進行FPGA設計的簡介

    Introduction to FPGA Design with Vivado High-Level Synthesis,使用 Vivado 高層次綜合 (
    發表于 01-06 11:32 ?65次下載

    Vivado Hls 設計分析(二)

    在使用高層次綜合,創造高質量的RTL設計時,一個重要部分就是對C代碼進行優化。Vivado Hls總是試圖最小化loop和function的latency,為了實現這一點,它在loop
    發表于 11-16 14:44 ?3444次閱讀

    用Xilinx Vivado HLS可以快速、高效地實現QRD矩陣分解

    使用Xilinx Vivado HLSVivado 高層次綜合)工具實現浮點復數QRD矩陣分解并提升開發效率。使用VivadoHLS可以快
    發表于 11-17 17:47 ?3428次閱讀
    用Xilinx <b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>可以快速、高效地實現QRD矩陣分解

    關于賽靈思高層次綜合工具加速FPGA設計的介紹和分享

    Vivado HLS配合C語言等高級語言能幫助您在FPGA上快速實現算法。 高層次綜合HLS)是指自動
    發表于 10-06 10:44 ?1232次閱讀
    關于賽靈思<b class='flag-5'>高層次</b><b class='flag-5'>綜合</b>工具加速FPGA設計的介紹和分享

    基于Vivado高層次綜合工具評估IQ數據的無線電設備接口壓縮算法設計

    我們使用 Vivado ?Design Suite 的高層次綜合HLS) 工具來評估針對 E-UTRA I/Q 數據的開放無線電設備接口 (ORI) 標準壓縮方案,以估計其對信號
    發表于 07-24 09:30 ?1981次閱讀
    基于<b class='flag-5'>Vivado</b><b class='flag-5'>高層次</b><b class='flag-5'>綜合</b>工具評估IQ數據的無線電設備接口壓縮算法設計

    PYNQ上手筆記 | ⑤采用Vivado HLS進行高層次綜合設計

    1.實驗目的通過例程探索Vivado HLS設計流用圖形用戶界面和TCL腳本兩種方式創建Vivado HLS項目用各種
    發表于 11-06 09:20 ?6次下載
    PYNQ上手筆記 | ⑤采用<b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>進行<b class='flag-5'>高層次</b><b class='flag-5'>綜合</b>設計

    VIVADO HLS設計移植到CATAPULT HLS平臺

    電子發燒友網站提供《將VIVADO HLS設計移植到CATAPULT HLS平臺.pdf》資料免費下載
    發表于 09-13 09:12 ?2次下載
    將<b class='flag-5'>VIVADO</b> <b class='flag-5'>HLS</b>設計移植到CATAPULT <b class='flag-5'>HLS</b>平臺

    使用Vivado高層次綜合(HLS)進行FPGA設計的簡介

    電子發燒友網站提供《使用Vivado高層次綜合(HLS)進行FPGA設計的簡介.pdf》資料免費下載
    發表于 11-16 09:33 ?0次下載
    使用<b class='flag-5'>Vivado</b><b class='flag-5'>高層次</b><b class='flag-5'>綜合</b>(<b class='flag-5'>HLS</b>)進行FPGA設計的簡介
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>