欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

pipeline高端玩法—優(yōu)先級(jí)介紹

Spinal FPGA ? 來源:Spinal FPGA ? 2023-11-04 10:13 ? 次閱讀

在前面的系列文章中,已基本闡述了Pipeline中的用法,本篇做個(gè)總結(jié),重點(diǎn)針各方法的優(yōu)先級(jí)

》last Win

無論是SystemVerilog還是SpinalHDL,都有Last valid assignment wins的語法特征。如在SpinalHDL-Doc中所描述:

// Every clock cycle evaluation starts here
val paramIsFalse = false
val x, y = Bool() // Define two combinational signals
val result = UInt(8bits) // Define a combinational signal

result := 1
when(x) {
result := 2
when(y) {
result := 3
}
}
if(paramIsFalse) { // This assignment should win as it is last, but it was never elaborated
result := 4// into hardware due to the use of if() and it evaluating to false at the time
}

對(duì)應(yīng)的真值表是:

4ff96b58-7ab5-11ee-939d-92fbcf53809c.jpg

那么在使用pipeline中,你可能會(huì)這么來寫:

when(cond1){
haltIt()
}
when(cond2){
spawnIt()
}

參照上面所述的Lastvalid assignment wins的語法特征,你可能認(rèn)為spawnIt的優(yōu)先級(jí)是高于haltIt的~

然而,并非如此。

Pipeline的構(gòu)建并不是我們?cè)谥苯訕?gòu)建,而是我們描述了流水線的規(guī)則之后交由Pipeline的build函數(shù)來搭建起整個(gè)的流水線結(jié)構(gòu)。既然不是我們直接搭建電路,那么就要注意下在流水線構(gòu)建過程中這些方法的優(yōu)先級(jí)了。

回到Pipeline的組成結(jié)構(gòu):

500919ea-7ab5-11ee-939d-92fbcf53809c.jpg

Pipeline包含Stage和Connection兩大主體。在Pipeline的build構(gòu)建中,分別對(duì)應(yīng)了Internal Connection及InInterconnect Connection兩部分。

》Internal Connection中的優(yōu)先級(jí)

來看下在Pipeline中關(guān)于Internal Connection的處理:

5012aabe-7ab5-11ee-939d-92fbcf53809c.png

在之前的文章系列中已基本分析了每個(gè)小單元的用法(forks暫時(shí)不考慮)。對(duì)于每一級(jí)Stage,默認(rèn)情況下Stage的output端口和input端口是直連的。而后自上到下對(duì)應(yīng)的API處理分別是:

spawnIt

flushIt(root為true)

throwIt(root為true)

haltIt

按照Last valid assignment wins的原則,那么上面對(duì)應(yīng)的API則是優(yōu)先級(jí)從高到低的。

》Interconnect Connection中的優(yōu)先級(jí)

這里還是以Pipeline中常用的M2S為例來看待Interconnect Connection中的處理方式:

5029edb4-7ab5-11ee-939d-92fbcf53809c.png

這里我們要區(qū)分來看:

m.ready存在(對(duì)應(yīng)前一級(jí)Stage的output.ready)

m.ready不存在

先來看m.ready不存在的場(chǎng)景。當(dāng)m.ready不存在時(shí),上面的處理流程牽涉到的API有:

flushIt(line30)

flushNext(line31)

按照Last valid assignment wins的原則,那么上面對(duì)應(yīng)的API則是優(yōu)先級(jí)從高到低的。

而當(dāng)m.ready存在時(shí),則牽涉到的API有:

throwIt(line19)

flushIt(line 30)

flushNext(line 31)

按照Last valid assignment wins的原則,那么上面對(duì)應(yīng)的API則是優(yōu)先級(jí)從高到低的。

》寫在最后

對(duì)于SpinalHDL Pipeline這個(gè)“勇者的游戲”系列,至此基本總結(jié)的差不多了。寫文章相比于看代碼還是要費(fèi)事一些。對(duì)于Pipeline這個(gè)系列,最開始驅(qū)使我去研究來源于想對(duì)Cache的了解,看著dolu的代碼如看天書。不得不說Pipeline的這個(gè)設(shè)計(jì)簡(jiǎn)直“驚為天人”!對(duì)于邏輯設(shè)計(jì)來講無非兩大核心:狀態(tài)機(jī),流水線。在看Pipeline之前覺得這個(gè)Lib真抽象,真正看完分析后覺得真香,之前自己的設(shè)計(jì)簡(jiǎn)直太Low了,這里簡(jiǎn)直把高效描述電路發(fā)揮到了極致~








