色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

關(guān)于pipeline 以及 unroll 指令的介紹

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-02-09 09:53 ? 次閱讀

本文轉(zhuǎn)載自: XILINX開(kāi)發(fā)者社區(qū)微信公眾號(hào)

HLS 優(yōu)化設(shè)計(jì)的最關(guān)鍵指令有兩個(gè):一個(gè)是流水線 (pipeline) 指令,一個(gè)是數(shù)據(jù)流(dataflow) 指令。正確地使用好這兩個(gè)指令能夠增強(qiáng)算法地并行性,提升吞吐量,降低延遲但是需要遵循一定的代碼風(fēng)格。展開(kāi) (unroll) 指令是只針對(duì) for 循環(huán)的展開(kāi)指令,和流水線指令關(guān)系密切,所以我們放在一起首先我們來(lái)看一下這三個(gè)指令在 Xilinx 官方指南中的定義:

Unroll: Unroll for-loops to create multiple instances of the loop body and its instructions that can then be scheduled independently.

Pipeline:Reduces the initiation interval by allowing the overlapped execution of operations within a loop or function.

Dataflow:Enables task level pipelining, allowing functions and loops to execute concurrently. Used to optimize through output and/or latency.

Unroll 指令在 for 循環(huán)的代碼區(qū)域進(jìn)行優(yōu)化,這個(gè)指令不包含流水線執(zhí)行的概念,單純地將循環(huán)體展開(kāi)使用更多地硬件資源實(shí)現(xiàn),保證并行循環(huán)體在調(diào)度地過(guò)程中是彼此獨(dú)立的。

Pipeline 指令在循環(huán)和函數(shù)兩個(gè)層級(jí)都可以使用,通過(guò)增加重復(fù)的操作指令(如增加資源使用量等等)來(lái)減小初始化間隔。

Dataflow 指令是一個(gè)任務(wù)級(jí)別的流水線指令,從更高的任務(wù)層次使得循環(huán)或函數(shù)可以并行執(zhí)行,目的在于減小延遲增加吞吐量。

Unroll 和 Pipeline 指令相互重合的關(guān)系在于,當(dāng)對(duì)函數(shù)進(jìn)行流水線處理時(shí),以下層次結(jié)構(gòu)中的所有循環(huán)都會(huì)自動(dòng)展開(kāi),而使用展開(kāi)指令的循環(huán)并沒(méi)有給定對(duì)II的約束。在最新版本的 Vitis HLS 工具中,工具會(huì)自動(dòng)分析數(shù)據(jù)之間的流水線操作關(guān)系,以II=1為目標(biāo)優(yōu)化,但是還是會(huì)受限于設(shè)計(jì)本身的算法和代碼風(fēng)格。下圖非常清晰地闡明了Unroll 和 Pipeline 指令的關(guān)系,Pipeline 指令放置的循環(huán)層次越高,循環(huán)展開(kāi)的層次也越高,最終會(huì)導(dǎo)致使用更大面積的資源去實(shí)現(xiàn),同時(shí)并行性也更高。

pIYBAGAJe8GAUqsaAAOfRydUAUE307.png

這里如果循環(huán)的邊界是變量的話,則無(wú)法展開(kāi)。這將組織函數(shù)被流水線化,可以通過(guò)添加tripcount 等指令,指定循環(huán)在綜合時(shí)大概的最大最小邊界。

在循環(huán)流水線優(yōu)化的過(guò)程中,有一個(gè)完美循環(huán),半完美循環(huán)和非完美循環(huán)的代碼風(fēng)格概念,只有當(dāng)流水線循環(huán)完美或半完美時(shí),才可以將嵌套循環(huán)徹底并行展開(kāi)。

完美循環(huán):只有最里面的循環(huán)才具有主體內(nèi)容,在循環(huán)語(yǔ)句之間沒(méi)有指定邏輯,循環(huán)界限是恒定的。

半完美循環(huán):只有最里面的循環(huán)才具有主體 (內(nèi)容), 在循環(huán)語(yǔ)句之間沒(méi)有指定邏輯,只有最外面的循環(huán)邊界可以是可變的。

非完美循環(huán):循環(huán)的主體內(nèi)容分布在循環(huán)的各個(gè)層次或內(nèi)層循環(huán)的邊界是變量。

pIYBAGAJfAOAJQTrAAO0fO_yjLU263.png

當(dāng)我們要爭(zhēng)去最大流水線循環(huán)的成功執(zhí)行,就需要將非完美循環(huán)手動(dòng)修改成完美或半完美循環(huán)。 以下代碼例子給出了完美循環(huán)(左邊)和非完美循環(huán)(右邊)在Vitis HLS 中的執(zhí)行結(jié)果。

o4YBAGAJfEGAEP37AABWikWhzdc769.png

o4YBAGAJfIGAGbXPAAKaN1p2Ycs520.png

