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

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

3天內不再提示

IC設計:Verilog是如何實現RR輪詢調度的?

sanyue7758 ? 來源:IC的世界 ? 2023-12-13 16:14 ? 次閱讀

1、RR輪詢調度?

在設計中,我們經常會用到RR(Round-Robin,RR)輪詢調度,用于保證在一個時間段內的多個請求信號都能得到公平響應。

如下所示:輸入rr_req[3:0]為4個請求信號,輸出rr_grant[3:0]為4請求信號對應的4個響應信號:rr_req[n]表示第n請求申請響應,rr_grant[n]為1表示第n個請求被響應。如表所示,T1周期,所有請求均有效,首先響應低bit的請求,所以rr_grant[0]=1。T3周期,請求rr_req[0]有效,但是在T2時刻中被響應(rr_grant[1]=1),因此此次不再響應,而是響應rr_req[2],所以rr_grant[2]=1.

時鐘周期 請求信號rr_req[3:0] 請求響應rr_grant[3:0]
0 4’b0000 4’b0000
1 4’b1111 4’b0001
2 4’b1110 4’b0010
3 4’b1101 4’b0100
4 4’b1011 4’b1000

2、Verilog是如何實現RR輪詢調度的?

在verilog實現中,僅僅采用簡單的組合邏輯和寄存器就可以實現rr輪詢調度,不需要狀態機等設計。

基本原理是鎖存上一次輸出請求響應rr_grant[3:0],并且生成相應的有效位rr_mask[3:0],從(rr_valid[3:0]&rr_mask[3:0]) 和 rr_valid[3:0]&(~rr_mask[3:0]) 選取不為0的作為獲得rr_grant_tmp,rr_grant_tmp再經過組合邏輯并且取最低有效位。此處mask中1表示請求有效。

A B C D E F G
時間順序 請求信號rr_req[3:0] pre_rr_result(rr_grant[3:0]的打拍鎖存值) rr_mask ~rr_mask
生成有效位
rr_grant_tmp
B&D or B&E,取其中不為0的
請求響應rr_grant[3:0]
0 4’b0000 4’b0000 4’b1111 4’b0000 4’b0000 4’b0000
1 4’b1111 4’b0000 4’b1111 4’b0000 4’b1111 4’b0001
2 4’b1110 4’b0001 4’b0001 4’b1110 4’b1110 4’b0010
3 4’b1101 4’b0010 4’b0011 4’b1100 4’b1100 4’b0100
4 4’b1011 4’b0100 4’b0111 4’b1000 4’b1000 4’b1000

B列:為請求信號rr_req[3:0]

C列:pre_rr_result 為模塊內部鎖存的上一拍rr_grant[3:0],即寄存器鎖存打拍

D列:rr_mask為pre_rr_result經過組合邏輯得到的掩碼,rr_mask= {pre_rr_result[2:0],pre_rr_result[3]}-1’b1

E列:~rr_mask為pre_rr_result經過組合邏輯得到的掩碼,rr_mask=~( {pre_rr_result[2:0],pre_rr_result[3]}-1’b1)

F列:rr_grant_tmp為B&D or B&E,取其中不為0的

G列:rr_grant_tmp經過組合邏輯輸出最低有效位:(~rr_grant_tmp+1’b1)&rr_grant_tmp





審核編輯:劉清

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

    關注

    30

    文章

    5167

    瀏覽量

    118229
  • IC設計
    +關注

    關注

    37

    文章

    1277

    瀏覽量

    103215
  • Verilog
    +關注

    關注

    28

    文章

    1328

    瀏覽量

    109479

原文標題:IC設計:RR調度原理

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

