在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

pipeline高端玩法—看下FlushNext的用法

Spinal FPGA ? 來源:Spinal FPGA ? 作者:玉騏 ? 2023-10-08 10:13 ? 次閱讀

看完了flush,再看下flushNext的用法

》flushNext

在Stage里,有關flushNext提供的API有:

defflushNext():Unit = flushNext(ConditionalContext.isTrue)

defflushNext(cond : Bool):Unit = internals.request.flushNext += cond

調用flushNext,最終會將flushNext的需求暫存到internals.request.flushNext中。

在Pipeline中,propagateRequirements函數中對于每一級Stage的處理:

varflushNext = stage.internals.request.flushNext.nonEmpty generate orR(stage.internals.request.flushNext)

如果flushNext不為空,則將所有條件或后得到flushNext電路對象。

a884076e-5f4a-11ee-939d-92fbcf53809c.png

在上面的這段描述中,針對驅動當前Stage的Conntection處理,flushNext電路將會被存儲在clFlushNext(l)中。如果flushNext不為空(line:5),可以看到在line7:9行處理時,不管flush是存在,都會創建一個flush電路對象,也就意味著一般情況下flush,flushNext不需要同時使用。

而在line11:14中,以M2S為例,alwasContainsSlaveToken為True,會將flushNext清空。此時在line16:17時,僅會對驅動當前Stage的Stage Master調動flushIt函數,也就意味著flushNext將會向前傳播,前級相當于執行flushIt。

clFlushNext的使用僅在Connection中使用到。還是以M2S為例,其處理邏輯為:

if(flushNext != null&& !flushPreserveInput) s.valid clearWhen(flushNext && s.ready)

在這里,如果flushNext不為空(flushPreserveInput默認為true),s.valid僅會在slave端ready和flushNext同時為高時才會清零。對比flush操作:

if (flush!= null&& !flushPreserveInput) s.valid clearWhen(flush)

也就意味著flushNext存在ready的情況下才具有意義。

》example

結合上面的分析,flushNext與flush的最大區別在于存在ready傳播的情況。這里先給出一個flsuhIt的例子:

wKgZomUiEOWAWKyuAADG-gw3z3U180.jpg

這里是一個三級pipeline,最后一級調用flushIt操作,flushRoot參數傳遞為true。

采用下面的仿真代碼:

wKgaomUiEP-AYapaAACi0NSFcZE779.jpg

我們這里在index==5時將cond拉高一拍,data_out.ready拉低一拍。

仿真波形如下:

a8aa546e-5f4a-11ee-939d-92fbcf53809c.jpg

可以看到,由于這里流水線為3級,在index=5時執行flush數據3,4,5不會從data_out有效輸出。

將flushRoot參數修改為false:

a8b65b2e-5f4a-11ee-939d-92fbcf53809c.jpg

cond為高時data_out.valid仍然為高電平,下一個時鐘周期拉低。雖然此時ready為低電平,這個數據沒有被消耗,但其拉低時間不考慮ready信號的高低電平。

再將上面的代碼換成flushNext:

a8c3aa5e-5f4a-11ee-939d-92fbcf53809c.jpg

可以看到,雖然cond為高,但其仍會堅持將此時已經傳播到stage2的3給穩定傳輸出去,僅有4,5不會被data_out輸出。






審核編輯:劉清

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

    關注

    68

    文章

    19657

    瀏覽量

    232459
  • 仿真器
    +關注

    關注

    14

    文章

    1022

    瀏覽量

    84497
  • Pipeline
    +關注

    關注

    0

    文章

    28

    瀏覽量

    9511

原文標題:pipeline高端玩法(八)—FlushNext

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

