日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:本文詳細(xì)介紹了OPB總線仲裁器的信號(hào)和仲裁機(jī)理。在QuartusII8.0平臺(tái)上,分別用固定優(yōu)先級(jí)算法和LRU算法,用硬件描述語言(verilog HDL)對(duì)OPB總線仲裁器進(jìn)行了RTL硬件建模。并用FPGA進(jìn)行實(shí)現(xiàn),并比較了仿真結(jié)果和綜

摘要:本文詳細(xì)介紹了OPB總線仲裁器的信號(hào)和仲裁機(jī)理。在QuartusII8.0平臺(tái)上,分別用固定優(yōu)先級(jí)算法和LRU算法,用硬件描述語言(verilog HDL)對(duì)OPB總線仲裁器進(jìn)行了RTL硬件建模。并用FPGA進(jìn)行實(shí)現(xiàn),并比較了仿真結(jié)果和綜合結(jié)果,兩種算法都通過了RTL和網(wǎng)表之間的形式驗(yàn)證。

0 引言

隨著 SOC 設(shè)計(jì)技術(shù)的發(fā)展,為了使IP 核集成更快速、更方便,縮短進(jìn)入市場的時(shí)間, 迫切需要一種標(biāo)準(zhǔn)的互聯(lián)方案。CoreConnect 正是在這一背景下為SOC 設(shè)計(jì)的總線架構(gòu)。按 照數(shù)據(jù)訪問速度它可分為三層總線,分別是處理器內(nèi)部總線PLB(Processor Local Bus)、片上 外圍總線OPB(On-ChipPeripheral Bus)和設(shè)備控制總線DCR(Device Control Register)。 OPB 總線是為UART、GPIO 等慢數(shù)據(jù)率設(shè)備提供接口的總線。由于集成到總線中的功能模 塊越來越多,對(duì)于共享總線系統(tǒng),片上仲裁是使得各個(gè)模塊有效運(yùn)作的必要手段。目前關(guān)于 OPB 總線仲裁器這方面的研究報(bào)道較少,為了探尋在不同的系統(tǒng)負(fù)載和系統(tǒng)應(yīng)用下選擇最 佳的OPB 總線仲裁方案,本文基于固定優(yōu)先級(jí)和LRU 兩種算法,利用自頂向下的設(shè)計(jì)方法, 設(shè)計(jì)了OPB 總線的仲裁器,并對(duì)其綜合結(jié)果做了比較。

1 OPB 總線仲裁機(jī)制

OPB 總線支持32 位數(shù)據(jù)/地址位寬,讀和寫數(shù)據(jù)總線分開,支持重試模式,支持突發(fā) (burst)傳輸模式,支持DMA,檢測總線超時(shí)功能,支持多個(gè)主設(shè)備的仲裁。OPB 總線的 系統(tǒng)結(jié)構(gòu)分為三個(gè)部分:主設(shè)備(Master),從設(shè)備(Slave)和總線邏輯。信號(hào)命名有三種: Mn_打頭的,是Master 的輸出;Sln_打頭的,是Slave 的輸出;OPB_打頭的,是總線邏輯 的輸入或輸出。OPB 總線允許有多個(gè)master,當(dāng)這幾個(gè)master 同時(shí)發(fā)出請(qǐng)求要求使用總線時(shí), 就必須對(duì)他們的請(qǐng)求進(jìn)行仲裁,并確定他們使用總線的優(yōu)先級(jí),這就是仲裁器的作用。OPB 總線仲裁器的輸入輸出信號(hào)如圖1 所示。


SYSCLK 和RESET 為OPB 總線的系統(tǒng)時(shí)鐘和復(fù)位信號(hào)。Mn_REQUEST 為4 個(gè)master 的請(qǐng)求信號(hào),OPB_MnGRANT 為仲裁器發(fā)出的授權(quán)信號(hào),OPB_SELECT 是master 收到授 權(quán)信號(hào)后發(fā)出的占用總線信號(hào),OPB_ABUS 為地址總線,OPB_DBUS 為數(shù)據(jù)總線, OPB_XFERACK 為slave 數(shù)據(jù)傳輸完的響應(yīng),OPB_RNW 是讀寫使能信號(hào),OPB_BUSLOCK 是master 鎖定對(duì)總線使用權(quán)的信號(hào),ARB_DBUS 和ARB_DBUSEN 是仲裁器的數(shù)據(jù)總線和 使能信號(hào),ARB_XFERACK 是仲裁器傳輸數(shù)據(jù)完成的響應(yīng)信號(hào)。OPB_TOUTSUP 是slave 超時(shí)禁止的信號(hào),OPB_TIMEOUT 是總線超時(shí)信號(hào)。