綜合完畢后,我們可以在分析窗口和綜合報(bào)告中都很清晰的看出,完美循環(huán)在執(zhí)行的時(shí)候,工具自動(dòng)將內(nèi)層循環(huán)LOOP_J和外層循環(huán)LOOP_I合并為一整個(gè)大循環(huán),并實(shí)現(xiàn)了整個(gè)大循環(huán)的流水線操作,延遲的周期數(shù)為: (400-1) *1+8-1 =406個(gè)周期數(shù),延遲大約為 408*2.5 = 1,020 ns

非完美循環(huán)中,內(nèi)層和外層循環(huán)沒(méi)有合并,只有內(nèi)層循環(huán)LOOP_J 實(shí)現(xiàn)了流水線執(zhí)行,進(jìn)出內(nèi)循環(huán)的浪費(fèi)的時(shí)鐘周期增加了整個(gè)循環(huán)的時(shí)鐘周期,同時(shí)還有一些命令行沒(méi)有辦法跨越循環(huán)的層級(jí)實(shí)現(xiàn)調(diào)度上的優(yōu)化,這些因素都導(dǎo)致了設(shè)計(jì)的延遲的增加。

本文關(guān)于pipeline 以及 unroll 指令的介紹到此結(jié)束,下篇文章我們將著重介紹 daraflow 指令。

審核編輯:何安