收藏 人收藏

    評論

    相關推薦

    核心路由器的多端口線卡調度

    ,符合AAL5處理的需求;二是在采用ATM方式時,PM5380內部的 FIFO只能夠緩存4個信元,深度有限;三是固定長度包的輪詢調度,其理論研究較成熟,也較易于實現,相比不定長包調度
    發表于 05-14 07:00

    Linux系統調度實現特性的關鍵部分

    1、綜述  Linux作為多任務、多用戶的操作系統,其進程/線程調度管理是實現這些特性的關鍵部分。調度管理決定系統中的眾多線程中哪個線程獲得執行、什么時候開始執行、執行多久。一個好的調度
    發表于 07-05 07:05

    干貨分享:基于嵌入式Linux中進程調度實現方法

    和網絡協議。 1. 前言處理機(CPU)是整個計算機系統的核心資源,在多進程的操作系統中,進程數往往多于處理機數,這將導致各進程互相爭奪處理機。進程調度對系統功能的實現 及各方面的性能都有著決定性
    發表于 12-10 14:17

    請問FreeRTOS是如何實現調度的?

    了stm32的官方例程,原理上的東西大致懂了,可在程序中是如何實現的呢,C語言障礙,沒看懂。首先是調度函數,函數函數是如何執行的呢?如下圖,新建任務后執行調度函數,為什么沒用循環,調度
    發表于 07-30 07:40

    Microchip單片機固定時間片輪詢調度匯編代碼 精選資料分享

    這是一個能在PIC16F877A開發板上運行的固定時間片輪詢調度匯編程序代碼。為什么要用時間片輪詢調度?假如我們要寫一個單片機程序,程序的目的就是用GPIO控制一個燈亮一秒再暗一秒…最
    發表于 07-13 08:53

    Microchip單片機固定時間片輪詢調度匯編代碼 精選資料推薦

    這是一個能在PIC16F877A開發板上運行的固定時間片輪詢調度匯編程序代碼。為什么要用時間片輪詢調度?假如我們要寫一個單片機程序,程序的目的就是用GPIO控制一個燈亮一秒再暗一秒…最
    發表于 07-13 08:14

    基于PIC16F877A開發板的固定時間片輪詢調度匯編程序干了啥

    為什么要用時間片輪詢調度?基于PIC16F877A開發板的固定時間片輪詢調度匯編程序干了啥?
    發表于 08-02 07:36

    STM32是怎樣去實現軟件時間片調度

    STM32 實現軟件時間片調度前言:在有些時候嵌入式系統不需要上RTOS的情況下,使用一個while大循環,有可能會造成一層while套一層while的情況出現.為了解決這種情況(更好的裝X).這里
    發表于 08-24 07:33

    基于FPGA的輪詢合路的設計和實現

    針對高密度接口設計中基于字節處理和整包處理的轉換問題,本文提出了分片輪詢調度和改進式欠賬輪詢調度相結合的調度策略,該策略在很大程度上保證了公
    發表于 08-09 15:30 ?21次下載

    基于SDH芯片的S19202的輪詢合路的設計

    針對高密度接口設計中基于字節處理和整包處理的轉換問題,本文提出了分片輪詢調度和改進式欠賬輪詢調度相結合的調度策略,該策略在很大程度上保證了公
    發表于 07-31 09:23 ?823次閱讀
    基于SDH芯片的S19202的<b class='flag-5'>輪詢</b>合路的設計

    Microchip單片機固定時間片輪詢調度匯編代碼

    這是一個能在PIC16F877A開發板上運行的固定時間片輪詢調度匯編程序代碼。為什么要用時間片輪詢調度?假如我們要寫一個單片機程序,程序的目的就是用GPIO控制一個燈亮一秒再暗一秒…最
    發表于 11-16 16:21 ?4次下載
    Microchip單片機固定時間片<b class='flag-5'>輪詢</b><b class='flag-5'>調度</b>匯編代碼

    STM32 操作系統內核調度原理與實現(1):輪詢系統,前后臺系統與多線程系統

    一、輪詢系統輪詢系統是 MCU 中最簡單的入門系統,它的程序結構是通常只需要一個 While(1)或For(;;)死循環來實現://程序清單 1.1......int main(void
    發表于 12-07 19:36 ?7次下載
    STM32 操作系統內核<b class='flag-5'>調度</b>原理與<b class='flag-5'>實現</b>(1):<b class='flag-5'>輪詢</b>系統,前后臺系統與多線程系統

    IC設計的特殊信號打拍方式及RR輪詢調度

    Axi總線打拍模塊通常會采用特殊設計的IP模塊,將所有axi總線信號互聯到axi打拍ip上,起到一個橋接的作用,能夠解決時序問題。
    發表于 10-03 15:26 ?1122次閱讀

    IC設計之Verilog代碼規范

    Verilog規范對于一個好的IC設計至關重要。
    的頭像 發表于 08-17 10:14 ?757次閱讀
    <b class='flag-5'>IC</b>設計之<b class='flag-5'>Verilog</b>代碼規范

    RR輪詢調度?Verilog是如何實現RR輪詢調度的?

    在設計中,我們經常會用到RR(Round-Robin,RR輪詢調度,用于保證在一個時間段內的多個請求信號都能得到公平響應。
    的頭像 發表于 09-28 09:55 ?2829次閱讀
    <b class='flag-5'>RR</b><b class='flag-5'>輪詢</b><b class='flag-5'>調度</b>?<b class='flag-5'>Verilog</b>是如何<b class='flag-5'>實現</b><b class='flag-5'>RR</b><b class='flag-5'>輪詢</b><b class='flag-5'>調度</b>的?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>