仲裁過程說明如下:

Master 首先發(fā)出Mn_REQUEST 信號(hào)申請(qǐng)占用總線,仲裁器根據(jù)總線占用情況和優(yōu)先權(quán) 算法發(fā)出OPB_MnGRANT 信號(hào),得到最高優(yōu)先權(quán)的master 拉高M(jìn)n_SELECT 信號(hào),其他 master 把這個(gè)信號(hào)置低,這4 個(gè)select 信號(hào)通過或邏輯形成OPB_SELECT 信號(hào)輸入給仲裁 器。

同時(shí)發(fā)送地址 Mn_ABUS,也是通過或邏輯轉(zhuǎn)變成OPB_ABUS 輸入給仲裁器。OPB 總 線有多個(gè)slave 設(shè)備,每個(gè)slave 都有自己的地址空間值,Master 發(fā)送的Mn_ABUS 正是包 含了他所要使用的slave 的地址值,slave 會(huì)對(duì)值進(jìn)行比較,如果相等,master 就可以對(duì)slave 進(jìn)行讀寫操作。

讀操作時(shí),master 拉高OPB_RNW,仲裁器拉高ARB_DBUSEN,并通過ARB_DBUS 輸 出數(shù)據(jù)。寫操作時(shí),master 拉低OPB_RNW,通過OPB_DBUS 輸入數(shù)據(jù)。當(dāng)有效數(shù)據(jù)傳輸完 成后,仲裁器會(huì)拉高ARB_XFERACK 信號(hào)響應(yīng)。Master 在收到響應(yīng)后,會(huì)拉低Mn_SELECT 信號(hào),結(jié)束此次總線事務(wù)。

2 OPB 總線仲裁器的設(shè)計(jì)

采用自頂向下的設(shè)計(jì)方法,將設(shè)計(jì)分成4 個(gè)模塊,分別為優(yōu)先級(jí)邏輯模塊,仲裁模 塊,看門狗超時(shí)模塊和鎖定/??磕K。原理圖如圖2 所示。



圖2 仲裁器設(shè)計(jì)原理圖

1) 優(yōu)先級(jí)邏輯模塊

這個(gè)模塊采用兩種不同的算法進(jìn)行設(shè)計(jì),分別是LRU(Least Recently Used)算法和固定 優(yōu)先級(jí)算法[1]。

a) LRU 算法

LRU 算法就是根據(jù)master 的編號(hào)循環(huán)得到優(yōu)先級(jí),保證每個(gè)設(shè)備都有機(jī)會(huì)獲得總線。我 們?cè)O(shè)計(jì)的是最多支持4 個(gè)master 的仲裁器,所以采用一個(gè)8 位的寄存器,用來存放4 個(gè)master 的二進(jìn)制編號(hào)。每個(gè)周期都要更新這個(gè)寄存器值,將得到最高優(yōu)先級(jí)的master 編號(hào)放到最 低優(yōu)先級(jí),其他3 個(gè)master 編號(hào)各進(jìn)一級(jí)。用這種算法設(shè)計(jì)的仲裁器的仿真結(jié)果如圖3。


其中 ARB_DBUS 讀出來的數(shù)據(jù)正是寄存器中保存的master 編號(hào),優(yōu)先級(jí)從高位到低位 遞減。00,01,10,11 代表master 的編號(hào)0,1,2,3。當(dāng)4 個(gè)master 同時(shí)發(fā)出請(qǐng)求時(shí),第 一個(gè)時(shí)鐘周期將優(yōu)先級(jí)授權(quán)給master0,第二個(gè)時(shí)鐘周期時(shí),master0 的優(yōu)先級(jí)降為最低,其 他三個(gè)優(yōu)先級(jí)遞進(jìn),所以此時(shí)授權(quán)給master1。后面的周期依次循環(huán),4 個(gè)master 將輪流獲 得授權(quán)。

b) 固定優(yōu)先級(jí)算法