收藏 人收藏

    評論

    相關推薦

    總結一下STM32串口的用法

    STM32CubeMX_定時器中斷_PWM前兩節簡單的總結了GPIO, EXTI, TIMER的相關用法, 本節總結一下STM32串口的用法, 依然是原理性的東西不多講, 直接開干.先看下縮寫:...
    發表于 02-10 06:17

    Pipeline ADCs Come of Age

    Pipeline ADCs Come of Age Abstract: In the mid 1970s, a new data converter architecture
    發表于 04-16 16:21 ?1200次閱讀
    <b class='flag-5'>Pipeline</b> ADCs Come of Age

    Pipeline ADCs Come of Age

    and mixed-signal community, called pipeline ADCs. The following article takes the knowledge of advantages and disadvantages of the pipeline
    發表于 04-25 10:22 ?1117次閱讀
    <b class='flag-5'>Pipeline</b> ADCs Come of Age

    流水線模數轉換器的時代-Pipeline ADCs Come

    and mixed-signal community, called pipeline ADCs. The following article takes the knowledge of advantages and disadvantages of the pipeline
    發表于 05-01 10:57 ?1044次閱讀
    流水線模數轉換器的時代-<b class='flag-5'>Pipeline</b> ADCs Come

    狀態機原理及用法

    狀態機原理及用法狀態機原理及用法狀態機原理及用法
    發表于 03-15 15:25 ?0次下載

    如何降低開發門檻助力音視頻創新玩法

    、和華為AI技術專家Eric相聚直播間,深度解析了AV Pipeline Kit的技術要點和應用場景,助力廣大音視頻開發者以更輕松更高效的方式,為用戶提供新玩法,新交互。 緣起:音視頻開發面臨諸多挑戰
    的頭像 發表于 09-28 10:26 ?2040次閱讀

    修改V4L2的Video Pipeline的devicetree

    PetaLinux 能夠根據Vivado的設計,自動生成V4L2的Video Pipeline的devicetree。但是它主要為Xilinx的VCU TRD服務,測試的組合比較少。很多時候,需要根據自己的工程,修改V4L2的Video Pipeline的devicetr
    的頭像 發表于 08-02 08:03 ?2242次閱讀
    修改V4L2的Video <b class='flag-5'>Pipeline</b>的devicetree

    Ping命令的7個基礎用法

    IT行業中ping命令經常被用到,今天整理了一下關于網絡基礎知識中的網絡命令ping命令在項目中是使用頻率最高的,一般我們用的都是它的基本功能,今天和大家來詳細看下Ping命令的7個基礎用法,掌握了秒變大神!
    的頭像 發表于 10-12 09:16 ?4329次閱讀

    SpinalHDL里pipeline的設計思路

    如果你曾看過VexRSICV的設計,對于從事邏輯設計的你會驚訝從未想過邏輯設計還能這么來做。針對VexRSICV所衍生出的pipeline Lib,該系列會對pipeline進行一次梳理。誠如之前一篇博客曾講,這是“勇者的游戲”。
    的頭像 發表于 08-16 15:11 ?1084次閱讀
    SpinalHDL里<b class='flag-5'>pipeline</b>的設計思路

    pipeline高端玩法之Stage里的隱式轉換

    Scala里面的隱式轉換的好處是靈活,壞處就是太靈活。
    的頭像 發表于 08-19 10:45 ?816次閱讀
    <b class='flag-5'>pipeline</b><b class='flag-5'>高端</b><b class='flag-5'>玩法</b>之Stage里的隱式轉換

    Pipeline中throwIt的用法

    字如其名,來看下Pipeline中throwIt的用法,是怎么個丟棄方式。
    的頭像 發表于 10-21 16:24 ?739次閱讀
    <b class='flag-5'>Pipeline</b>中throwIt的<b class='flag-5'>用法</b>

    pipeline高端玩法—優先級介紹

    無論是SystemVerilog還是SpinalHDL,都有Last valid assignment wins的語法特征。如在SpinalHDL-Doc中所描述
    的頭像 發表于 11-04 10:13 ?790次閱讀
    <b class='flag-5'>pipeline</b><b class='flag-5'>高端</b><b class='flag-5'>玩法</b>—優先級介紹

    pipeline高端玩法—haltIt介紹(九)

    看名字,就基本能猜到這個函數的大體功能是流水線暫停。
    的頭像 發表于 11-24 16:57 ?493次閱讀

    什么是pipeline?Go中構建流數據pipeline的技術

    本文介紹了在 Go 中構建流數據pipeline的技術。 處理此類pipeline中的故障很棘手,因為pipeline中的每個階段可能會阻止嘗試向下游發送值,并且下游階段可能不再關心傳入的數據。
    的頭像 發表于 03-11 10:16 ?802次閱讀

    淺析SpinalHDL中Pipeline中的復位定制

    之前有系列文章介紹了SpinalHDL中Pipeline的使用,最近在一個功能模塊中真實的使用了這個lib。
    的頭像 發表于 03-17 17:31 ?1241次閱讀
    淺析SpinalHDL中<b class='flag-5'>Pipeline</b>中的復位定制
    主站蜘蛛池模板: 宅男噜噜噜66 | 456性欧美欧美在线视频 | 天堂bt种子资源地址在线 | 免费一级大毛片a一观看不卡 | 欧美一区二区三区免费 | 亚洲成人网在线观看 | 国产美女视频爽爽爽 | 特级毛片aaaa免费观看 | 国产精品区在线12p 国产精品任我爽爆在线播放6080 | 男女在线免费视频 | 理论片午午伦夜理片影院99 | www.碰| 日韩二级 | 好紧好爽水真多18 | 久久久久久人精品免费费看 | 伊人手机在线观看 | 天堂影院jav成人天堂免费观看 | 四虎精品影院永久在线播放 | 岛国毛片 | 午夜久久精品 | 特级毛片女人18毛片 | 免费在线不卡视频 | 免费看逼网站 | 萌白酱一线天粉嫩喷水在线观看 | 五月婷婷综合在线 | 成人午夜毛片 | 狠狠躁夜夜躁人人爽天天天天 | 天天操精品 | 91午夜在线观看 | 日韩欧免费一区二区三区 | 种子天堂bt磁力在线资源 | 午夜一级免费视频 | 亚洲大成色www永久网址 | 日本大片黄色 | 免费观看黄色网 | 一级特黄aa大片免费播放视频 | 精品一区二区国语对白 | 日韩三级在线观看视频 | 欧美日韩生活片 | 午夜免费看片 | 国产午夜人做人视频羞羞 |