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

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

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

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

扒一扒pipeline中“spawn”的用法

Spinal FPGA ? 來源:Spinal FPGA ? 2023-10-29 09:57 ? 次閱讀

》spawn

在Stage中,關(guān)于spawn,定義了下面的兩個API

defspawnIt()(implicit loc: Location):Unit = spawnIt(ConditionalContext.isTrue)
defspawnIt(cond : Bool)(implicit loc: Location):Unit = internals.request.spawns += nameFromLocation(CombInit(cond), "spawnRequest")

spawn的調(diào)用,最終會把觸發(fā)條件cond存儲至internals.request.spawns中去。

而在Pipeline中,internal.request.spawns僅使用在了Internal Connection中:

//Internal connections
for(s <- stagesSet){
??????s.output.valid := s.input.valid

??????if(s.request.spawns.nonEmpty){
????????when(s.request.spawns.orR){
??????????s.output.valid := True
????????}
??????}

可以看到,對于Stage內(nèi)部,若果spawns非空,則spawns中只要有一個條件成立那么其output.valid即會設(shè)置為True,相當(dāng)于對output.valid進行了擴展多個時鐘周期。

值得注意的是,其僅對valid進行了擴展,而并沒有處理input.ready信號。

看到這里,對于spawnIt的用法諸君應(yīng)該能大體看明白,其就是為了對Stage中的output.valid進行延展。

》example

由于spawnIt并沒有對input.ready進行處理,故如果pipeline中如果有ready信號時使用需謹(jǐn)慎,這里給出一個pipeline中不使用ready的example:

caseclass SpawnTest() extends Component{
val io=newBundle{
val data_in= slave (Flow(UInt(8bits)))
val data_out= master(Flow(UInt(8bits)))
}
noIoPrefix()
val cycle_num=Stageable(UInt(8bits))
val pip=newPipeline{
val stage0=newStage{
importinternals._
input.valid:=io.data_in.valid
cycle_num:=io.data_in.payload
}
val stage1=newStage(Connection.M2S()){}
val stage2=newStage(Connection.M2S()){
io.data_out.valid:=internals.output.valid
val cycle_cnt=Reg(UInt(8bits)) init(0)
when(internals.input.valid){
cycle_cnt:=(cycle_num===1)?cycle_cnt|(cycle_num-1)
io.data_out.payload:=cycle_num
}otherwise{
cycle_cnt:= (cycle_cnt.orR)? (cycle_cnt-1)|cycle_cnt
io.data_out.payload:=cycle_cnt
}
spawnIt(cycle_cnt=/=0)
}
}
pip.build()
}

這個例子中pipeline存在三個Stage,對于data_in,在stage2中會對根據(jù)data_in.payload的值展開相應(yīng)的拍數(shù)(兩個data_in有效數(shù)據(jù)確保有足夠的間隔),示例波形如下:

9ee4cc4c-7567-11ee-939d-92fbcf53809c.jpg

9efa702e-7567-11ee-939d-92fbcf53809c.jpg

9efeebd6-7567-11ee-939d-92fbcf53809c.jpg

可以看到,當(dāng)data_in_payload為1時,data_out_payload輸出一拍,數(shù)據(jù)為1.當(dāng)data_in_payload為2時,data_out_payload輸出兩拍,數(shù)據(jù)分別為2,1.當(dāng)data_in_payload為3時,data_out_payload輸出三拍,數(shù)據(jù)分別為1,2,3.實現(xiàn)data_in.valid的擴展。

附上仿真代碼:

importspinal.core.sim._
object SpawnTestSim extends App{
SimConfig.withFstWave.compile(SpawnTest()).doSim{dut=>
dut.io.data_in.valid#=false
dut.clockDomain.forkStimulus(10)
dut.clockDomain.waitSampling(10)
dut.io.data_in.valid#=true
dut.io.data_in.payload#=1
dut.clockDomain.waitSampling()
dut.io.data_in.valid#=false
for(index<-0?until?10){
??????dut.io.data_in.payload#=index
??????dut.clockDomain.waitSampling()
????}
????dut.io.data_in.valid#=true
????dut.io.data_in.payload#=2
????dut.clockDomain.waitSampling()
????dut.io.data_in.valid#=false
????for(index<-0?until?10){
??????dut.io.data_in.payload#=index
??????dut.clockDomain.waitSampling()
????}
????dut.io.data_in.valid#=true
????dut.io.data_in.payload#=3
????dut.clockDomain.waitSampling()
????dut.io.data_in.valid#=false
????for(index<-0?until?10){
??????dut.io.data_in.payload#=index
??????dut.clockDomain.waitSampling()
????}

??}
}






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

    關(guān)注

    38

    文章

    7484

    瀏覽量

    163765
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1017

    瀏覽量

    83722
  • Pipeline
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    9361

原文標(biāo)題:pipeline高端玩法(十一)—spawnIt

文章出處:【微信號:Spinal FPGA,微信公眾號:Spinal FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    與無線網(wǎng)絡(luò)相關(guān)的那些事

    ,體驗上網(wǎng)帶來的愉悅(ps:天下沒有免費的午餐,認(rèn)證登陸界面的廣告以及商戶提供產(chǎn)品內(nèi)容,也能接受這樣的廣告植入形式)在上菜時,而不是先吃而是拍照片發(fā)微博\微信到朋友圈內(nèi),這也間接的為商戶進行口碑宣傳。你與無線網(wǎng)絡(luò)都有哪些趣
    發(fā)表于 05-27 11:40

    我看過的那些Linux相關(guān)的書籍

    來北京工作已經(jīng)個多月,大都市的生活比起讀大學(xué)要忙碌得多,尤其是出行,基本以小時為基本的計時單位。有時茫然看著窗外車水馬龍,會有些迷茫自己選擇的是對還是錯。  題外話不多說,回歸這次的主題,
    發(fā)表于 07-04 06:39

    渣機產(chǎn)品有哪些參數(shù)

     銑挖機履帶式挖掘裝載機(俗名:渣機)是種連續(xù)生產(chǎn)的高效率出礦設(shè)備,主要用于礦山巖巷、半煤巖巷掘進,也可以用于引水洞、鐵路隧道施工和國防洞窟施工的裝載作業(yè),渣機與我公司生產(chǎn)的煤
    發(fā)表于 09-02 08:00

    C語言hello world背后的內(nèi)幕

    行時,它在內(nèi)存是什么樣子的?程序的執(zhí)行入口為什么是 main 函數(shù)?可執(zhí)行文件的內(nèi)部結(jié)構(gòu)是怎么樣的?閑話少說,讓我們進入正題, hello world 背后的內(nèi)幕。注:本文是在
    發(fā)表于 09-30 10:31

    華為P10這么早被光,目的只有個!懟肛小米6

    按照華為P系列的迭代速度每年新機發(fā)布般都在4月10號左右,并且發(fā)布地般都會選擇歐洲,過去都是在英國,可是現(xiàn)在英國已經(jīng)脫歐了,華為P10會在哪里發(fā)布呢?發(fā)布地不重要,重要的是華為P10近幾天已經(jīng)快讓底褲都給光了。
    發(fā)表于 01-23 14:10 ?1764次閱讀

    美容儀哪個牌子好?來令人眼花繚亂的日本美容儀

    獲得了大眾的喜愛。美容儀哪個牌子好?小編給你日本的美容儀神器品牌。 我們都知道,日本是個科技大國,不管是電器類還是美容儀類,都收獲了世界大批粉絲的追捧,市面上的美容儀品牌多種多樣,價格相差也大,各大美容儀從洗臉到瘦臉
    發(fā)表于 04-16 19:50 ?9852次閱讀
    美容儀哪個牌子好?來<b class='flag-5'>扒</b><b class='flag-5'>一</b><b class='flag-5'>扒</b>令人眼花繚亂的日本美容儀

    好用的日本家用美容儀品牌,讓你享受清潔肌膚的樂趣

    了,很多人都愿意嘗試美容儀帶來的護膚體驗。美容儀真的有用嗎?它的價格相比較于去美容院會劃算很多,但是卻比般的護膚保養(yǎng)品昂貴,是真的物有所值還是商家的噱頭?今天就來日本好用的家用
    發(fā)表于 06-04 21:03 ?854次閱讀

    店saas系統(tǒng)創(chuàng)新性服務(wù)平臺的優(yōu)勢是什么

    也在不斷升級換代,比如目前新代的店智能數(shù)字店鋪系統(tǒng)。 前沿科技讓店鋪數(shù)字化管理趨于精準(zhǔn),店數(shù)字店鋪系統(tǒng)除了常規(guī)的收銀支付等最基本的功能外,結(jié)合當(dāng)前最前沿的人工智能、5G、大數(shù)據(jù)等技術(shù)于
    的頭像 發(fā)表于 10-15 10:14 ?2034次閱讀

    中斷為什么不能調(diào)printf?

    前面說會寫下Modbus-RTU的實現(xiàn),寫了1000多字了,有興趣的稍等下哈。前面在個群里看到個朋友在個串口接收中斷里打印遇到了問
    發(fā)表于 12-04 12:21 ?0次下載
    <b class='flag-5'>扒</b><b class='flag-5'>一</b><b class='flag-5'>扒</b>中斷為什么不能調(diào)printf?

    個超棒的stm32的開源usb-can項目,canable及PCAN固件

    個超棒的stm32的開源usb-can項目,canable及PCAN固件
    發(fā)表于 12-20 18:55 ?36次下載
    <b class='flag-5'>扒</b><b class='flag-5'>一</b>個超棒的stm32的開源usb-can項目,canable及PCAN固件

    PipelinethrowIt的用法

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

    雕銑機、雕刻機和加工中心之間的區(qū)別

    中心、雕銑機、雕刻機,之間有什么區(qū)別?相信這句話很多剛剛加入這個圈的朋友都會問,然后在買機械設(shè)備的時候不太懂,不知道怎么區(qū)分,到底應(yīng)該買什么樣的設(shè)備,才能達到自己的需求,今天小編就為大家他們?nèi)咧g的區(qū)別。
    的頭像 發(fā)表于 01-15 09:48 ?757次閱讀

    晶振頻率漂移的原因

    晶振頻率漂移的原因? 晶振頻率漂移是指晶振器輸出頻率在長時間使用逐漸偏離其標(biāo)稱頻率的現(xiàn)象。晶振頻率漂移是種晶振器的固有性能,其原因
    的頭像 發(fā)表于 01-26 14:20 ?1004次閱讀

    折疊屏手機背后的“黑科技”

    折疊屏手機似乎正成為各大品牌下步推新的產(chǎn)品,那么今天,就讓我們這里面到底有什么“黑科技”。
    的頭像 發(fā)表于 02-26 10:34 ?1287次閱讀
    <b class='flag-5'>扒</b><b class='flag-5'>一</b><b class='flag-5'>扒</b>折疊屏手機背后的“黑科技”

    渣機遠程監(jiān)控運維管理系統(tǒng)解決方案

    渣機主要由機械手與輸送機相結(jié)合,將自動渣和自動輸送功能合二為,替代了傳統(tǒng)的人工和間歇式機械作業(yè),大大提高了工作效率,降低了勞動強度,并顯著提升了作業(yè)安全性,在礦山、道路、隧道、水利等工程領(lǐng)域
    的頭像 發(fā)表于 09-05 17:10 ?187次閱讀
    主站蜘蛛池模板: ebc5恐怖5a26房间| 亚洲免费人成 久久| 黑丝制服影院| 11 13加污女qq看他下面| 日本国产成人精品无码区在线网站 | 欧美自拍亚洲综合图区| QVOD在线播放| 无遮挡午夜男女XX00动态| 国产香蕉视频| 永久久久免费人妻精品| 嫩草影院地址一二三| 国产成人高清精品免费5388密| 国产精品一区二区四区| 亚洲欧洲免费三级网站| 麻豆官网md.pub| 成人免费视频在| 亚洲精品国产在线观看| 考试考90就可以晚上和老师C| www.青青草.com| 亚洲AV國產国产久青草| 久久伊人男人的天堂网站| se01短视频在线观看| 香蕉鱼视频观看在线视频下载| 精品一区二区三区免费毛片| 76人遣返航班上71人呈阳性| 日日做夜夜欢狠狠免费软件| 激情欧美日韩一区二区| 99久久精品毛片免费播放| 婷婷午夜影院| 玖玖热视频一区二区人妻| 成人永久免费视频网站在线观看| 亚洲AV永久无码精品老司机蜜桃 | 嗯啊快停下我是你老师啊H| 国产AV白丝爆浆在线播放| 亚洲伊人精品| 强壮的公次次弄得我高潮韩国电影| 国产乱妇乱子在线播视频播放网站 | 亚洲高清在线mv| 男生脱美女内裤内衣动态图| 国产精品免费大片一区二区| 中字幕视频在线永久在线 |