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

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

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

極客對(duì)Xilinx Vivado HLS工具使用經(jīng)驗(yàn)和心得

Xilinx賽靈思官微 ? 來(lái)源:djl ? 作者:賽靈思 ? 2019-07-30 17:04 ? 次閱讀

眾所周知 Hackaday.com 網(wǎng)站上聚集著眾多極客(Geeker),他們打破傳統(tǒng),標(biāo)新立異,敢于嘗試新的東西,今天這篇文章搜集了這些極客對(duì)Xilinx Vivado HLS工具使用經(jīng)驗(yàn)和心得。

Xilinx Vivado HLS是一個(gè)高級(jí)綜合工具,能夠?qū)?C 語(yǔ)言轉(zhuǎn)換成硬件描述語(yǔ)言(HDL),也就是說(shuō)我們可以用 C 語(yǔ)言來(lái)實(shí)現(xiàn) HDL 模塊編程了。


圖1 Vivado HLS工作流程

第一位 Hacker是來(lái)自新西蘭的 Mike Field,他是一個(gè)硬件Hacker,還建立了自己的網(wǎng)站( www.hamsterworks.com ),他詳細(xì)總結(jié)了Vivado HLS的使用步驟,他認(rèn)為這個(gè)很有趣,值得每個(gè)人去嘗試,Vivado HLS是一個(gè)IDE開(kāi)發(fā)環(huán)境,開(kāi)發(fā)人員編寫C工程代碼,測(cè)試代碼,然后利用HLS轉(zhuǎn)換為HDL硬件語(yǔ)言邏輯。


圖2 Xilinx贈(zèng)送給Mike Field的MicroZed開(kāi)發(fā)套件

Tips技巧 作者總結(jié)如下:

1. HLS工具會(huì)將C語(yǔ)言代碼轉(zhuǎn)換成偽機(jī)器代碼,都可以用FPGA邏輯(乘,加,遞增等)來(lái)實(shí)現(xiàn)。