審核編輯:劉清

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

    關(guān)注

    28

    文章

    1352

    瀏覽量

    110466
  • Cache
    +關(guān)注

    關(guān)注

    0

    文章

    129

    瀏覽量

    28454
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27681
  • Pipeline
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    9384
  • HDL語言
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    8960

原文標(biāo)題:pipeline高端玩法(十二)—優(yōu)先級(jí)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于優(yōu)先級(jí)搶占系統(tǒng)的QNX調(diào)度算法

    調(diào)度算法,是基于優(yōu)先級(jí)的。QNX的線程優(yōu)先級(jí),是一個(gè)0-255的數(shù)字,數(shù)字越大優(yōu)先級(jí)越高。所以,優(yōu)先級(jí)0是內(nèi)核中的idle線程。同時(shí),優(yōu)先級(jí)
    發(fā)表于 10-31 09:17 ?780次閱讀

    RTOS應(yīng)用中的優(yōu)先級(jí)反轉(zhuǎn)問題

    在嵌入式系統(tǒng)中,如果使用基于優(yōu)先級(jí)調(diào)度算法的RTOS,系統(tǒng)中可能發(fā)生優(yōu)先級(jí)反轉(zhuǎn)現(xiàn)象。優(yōu)先級(jí)反轉(zhuǎn)用來描述系統(tǒng)中高優(yōu)先級(jí)任務(wù)由于等待低優(yōu)先級(jí)任務(wù)
    發(fā)表于 12-14 11:00 ?1273次閱讀

    stm32的中斷優(yōu)先級(jí)基本原理介紹

    stm32的中斷具有不同的優(yōu)先級(jí),可以使用NVIC(嵌套向量中斷控制器,Nested Vectored Interrupt Controller)來控制。 一、基本原理介紹 stm32的中斷優(yōu)先級(jí)
    發(fā)表于 08-13 08:46

    路由優(yōu)先級(jí)

    路由優(yōu)先級(jí) 前面講過,各個(gè)路由協(xié)議都有自己的標(biāo)準(zhǔn)來衡量路由的好壞(
    發(fā)表于 06-09 23:47 ?3009次閱讀
    路由<b class='flag-5'>優(yōu)先級(jí)</b>

    STM32F10X的中斷優(yōu)先級(jí)

    STM32(Cortex-M3)中有兩個(gè)優(yōu)先級(jí)的概念搶占式優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí),有人把響應(yīng)優(yōu)先級(jí)稱作亞優(yōu)先級(jí)或副
    發(fā)表于 11-04 15:02 ?41次下載

    stm32定時(shí)器優(yōu)先級(jí)

    什么是優(yōu)先級(jí) 優(yōu)先級(jí)是具有高搶占式優(yōu)先級(jí)的中斷可以在具有低搶占式優(yōu)先級(jí)的中斷處理過程中被響應(yīng),即中斷嵌套,或者說高搶占式優(yōu)先級(jí)的中斷可以嵌套
    發(fā)表于 10-13 11:48 ?5417次閱讀

    DSP中斷如何設(shè)置優(yōu)先級(jí)

    原以為2812中斷不能設(shè)置優(yōu)先級(jí)。實(shí)際上硬件上優(yōu)先級(jí)是做好的。但軟件上有辦法來設(shè)置優(yōu)先級(jí)
    發(fā)表于 04-08 17:20 ?20次下載

    cortex M內(nèi)核優(yōu)先級(jí)設(shè)置

    Cortex M內(nèi)核中每個(gè)中斷都有一個(gè)8位的優(yōu)先級(jí)設(shè)置寄存器這個(gè)8位的寄存器可以分為搶占優(yōu)先級(jí)和子優(yōu)先級(jí)兩個(gè)部分(通過設(shè)置優(yōu)先級(jí)組設(shè)置)搶占優(yōu)先級(jí)
    發(fā)表于 12-01 11:51 ?4次下載
    cortex M內(nèi)核<b class='flag-5'>優(yōu)先級(jí)</b>設(shè)置

    2.FreeRTOS中斷優(yōu)先級(jí)和任務(wù)優(yōu)先級(jí)

    FreeRTOS中斷優(yōu)先級(jí)和任務(wù)優(yōu)先級(jí)架構(gòu):Cortex-M3版本:FreeRTOS V9.0.0前言:最開始,我并沒有搞清楚什么是中斷優(yōu)先級(jí)和任務(wù)優(yōu)先級(jí),但看了部分資料后發(fā)現(xiàn)這兩個(gè)并
    發(fā)表于 12-04 20:21 ?9次下載
    2.FreeRTOS中斷<b class='flag-5'>優(yōu)先級(jí)</b>和任務(wù)<b class='flag-5'>優(yōu)先級(jí)</b>

    STM32F103芯片中斷優(yōu)先級(jí)以及FreeRTOS優(yōu)先級(jí)設(shè)置

    STM32F103只用了4個(gè)位來表達(dá)優(yōu)先級(jí),因此最多支持16級(jí)的可編程優(yōu)先級(jí)(0~15),15為最低優(yōu)先級(jí)
    發(fā)表于 01-25 18:59 ?1次下載
    STM32F103芯片中斷<b class='flag-5'>優(yōu)先級(jí)</b>以及FreeRTOS<b class='flag-5'>優(yōu)先級(jí)</b>設(shè)置

    uC/OS-II學(xué)習(xí)筆記——優(yōu)先級(jí)反轉(zhuǎn)與優(yōu)先級(jí)繼承機(jī)制

    優(yōu)先級(jí)反轉(zhuǎn),是指某同步資源被較低優(yōu)先級(jí)的進(jìn)程/線程所擁有,較高優(yōu)先級(jí)的進(jìn)程/線程競(jìng)爭(zhēng)該同步資源未獲得該資源,而使得較高優(yōu)先級(jí)進(jìn)程/線程反而推遲被調(diào)度執(zhí)行的現(xiàn)象。
    發(fā)表于 02-09 10:33 ?2次下載
    uC/OS-II學(xué)習(xí)筆記——<b class='flag-5'>優(yōu)先級(jí)</b>反轉(zhuǎn)與<b class='flag-5'>優(yōu)先級(jí)</b>繼承機(jī)制

    中斷優(yōu)先級(jí)處理的原則及配置 搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)的區(qū)別

    首先我們需要知道什么是中斷優(yōu)先級(jí):中斷優(yōu)先級(jí)是CPU響應(yīng)中斷的先后順序
    的頭像 發(fā)表于 05-18 15:10 ?2.8w次閱讀
    中斷<b class='flag-5'>優(yōu)先級(jí)</b>處理的原則及配置 搶占<b class='flag-5'>優(yōu)先級(jí)</b>和響應(yīng)<b class='flag-5'>優(yōu)先級(jí)</b>的區(qū)別

    FreeRTOS任務(wù)的優(yōu)先級(jí)示例

    任務(wù)的優(yōu)先級(jí):0~24之間。數(shù)字越大,任務(wù)優(yōu)先等級(jí)越高。高優(yōu)先級(jí)的任務(wù)優(yōu)先執(zhí)行。
    的頭像 發(fā)表于 09-15 11:13 ?2895次閱讀

    Free RTOS的優(yōu)先級(jí)翻轉(zhuǎn)

    優(yōu)先級(jí)翻轉(zhuǎn)簡(jiǎn)介:就是高優(yōu)先級(jí)的任務(wù)運(yùn)行起來的效果好像成了低優(yōu)先級(jí),而低優(yōu)先級(jí)比高優(yōu)先級(jí)先運(yùn)行;
    的頭像 發(fā)表于 02-10 15:31 ?1398次閱讀
    Free RTOS的<b class='flag-5'>優(yōu)先級(jí)</b>翻轉(zhuǎn)

    什么是優(yōu)先級(jí)反轉(zhuǎn)

    假設(shè)現(xiàn)在有三個(gè)任務(wù)TaskA(優(yōu)先級(jí)高)、TaskB(優(yōu)先級(jí)中)、TaskC(優(yōu)先級(jí)低),一個(gè)信號(hào)量(Semaphore),此信號(hào)量用于任務(wù)之間爭(zhēng)奪某個(gè)資源。在某一時(shí)刻,高優(yōu)先級(jí)的Ta
    的頭像 發(fā)表于 04-24 13:01 ?2380次閱讀
    什么是<b class='flag-5'>優(yōu)先級(jí)</b>反轉(zhuǎn)