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

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

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

IC設(shè)計:Verilog是如何實(shí)現(xiàn)RR輪詢調(diào)度的?

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

1、RR輪詢調(diào)度?

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

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

時鐘周期 請求信號rr_req[3:0] 請求響應(yīng)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是如何實(shí)現(xiàn)RR輪詢調(diào)度的?

在verilog實(shí)現(xiàn)中,僅僅采用簡單的組合邏輯和寄存器就可以實(shí)現(xiàn)rr輪詢調(diào)度,不需要狀態(tài)機(jī)等設(shè)計。

基本原理是鎖存上一次輸出請求響應(yīng)rr_grant[3:0],并且生成相應(yīng)的有效位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再經(jīng)過組合邏輯并且取最低有效位。此處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的
請求響應(yīng)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 為模塊內(nèi)部鎖存的上一拍rr_grant[3:0],即寄存器鎖存打拍

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

E列:~rr_mask為pre_rr_result經(jīng)過組合邏輯得到的掩碼,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經(jīng)過組合邏輯輸出最低有效位:(~rr_grant_tmp+1’b1)&rr_grant_tmp





審核編輯:劉清

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

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119201
  • IC設(shè)計
    +關(guān)注

    關(guān)注

    37

    文章

    1287

    瀏覽量

    103434
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1333

    瀏覽量

    109713

原文標(biāo)題:IC設(shè)計:RR調(diào)度原理

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

收藏 人收藏

    評論

    相關(guān)推薦

    Linux系統(tǒng)調(diào)度實(shí)現(xiàn)特性的關(guān)鍵部分

    1、綜述  Linux作為多任務(wù)、多用戶的操作系統(tǒng),其進(jìn)程/線程調(diào)度管理是實(shí)現(xiàn)這些特性的關(guān)鍵部分。調(diào)度管理決定系統(tǒng)中的眾多線程中哪個線程獲得執(zhí)行、什么時候開始執(zhí)行、執(zhí)行多久。一個好的調(diào)度
    發(fā)表于 07-05 07:05

    干貨分享:基于嵌入式Linux中進(jìn)程調(diào)度實(shí)現(xiàn)方法

    和網(wǎng)絡(luò)協(xié)議。 1. 前言處理機(jī)(CPU)是整個計算機(jī)系統(tǒng)的核心資源,在多進(jìn)程的操作系統(tǒng)中,進(jìn)程數(shù)往往多于處理機(jī)數(shù),這將導(dǎo)致各進(jìn)程互相爭奪處理機(jī)。進(jìn)程調(diào)度對系統(tǒng)功能的實(shí)現(xiàn) 及各方面的性能都有著決定性
    發(fā)表于 12-10 14:17

    請問FreeRTOS是如何實(shí)現(xiàn)調(diào)度的?

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

    Microchip單片機(jī)固定時間片輪詢調(diào)度匯編代碼 精選資料分享

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

    Microchip單片機(jī)固定時間片輪詢調(diào)度匯編代碼 精選資料推薦

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

    基于PIC16F877A開發(fā)板的固定時間片輪詢調(diào)度匯編程序干了啥

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

    STM32是怎樣去實(shí)現(xiàn)軟件時間片調(diào)度

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

    基于FPGA的輪詢合路的設(shè)計和實(shí)現(xiàn)

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

    基于SDH芯片的S19202的輪詢合路的設(shè)計

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

    數(shù)字系統(tǒng)設(shè)計:VERILOG實(shí)現(xiàn)

    數(shù)字系統(tǒng)設(shè)計:VERILOG實(shí)現(xiàn) (第2版)
    發(fā)表于 11-30 10:21 ?0次下載

    Microchip單片機(jī)固定時間片輪詢調(diào)度匯編代碼

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

    STM32 操作系統(tǒng)內(nèi)核調(diào)度原理與實(shí)現(xiàn)(1):輪詢系統(tǒng),前后臺系統(tǒng)與多線程系統(tǒng)

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

    IC設(shè)計的特殊信號打拍方式及RR輪詢調(diào)度

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

    IC設(shè)計之Verilog代碼規(guī)范

    Verilog規(guī)范對于一個好的IC設(shè)計至關(guān)重要。
    的頭像 發(fā)表于 08-17 10:14 ?1112次閱讀
    <b class='flag-5'>IC</b>設(shè)計之<b class='flag-5'>Verilog</b>代碼規(guī)范

    RR輪詢調(diào)度Verilog是如何實(shí)現(xiàn)RR輪詢調(diào)度的?

    在設(shè)計中,我們經(jīng)常會用到RR(Round-Robin,RR輪詢調(diào)度,用于保證在一個時間段內(nèi)的多個請求信號都能得到公平響應(yīng)。
    的頭像 發(fā)表于 09-28 09:55 ?3551次閱讀
    <b class='flag-5'>RR</b><b class='flag-5'>輪詢</b><b class='flag-5'>調(diào)度</b>?<b class='flag-5'>Verilog</b>是如何<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>RR</b><b class='flag-5'>輪詢</b><b class='flag-5'>調(diào)度</b>的?