2. 循環(huán)操作代碼分析,主要是根據(jù)語(yǔ)法。不能夠被充分執(zhí)行的循環(huán)會(huì)導(dǎo)致吞吐量的瓶頸,如果一個(gè)復(fù)雜的乘運(yùn)算要花費(fèi)30個(gè)周期,并且你要執(zhí)行256次那么延遲時(shí)間就會(huì)介于30和7680周期之間。然而如果你使用原語(yǔ)指令(#pragma HLS_PIPELINE)將其展開(kāi)256次,那么實(shí)現(xiàn)方式就會(huì)變成7680級(jí)流水線,每個(gè)循環(huán)還可以接受新的數(shù)據(jù)。

3. 函數(shù)調(diào)用可能會(huì)引起分離的邏輯實(shí)例,支持子函數(shù)的創(chuàng)建,也可能引起一系列仲裁接口用于訪問(wèn)單個(gè)函數(shù)邏輯實(shí)例。

4. 對(duì)于這些偽機(jī)器代碼如何連接會(huì)生成一個(gè)計(jì)劃時(shí)間表,并且會(huì)充分考慮到期望的性能約束條件(時(shí)鐘速度等)。

5. 然后代碼生成器會(huì)將偽機(jī)器代碼映射為HDL邏輯邏輯代碼(Verilog或VHDL),使用簡(jiǎn)單的流水線接口來(lái)處理參數(shù)和和、返回值。其實(shí)你還可以添加其它語(yǔ)法或者數(shù)據(jù)類型來(lái)構(gòu)造AXI協(xié)議接口的模塊。

6. 最后你就可以將轉(zhuǎn)換后的代碼或者IP核添加到傳統(tǒng)的HDL工程中。

看起來(lái)很簡(jiǎn)單,其實(shí)最重要的是最后我們要進(jìn)行代碼優(yōu)化,排除bug。我們可以定制很多數(shù)據(jù)類型(n位的整數(shù),或者固定精度的整數(shù)等),靈活的使用這些數(shù)據(jù)類型,可以幫助我們精簡(jiǎn)邏輯代碼,提升系統(tǒng)設(shè)計(jì)性能。

第二位 Hacker是 Darren,他直接錄制了一個(gè)說(shuō)明視頻。介紹了如何利用Vivado HLS生成FIR濾波算法的HDL代碼,并將代碼添加到ISE工程中,經(jīng)過(guò)綜合實(shí)現(xiàn)布局布線等操作后生成FPGA配置文件,下載到FPGA開(kāi)發(fā)板中,Darren采用的目標(biāo)板卡是Spartan-3 FPGA。


圖3 基于Vivado HLS生成FIR濾波算法

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

    關(guān)注

    32

    文章

    1794

    瀏覽量

    130964
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2085

    瀏覽量

    73302
  • 極客
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7983
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    作者:Mculover666 1.實(shí)驗(yàn)?zāi)康?通過(guò)例程探索Vivado HLS設(shè)計(jì)流 用圖形用戶界面和TCL腳本兩種方式創(chuàng)建Vivado HLS項(xiàng)目 用各種
    的頭像 發(fā)表于 12-21 16:27 ?3448次閱讀

    熟悉Vivado HLS基本功能要多少時(shí)間?

    您好Xilinx的用戶和員工,我們正在考慮購(gòu)買Zynq 7000用于機(jī)器視覺(jué)任務(wù)。我們沒(méi)有編程FPGA的經(jīng)驗(yàn),并希望使用Vivado HLS來(lái)指導(dǎo)和加速我們的工作。關(guān)于這種方法的一些問(wèn)
    發(fā)表于 03-25 09:04

    Vivado HLS許可證問(wèn)題如何解決

    我在Vivado HLS中有以下錯(cuò)誤的合成。我試圖更新許可證文件但沒(méi)有成功。請(qǐng)給我一個(gè)建議。@E [HLS-72]許可證簽出不成功。確??梢栽L問(wèn)許可證或通過(guò)環(huán)境變量指定適當(dāng)?shù)脑S可證。 執(zhí)行
    發(fā)表于 05-20 09:13

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

    1.實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)例程探索Vivado HLS設(shè)計(jì)流用圖形用戶界面和TCL腳本兩種方式創(chuàng)建Vivado HLS項(xiàng)目用各種HLS指令綜合接口優(yōu)化
    發(fā)表于 11-11 07:09

    嵌入式硬件開(kāi)發(fā)學(xué)習(xí)教程——Xilinx Vivado HLS案例 (流程說(shuō)明)

    SDK 2017.4。Xilinx Vivado HLS(High-Level Synthesis,高層次綜合)工具支持將C、C++等語(yǔ)言轉(zhuǎn)化成硬件描述語(yǔ)言,同時(shí)支持基于OpenCL
    發(fā)表于 11-11 09:38

    Vivado環(huán)境下如何在IP Integrator中正確使用HLS IP

    testbench來(lái)驗(yàn)證設(shè)計(jì)。 Integrate帶有Xilinx IP Block的 HLS IP 這里展示了在IP Integrator中,如何將兩個(gè)HLS IP blocks跟Xili
    發(fā)表于 02-07 17:59 ?4329次閱讀
    <b class='flag-5'>Vivado</b>環(huán)境下如何在IP Integrator中正確使用<b class='flag-5'>HLS</b> IP

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

    眾所周知 Hackaday.com 網(wǎng)站上聚集著眾多極(Geeker),他們打破傳統(tǒng),標(biāo)新立異,敢于嘗試新的東西,今天這篇文章搜集了這些對(duì)Xilinx
    發(fā)表于 02-08 20:01 ?612次閱讀
    Hackaday讀者有話說(shuō):<b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>使用<b class='flag-5'>經(jīng)驗(yàn)</b>分享

    Xilinx Vivado HLS可以快速、高效地實(shí)現(xiàn)QRD矩陣分解

    使用Xilinx Vivado HLSVivado 高層次綜合)工具實(shí)現(xiàn)浮點(diǎn)復(fù)數(shù)QRD矩陣分解并提升開(kāi)發(fā)效率。使用VivadoHLS可以快
    發(fā)表于 11-17 17:47 ?3616次閱讀
    用<b class='flag-5'>Xilinx</b> <b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>可以快速、高效地實(shí)現(xiàn)QRD矩陣分解

    介紹使用Vivado HLS時(shí)的幾個(gè)誤區(qū)

    在實(shí)際工程中,如何利用好這一工具仍值得考究。本文將介紹使用Vivado HLS時(shí)的幾個(gè)誤區(qū)。
    的頭像 發(fā)表于 01-10 14:33 ?2w次閱讀
    介紹使用<b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>時(shí)的幾個(gè)誤區(qū)

    TCL腳本簡(jiǎn)介 vivado hls 的設(shè)計(jì)流程

    Vivado HLSXilinx 提供的一個(gè)工具,是 Vivado Design Suite 的一部分,能把基于 C 的設(shè)計(jì) (C、C
    發(fā)表于 06-05 10:31 ?6551次閱讀
    TCL腳本簡(jiǎn)介 <b class='flag-5'>vivado</b> <b class='flag-5'>hls</b> 的設(shè)計(jì)流程

    FPGA設(shè)計(jì)中的HLS 工具應(yīng)用

    在集成電路行業(yè)飛速發(fā)展的今天,縮短產(chǎn)品開(kāi)發(fā)的周期而又不犧牲驗(yàn)證過(guò)程,這不可避免地成為了商業(yè)市場(chǎng)的一個(gè)關(guān)鍵因素。Xilinx Vivado High Level Synthesis (即Vivado
    發(fā)表于 06-04 01:43 ?7326次閱讀
    FPGA設(shè)計(jì)中的<b class='flag-5'>HLS</b> <b class='flag-5'>工具</b>應(yīng)用

    XIlinx利用HLS進(jìn)行加速設(shè)計(jì)進(jìn)度

    接著開(kāi)始正文。據(jù)觀察,HLS的發(fā)展呈現(xiàn)愈演愈烈的趨勢(shì),隨著Xilinx Vivado HLS的推出,intel也快馬加鞭的推出了其HLS
    的頭像 發(fā)表于 07-31 09:45 ?6555次閱讀
    <b class='flag-5'>XIlinx</b>利用<b class='flag-5'>HLS</b>進(jìn)行加速設(shè)計(jì)進(jìn)度

    Vitis HLS知識(shí)庫(kù)總結(jié)

    對(duì)于AMD Xilinx而言,Vivado 2019.1之前(包括),HLS工具Vivado HLS
    的頭像 發(fā)表于 09-02 09:06 ?3257次閱讀

    HLS最全知識(shí)庫(kù)

    對(duì)于AMD Xilinx而言,Vivado 2019.1之前(包括),HLS工具Vivado HLS
    的頭像 發(fā)表于 01-15 11:27 ?2312次閱讀

    VIVADO HLS設(shè)計(jì)移植到CATAPULT HLS平臺(tái)

    電子發(fā)燒友網(wǎng)站提供《將VIVADO HLS設(shè)計(jì)移植到CATAPULT HLS平臺(tái).pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:12 ?2次下載
    將<b class='flag-5'>VIVADO</b> <b class='flag-5'>HLS</b>設(shè)計(jì)移植到CATAPULT <b class='flag-5'>HLS</b>平臺(tái)