聲明:本文內(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)注

    1

    文章

    608

    瀏覽量

    35754
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    plc基本指令的應(yīng)用有哪些

    控制、數(shù)據(jù)類型轉(zhuǎn)換、算術(shù)運(yùn)算、比較操作、程序控制以及基本的輸入輸出操作等多個(gè)方面。 一、邏輯運(yùn)算指令 邏輯運(yùn)算指令是PLC編程中最常用的指令之一,它們用于實(shí)現(xiàn)基本的邏輯運(yùn)算功能,包括邏
    的頭像 發(fā)表于 10-21 17:16 ?953次閱讀

    微處理器的指令集架構(gòu)介紹

    微處理器的指令集架構(gòu)(Instruction Set Architecture,ISA)是計(jì)算機(jī)體系結(jié)構(gòu)中至關(guān)重要的部分,它定義了微處理器能夠執(zhí)行的操作和指令的集合,以及這些指令如何被
    的頭像 發(fā)表于 08-22 10:53 ?1356次閱讀

    lyrat-mini-v1.2使用例程pipeline_wav_amr_sdcard錄音沒(méi)有聲音怎么解決?

    lyrat-mini-v1.2使用例程pipeline_wav_amr_sdcard錄音沒(méi)有聲音,SD卡中有文件,但是沒(méi)有聲音怎么解決啊
    發(fā)表于 06-28 06:43

    三菱plc累加指令怎么用

    中,累加指令通常使用ADD指令來(lái)實(shí)現(xiàn)。以下是關(guān)于三菱PLC累加指令的詳細(xì)介紹。 累加指令的基本概
    的頭像 發(fā)表于 06-20 11:34 ?3827次閱讀

    三菱plc trd指令詳解介紹

    為“Transfer Data”。本文將詳細(xì)介紹TRD指令的基本概念、語(yǔ)法結(jié)構(gòu)、功能特點(diǎn)以及應(yīng)用實(shí)例。 一、TRD指令的基本概念 1.1 TRD指令
    的頭像 發(fā)表于 06-20 11:29 ?3309次閱讀

    三菱PLC指令ZRST和RST的區(qū)別

    指令,它們都與復(fù)位操作有關(guān),但具體的功能和應(yīng)用場(chǎng)景有所不同。本文將詳細(xì)介紹ZRST和RST指令的區(qū)別,以及它們?cè)趯?shí)際應(yīng)用中的使用方法。 一、ZRST
    的頭像 發(fā)表于 06-20 10:48 ?6610次閱讀

    西門子S7-1200 PLC的指令介紹

    了最新的技術(shù),為用戶提供了更為高效、靈活的控制方案。本文將詳細(xì)介紹S7-1200 PLC的指令系統(tǒng),包括其指令分類、具體指令功能以及在實(shí)際應(yīng)
    的頭像 發(fā)表于 06-18 14:52 ?2947次閱讀

    三菱PLC數(shù)據(jù)傳送指令介紹

    等功能的基礎(chǔ)。本文將詳細(xì)介紹三菱PLC的數(shù)據(jù)傳送指令,包括其功能、格式、應(yīng)用示例及注意事項(xiàng)等方面,以幫助讀者更好地掌握其使用方法。
    的頭像 發(fā)表于 06-18 09:53 ?3956次閱讀

    plc控制伺服電機(jī)的指令有哪些

    PLC(可編程邏輯控制器)是一種廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域的控制設(shè)備。伺服電機(jī)作為執(zhí)行元件,可以通過(guò)PLC進(jìn)行精確控制。以下是關(guān)于PLC控制伺服電機(jī)的指令的詳細(xì)介紹。 概述 PLC控制伺服電機(jī)
    的頭像 發(fā)表于 06-12 11:39 ?2505次閱讀

    部分TIA集成指令處理的方法介紹

    對(duì)于優(yōu)化的DB塊,可使用FILL_BLK指令或創(chuàng)建相同的UDT結(jié)構(gòu)類型的DB塊,使用MOVE指令清零DB塊數(shù)據(jù)。
    發(fā)表于 04-15 09:34 ?1266次閱讀
    部分TIA集成<b class='flag-5'>指令</b>處理的方法<b class='flag-5'>介紹</b>

    藍(lán)牙雙模音頻模塊支持串口AT指令控制介紹

    藍(lán)牙音頻模塊支持串口AT指令控制介紹,這里推薦BT401藍(lán)牙模塊,功能簡(jiǎn)介如下: BT401模塊是一款支持藍(lán)牙、U盤、TF卡播放的5合1的解決方案。模組的亮點(diǎn)在支持無(wú)損音樂(lè)的播放,以及簡(jiǎn)單明了的串口控制功能,支持BLE透?jìng)鳎?/div>
    的頭像 發(fā)表于 03-28 11:27 ?778次閱讀
    藍(lán)牙雙模音頻模塊支持串口AT<b class='flag-5'>指令</b>控制<b class='flag-5'>介紹</b>

    淺析SpinalHDL中Pipeline中的復(fù)位定制

    之前有系列文章介紹了SpinalHDL中Pipeline的使用,最近在一個(gè)功能模塊中真實(shí)的使用了這個(gè)lib。
    的頭像 發(fā)表于 03-17 17:31 ?1063次閱讀
    淺析SpinalHDL中<b class='flag-5'>Pipeline</b>中的復(fù)位定制

    什么是pipeline?Go中構(gòu)建流數(shù)據(jù)pipeline的技術(shù)

    本文介紹了在 Go 中構(gòu)建流數(shù)據(jù)pipeline的技術(shù)。 處理此類pipeline中的故障很棘手,因?yàn)?b class='flag-5'>pipeline中的每個(gè)階段可能會(huì)阻止嘗試向下游發(fā)送值,并且下游階段可能不再關(guān)心傳
    的頭像 發(fā)表于 03-11 10:16 ?631次閱讀

    【RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】RV64指令集設(shè)計(jì)的思考以及與流水線設(shè)計(jì)的邏輯

    RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道, 是一本全面介紹RISC-V指令集架構(gòu)設(shè)計(jì)、優(yōu)化和實(shí)現(xiàn)的書籍。 書中詳細(xì)介紹了RISC-V指令集體系結(jié)構(gòu),包括指令
    發(fā)表于 01-29 10:09

    三菱plc基本指令介紹

    PLS(上升沿微分指令) 在輸入信號(hào)上升沿產(chǎn)生一個(gè)掃描周期的脈沖輸出 (2)PLF(下降沿微分指令) 在輸入信號(hào)下降沿產(chǎn)生一個(gè)掃描周期的脈沖輸出。
    發(fā)表于 01-23 09:38 ?1647次閱讀
    三菱plc基本<b class='flag-5'>指令</b><b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 先锋影音 av| 日韩精品真人荷官无码| 暖暖 免费 高清 日本 在线| 一个人的视频全免费在线观看www 一个人的免费完整在线观看HD | 老版香蕉版下载| 野花4在线观看| 久爱精品亚洲电影午夜| 亚洲幼女网| 久久人人玩人妻潮喷内射人人 | 日本亚洲精品色婷婷在线影院| av天堂影音先锋在线| 年轻夫妇韩剧中文版免费观看 | 日韩精品人成在线播放| 俄罗斯性xxxx| 同房交换4p好爽| 国产特级毛片AAAAAAA高清| 午夜在线观看免费观看 视频| 国产精一品亚洲二区在线播放| 我强进了老师身体在线观看| 国产精品搬运| 亚洲日韩乱码人人爽人人澡人| 娇小8一12xxxx第一次| 在线观看a视频| 欧美成人一区二免费视频| 超碰在线视频公开| 窝窝影院午夜看片毛片| 国语大学生自产拍在线观看| 一本道高清码| 女人张腿让男人桶免费| 高干紧射H后入| 亚洲不卡视频在线观看| 久久免费视频1| beeg日本老妇人| 四虎国产精品免费观看视频| 国外色幼网| 99久久精品免费看国产一区二区| 飘雪在线观看免费高清完整版韩国 | a级精品九九九大片免费看| 日本熟妇乱妇熟色A片蜜桃亚洲| 国产精品久久久久久人妻精品流 | 伦理片2499电影伦理片|