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.
2、Verilog是如何實(shí)現(xiàn)RR輪詢調(diào)度的?
在verilog實(shí)現(xià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)求有效。
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
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
寄存器
-
IC設(shè)計(jì)
-
鎖存器
-
狀態(tài)機(jī)
-
Verilog語言
相關(guān)推薦
在設(shè)計(jì)中,我們經(jīng)常會(huì)用到RR(Round-Robin,RR)輪詢調(diào)度,用于保證在一個(gè)時(shí)間段內(nèi)的多個(gè)請(qǐng)求信號(hào)都能得到公平響應(yīng)。
發(fā)表于 12-13 16:14
?1857次閱讀
,符合AAL5處理的需求;二是在采用ATM方式時(shí),PM5380內(nèi)部的 FIFO只能夠緩存4個(gè)信元,深度有限;三是固定長度包的輪詢調(diào)度,其理論研究較成熟,也較易于實(shí)現(xiàn),相比不定長包調(diào)度可
發(fā)表于 05-14 07:00
1、綜述 Linux作為多任務(wù)、多用戶的操作系統(tǒng),其進(jìn)程/線程調(diào)度管理是實(shí)現(xiàn)這些特性的關(guān)鍵部分。調(diào)度管理決定系統(tǒng)中的眾多線程中哪個(gè)線程獲得執(zhí)行、什么時(shí)候開始執(zhí)行、執(zhí)行多久。一個(gè)好的調(diào)度
發(fā)表于 07-05 07:05
了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
這是一個(gè)能在PIC16F877A開發(fā)板上運(yùn)行的固定時(shí)間片輪詢調(diào)度匯編程序代碼。為什么要用時(shí)間片輪詢調(diào)度?假如我們要寫一個(gè)單片機(jī)程序,程序的目的就是用GPIO控制一個(gè)燈亮一秒再暗一秒…最
發(fā)表于 07-13 08:53
這是一個(gè)能在PIC16F877A開發(fā)板上運(yùn)行的固定時(shí)間片輪詢調(diào)度匯編程序代碼。為什么要用時(shí)間片輪詢調(diào)度?假如我們要寫一個(gè)單片機(jī)程序,程序的目的就是用GPIO控制一個(gè)燈亮一秒再暗一秒…最
發(fā)表于 07-13 08:14
為什么要用時(shí)間片輪詢調(diào)度?基于PIC16F877A開發(fā)板的固定時(shí)間片輪詢調(diào)度匯編程序干了啥?
發(fā)表于 08-02 07:36
STM32 實(shí)現(xiàn)軟件時(shí)間片調(diào)度前言:在有些時(shí)候嵌入式系統(tǒng)不需要上RTOS的情況下,使用一個(gè)while大循環(huán),有可能會(huì)造成一層while套一層while的情況出現(xiàn).為了解決這種情況(更好的裝X).這里
發(fā)表于 08-24 07:33
針對(duì)高密度接口設(shè)計(jì)中基于字節(jié)處理和整包處理的轉(zhuǎn)換問題,本文提出了分片輪詢調(diào)度和改進(jìn)式欠賬輪詢調(diào)度相結(jié)合的調(diào)度策略,該策略在很大程度上保證了公
發(fā)表于 08-09 15:30
?21次下載
模數(shù)轉(zhuǎn)換輪詢器
發(fā)表于 09-07 11:39
?870次閱讀
針對(duì)高密度接口設(shè)計(jì)中基于字節(jié)處理和整包處理的轉(zhuǎn)換問題,本文提出了分片輪詢調(diào)度和改進(jìn)式欠賬輪詢調(diào)度相結(jié)合的調(diào)度策略,該策略在很大程度上保證了公
發(fā)表于 07-31 09:23
?943次閱讀
以延遲容忍剩余時(shí)長為度量依據(jù),提出一種對(duì)業(yè)務(wù)進(jìn)行動(dòng)態(tài)分組的上行優(yōu)先級(jí)調(diào)度算法。采用資源塊(RB大小可變的分配方式滿足RB的鄰接約束,引入混合自動(dòng)輪詢機(jī)制解決算法對(duì)低優(yōu)先級(jí)業(yè)務(wù)調(diào)度不公平的問題。仿真
發(fā)表于 06-11 11:17
?14次下載
這是一個(gè)能在PIC16F877A開發(fā)板上運(yùn)行的固定時(shí)間片輪詢調(diào)度匯編程序代碼。為什么要用時(shí)間片輪詢調(diào)度?假如我們要寫一個(gè)單片機(jī)程序,程序的目的就是用GPIO控制一個(gè)燈亮一秒再暗一秒…最
發(fā)表于 11-16 16:21
?4次下載
一、輪詢系統(tǒng)輪詢系統(tǒng)是 MCU 中最簡單的入門系統(tǒng),它的程序結(jié)構(gòu)是通常只需要一個(gè) While(1)或For(;;)死循環(huán)來實(shí)現(xiàn)://程序清單 1.1......int main(void
發(fā)表于 12-07 19:36
?7次下載
Axi總線打拍模塊通常會(huì)采用特殊設(shè)計(jì)的IP模塊,將所有axi總線信號(hào)互聯(lián)到axi打拍ip上,起到一個(gè)橋接的作用,能夠解決時(shí)序問題。
發(fā)表于 10-03 15:26
?1387次閱讀
評(píng)論