固定優(yōu)先級(jí)算法將 4 個(gè)master 的優(yōu)先級(jí)按順序固定下來,不會(huì)改變[2]。這種算法設(shè)計(jì)更 簡單,不需要每周期對(duì)master 的優(yōu)先級(jí)更新。設(shè)計(jì)時(shí)優(yōu)先級(jí)寄存器中的值只在總線執(zhí)行寫 操作和復(fù)位時(shí)才會(huì)改變,平時(shí)固定不變。仿真結(jié)果見圖4。


ARB_DBUS 是寫入的4 個(gè)master 的優(yōu)先級(jí)順序,master0 為最高,master3 最低。當(dāng)4 個(gè)master 同時(shí)發(fā)出請(qǐng)求時(shí),授權(quán)給master0;當(dāng)master0 不發(fā)出請(qǐng)求,其他三個(gè)master 發(fā)出 請(qǐng)求時(shí),則根據(jù)優(yōu)先級(jí)順序,授權(quán)給master1;依此類推。

2)仲裁邏輯模塊

從優(yōu)先級(jí)邏輯模塊得到的優(yōu)先級(jí)寄存器信號(hào),將被輸入到仲裁邏輯模塊。用以對(duì)4 個(gè) master 的Mn_REQUEST 請(qǐng)求信號(hào)排序,然后優(yōu)先級(jí)從高到低排序的master 中,第一個(gè)拉高 請(qǐng)求信號(hào)的master 將被授權(quán)占用總線。仲裁邏輯模塊輸出的授權(quán)信號(hào)是最原始的,這個(gè)信 號(hào)還要經(jīng)過鎖定/??窟壿嬆K處理才能得到最終的授權(quán)信號(hào)(OPB_MnGRANT)。

3) 看門狗超時(shí)邏輯模塊

看門狗邏輯用來監(jiān)控OPB 的控制信號(hào),當(dāng)master 在16 個(gè)時(shí)鐘中期內(nèi)沒有能夠收到slave的響應(yīng)信號(hào)( OPB_XFERACK ) 和超時(shí)禁止信號(hào)( OPB_TOUTSUP ), 將會(huì)拉高 OPB_TIMEOUT 超時(shí)信號(hào)[3]。這部分的設(shè)計(jì)采用一個(gè)4 位計(jì)數(shù)器對(duì)時(shí)鐘進(jìn)行記數(shù)。

4) 鎖定/??窟壿嬆K

優(yōu)先級(jí)鎖定是得到最高優(yōu)先級(jí)的master 同時(shí)拉高OPB_BUSLOCK 信號(hào),這樣在這個(gè)信 號(hào)被置低之前,這個(gè)master 將始終得到總線的占用權(quán),仲裁邏輯將不啟用。此時(shí)不管master 是否發(fā)送請(qǐng)求,都不會(huì)對(duì)仲裁產(chǎn)生影響。優(yōu)先級(jí)的鎖定是通過將仲裁邏輯得到的原始優(yōu)先級(jí) 信號(hào)和OPB_BUSLOCK 信號(hào)相與后產(chǎn)生的。優(yōu)先級(jí)??渴钱?dāng)沒有新的master 發(fā)出請(qǐng)求信號(hào) 時(shí),總線繼續(xù)授權(quán)給當(dāng)前占用總線的master。這里設(shè)計(jì)了一個(gè)四位寄存器用來追蹤最近占用 總線的master 編號(hào)。

最后,通過altera 公司的CycloneII FPGA 對(duì)兩種設(shè)計(jì)進(jìn)行綜合[4],并對(duì)綜合結(jié)果進(jìn)行比 較。并采用cadence 公司的conformal 進(jìn)行RTL 代碼和網(wǎng)表之間的形式驗(yàn)證。表1 為綜合 和形式驗(yàn)證結(jié)果。


得出的結(jié)論是:固定優(yōu)先級(jí)算法設(shè)計(jì)簡單,占用資源少,可以達(dá)到較高的應(yīng)用頻率。但 這種算法使優(yōu)先級(jí)高的設(shè)備占著總線不放,當(dāng)總線事務(wù)繁忙時(shí),優(yōu)先級(jí)低的設(shè)備將申請(qǐng)不到 總線,所以只適用于總線使用率低,負(fù)載低的應(yīng)用。而LRU 算法雖然更占資源,頻率也低 點(diǎn),但這種算法授權(quán)更加公平,使所有設(shè)備都有機(jī)會(huì)申請(qǐng)到總線,適用于總線使用率高,負(fù) 載高的應(yīng)用。

