RM新时代网站-首页

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

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

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

探索Vivado HLS設(shè)計流,Vivado HLS高層次綜合設(shè)計

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

作者:Mculover666

1.實驗?zāi)康?br /> 通過例程探索Vivado HLS設(shè)計流

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

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

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

3.1.2.創(chuàng)建一個新的工程


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

添加提前創(chuàng)建好的測試文件進來:

o4YBAF9uG1yAVAdRAACEd52I2-U679.png

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

pIYBAF9uG16ADFyKAAEIqpr1vRI119.png


工程創(chuàng)建完成,綜合界面如圖所示:

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

3.2.1.打開Vivado HLS 命令行界面


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

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

# 設(shè)置工程頂層
set_top matrix_mult

# 創(chuàng)建解決方案
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即可運行腳本,完整過程如圖所示:

這樣一個工程就創(chuàng)建好了;

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


3.3.Vidavo HLS中的設(shè)計優(yōu)化
3.3.1.文件作用c

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

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


o4YBAF9uG3SAYxETAAEjf9_iBw0327.png

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

o4YBAF9uG3WAZYnAAADVlQ88W00053.png

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


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

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

然后可以將報告與之前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

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

    關(guān)注

    19

    文章

    812

    瀏覽量

    66470
收藏 人收藏

    評論

    相關(guān)推薦

    Vivado 高層次綜合

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

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

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

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

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

    vivado高層次綜合HLS定義及挑戰(zhàn)

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

    Vivado HLS設(shè)計的相關(guān)資料分享

    1.實驗?zāi)康耐ㄟ^例程探索Vivado HLS設(shè)計流用圖形用戶界面和TCL腳本兩種方式創(chuàng)建Vivado HLS項目用各種
    發(fā)表于 11-11 07:09

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

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

    使用Vitis HLS創(chuàng)建屬于自己的IP相關(guān)資料分享

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

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

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

    Hackaday讀者有話說:Vivado HLS使用經(jīng)驗分享

    ,Xilinx Vivado HLS是一個高級綜合工具,能夠?qū)語言轉(zhuǎn)換成硬件描述語言(HDL),也就是說我們可以用C語言來實現(xiàn)HDL模塊編程了。 圖1 Vivado
    發(fā)表于 02-08 20:01 ?659次閱讀
    Hackaday讀者有話說:<b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>使用經(jīng)驗分享

    Vivado Hls 設(shè)計分析(二)

    在使用高層次綜合,創(chuàng)造高質(zhì)量的RTL設(shè)計時,一個重要部分就是對C代碼進行優(yōu)化。Vivado Hls總是試圖最小化loop和function的latency,為了實現(xiàn)這一點,它在loop
    發(fā)表于 11-16 14:44 ?3671次閱讀

    使用Vivado高層次綜合工具高效評估和實現(xiàn)所選壓縮算法

    ,有助于應(yīng)對這種挑戰(zhàn)。 我們使用 Vivado? Design Suite 的高層次綜合 (HLS) 工具來評估針對 E-UTRA I/Q 數(shù)據(jù)的開放無線電設(shè)備接口 (ORI) 標準壓
    發(fā)表于 11-16 20:05 ?2182次閱讀
    使用<b class='flag-5'>Vivado</b><b class='flag-5'>高層次</b><b class='flag-5'>綜合</b>工具高效評估和實現(xiàn)所選壓縮算法

    關(guān)于賽靈思高層次綜合工具加速FPGA設(shè)計的介紹和分享

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

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

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

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

    1.實驗?zāi)康耐ㄟ^例程探索Vivado HLS設(shè)計流用圖形用戶界面和TCL腳本兩種方式創(chuàng)建Vivado HLS項目用各種
    發(fā)表于 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>設(shè)計

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

    電子發(fā)燒友網(wǎng)站提供《使用Vivado高層次綜合(HLS)進行FPGA設(shè)計的簡介.pdf》資料免費下載
    發(fā)表于 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設(shè)計的簡介
    RM新时代网站-首页