1、RR輪詢調(diào)度?
在設(shè)計(jì)中,我們經(jīng)常會(huì)用到RR(Round-Robin,RR)輪詢調(diào)度,用于保證在一個(gè)時(shí)間段內(nèi)的多個(gè)請(qǐng)求信號(hào)都能得到公平響應(yīng)。
如下所示:輸入rr_req[3:0]為4個(gè)請(qǐng)求信號(hào),輸出rr_grant[3:0]為4請(qǐng)求信號(hào)對(duì)應(yīng)的4個(gè)響應(yīng)信號(hào):rr_req[n]表示第n請(qǐng)求申請(qǐng)響應(yīng),rr_grant[n]為1表示第n個(gè)請(qǐng)求被響應(yīng)。如表所示,T1周期,所有請(qǐng)求均有效,首先響應(yīng)低bit的請(qǐng)求,所以rr_grant[0]=1。T3周期,請(qǐng)求rr_req[0]有效,但是在T2時(shí)刻中被響應(yīng)(rr_grant[1]=1),因此此次不再響應(yīng),而是響應(yīng)rr_req[2],所以rr_grant[2]=1.
時(shí)鐘周期 | 請(qǐng)求信號(hào)rr_req[3:0] | 請(qǐng)求響應(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)中,僅僅采用簡(jiǎn)單的組合邏輯和寄存器就可以實(shí)現(xiàn)rr輪詢調(diào)度,不需要狀態(tài)機(jī)等設(shè)計(jì)。
基本原理是鎖存上一次輸出請(qǐng)求響應(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表示請(qǐng)求有效。
A | B | C | D | E | F | G |
時(shí)間順序 | 請(qǐng)求信號(hào)rr_req[3:0] | pre_rr_result(rr_grant[3:0]的打拍鎖存值) | rr_mask |
~rr_mask 生成有效位 |
rr_grant_tmp B&D or B&E,取其中不為0的 |
請(qǐng)求響應(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列:為請(qǐng)求信號(hào)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
審核編輯:劉清
-
寄存器
+關(guān)注
關(guān)注
31文章
5426瀏覽量
123669 -
IC設(shè)計(jì)
+關(guān)注
關(guān)注
38文章
1352瀏覽量
105368 -
Verilog
+關(guān)注
關(guān)注
29文章
1366瀏覽量
111969
原文標(biāo)題:IC設(shè)計(jì):RR調(diào)度原理
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Linux系統(tǒng)調(diào)度是實(shí)現(xiàn)特性的關(guān)鍵部分
干貨分享:基于嵌入式Linux中進(jìn)程調(diào)度實(shí)現(xiàn)方法
請(qǐng)問FreeRTOS是如何實(shí)現(xiàn)調(diào)度的?
Microchip單片機(jī)固定時(shí)間片輪詢調(diào)度匯編代碼 精選資料分享
Microchip單片機(jī)固定時(shí)間片輪詢調(diào)度匯編代碼 精選資料推薦
基于PIC16F877A開發(fā)板的固定時(shí)間片輪詢調(diào)度匯編程序干了啥
STM32是怎樣去實(shí)現(xiàn)軟件時(shí)間片調(diào)度的
基于FPGA的輪詢合路的設(shè)計(jì)和實(shí)現(xiàn)
基于SDH芯片的S19202的輪詢合路的設(shè)計(jì)

數(shù)字系統(tǒng)設(shè)計(jì):VERILOG實(shí)現(xiàn)
Microchip單片機(jī)固定時(shí)間片輪詢調(diào)度匯編代碼

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

IC設(shè)計(jì)的特殊信號(hào)打拍方式及RR輪詢調(diào)度
RR輪詢調(diào)度?Verilog是如何實(shí)現(xiàn)RR輪詢調(diào)度的?

評(píng)論