3 結(jié)束語

本文通過對(duì) OPB 總線仲裁器兩種算法的研究,比較了兩種算法的性能優(yōu)劣并得出結(jié)論, 固定優(yōu)先級(jí)算法設(shè)計(jì)簡單,占用資源少,可以達(dá)到較高的應(yīng)用頻率,能夠保證主要處理器的 運(yùn)行速度,但缺乏公平性;LRU 算法更占資源,頻率較低,但具有公平性,適用于總線使 用率高,負(fù)載高的應(yīng)用。對(duì)不同的總線負(fù)載和使用率情況下選擇最佳的OPB 總線仲裁方案 提供了依據(jù),對(duì)高效的系統(tǒng)設(shè)計(jì)和嵌入式應(yīng)用有重要的參考價(jià)值和指導(dǎo)意義。



來源:xinxin0次

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在現(xiàn)代工業(yè)和汽車領(lǐng)域,控制器局域網(wǎng)(CAN)總線作為一種可靠且高效的通信方式,廣泛應(yīng)用于各種電子設(shè)備之間的數(shù)據(jù)傳輸。在 CAN 總線系統(tǒng)中,有一個(gè)看似毫不起眼卻至關(guān)重要的元件 ——120Ω 終端電阻。這個(gè)小小的電阻,對(duì)于...

關(guān)鍵字: 控制器局域網(wǎng) 總線 通信

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動(dòng)創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來一場聚焦FPGA技術(shù)與產(chǎn)業(yè)應(yīng)用的盛會(huì)——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開發(fā)板

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場可編程門陣列(FPGA)憑借其開發(fā)時(shí)間短、成本效益高以及靈活的現(xiàn)場重配置與升級(jí)等諸多優(yōu)點(diǎn),被廣泛應(yīng)用于各種產(chǎn)品領(lǐng)域。從通信設(shè)備到工業(yè)控制,從汽車電子到航空航天,F(xiàn)PGA 的身影無處不在。為了充分發(fā)揮...

關(guān)鍵字: 可編程門陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Altera?的Agilex? 3 FPGA C系列開發(fā)套件。此開...

關(guān)鍵字: FPGA 邊緣計(jì)算 嵌入式應(yīng)用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進(jìn)入體內(nèi),并對(duì)體內(nèi)器官或結(jié)構(gòu)進(jìn)行直接觀察和對(duì)疾病進(jìn)行診斷的醫(yī)療設(shè)備,一般由光學(xué)鏡頭、冷光源、光導(dǎo)纖維、圖像傳感器以及機(jī)械裝置等構(gòu)成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關(guān)鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運(yùn)用單片機(jī)和FPGA芯片作為主控制器件 , 單片機(jī)接收從PC機(jī)上傳過來的顯示內(nèi)容和顯示控制命令 , 通過命令解釋和數(shù)據(jù)轉(zhuǎn)換 , 生成LED顯示屏所需要的數(shù)據(jù)信號(hào)和同步的控制信號(hào)— 數(shù)據(jù)、時(shí)鐘、行同步和面同步 。FPGA芯...

關(guān)鍵字: 單片機(jī) FPGA LED顯示屏

在異構(gòu)計(jì)算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計(jì)算的關(guān)鍵架構(gòu)。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時(shí)鐘頻率下實(shí)現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關(guān)鍵字: ARM FPGA FSPI

為增進(jìn)大家對(duì)CAN總線的認(rèn)識(shí),本文將對(duì)CAN總線協(xié)議以及CAN總線負(fù)載率的設(shè)置予以介紹。

關(guān)鍵字: CAN 指數(shù) 總線

為增進(jìn)大家對(duì)CAN總線的認(rèn)識(shí),本文將對(duì)CAN總線的特征以及高低速CAN總線的特性予以介紹。

關(guān)鍵字: CAN 指數(shù) 總線

為增進(jìn)大家對(duì)CAN總線的認(rèn)識(shí),本文將對(duì)CAN總線的工作原理、CAN總線和LIN總線的區(qū)別予以介紹。

關(guān)鍵字: CAN 指數(shù) 總線
關(guān)閉