www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

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

0 引言

隨著 SOC 設(shè)計技術(shù)的發(fā)展,為了使IP 核集成更快速、更方便,縮短進(jìn)入市場的時間, 迫切需要一種標(biāo)準(zhǔn)的互聯(lián)方案。CoreConnect 正是在這一背景下為SOC 設(shè)計的總線架構(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è)備提供接口的總線。由于集成到總線中的功能模 塊越來越多,對于共享總線系統(tǒng),片上仲裁是使得各個模塊有效運(yùn)作的必要手段。目前關(guān)于 OPB 總線仲裁器這方面的研究報道較少,為了探尋在不同的系統(tǒng)負(fù)載和系統(tǒng)應(yīng)用下選擇最 佳的OPB 總線仲裁方案,本文基于固定優(yōu)先級和LRU 兩種算法,利用自頂向下的設(shè)計方法, 設(shè)計了OPB 總線的仲裁器,并對其綜合結(jié)果做了比較。

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

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


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

仲裁過程說明如下:

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

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

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

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

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



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

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

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

a) LRU 算法

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


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

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

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


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

2)仲裁邏輯模塊

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

3) 看門狗超時邏輯模塊

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

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

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

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


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

3 結(jié)束語

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



來源:xinxin0次

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

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

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

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

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

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場可編程門陣列(FPGA)憑借其開發(fā)時間短、成本效益高以及靈活的現(xiàn)場重配置與升級等諸多優(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 邊緣計算 嵌入式應(yīng)用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進(jìn)入體內(nèi),并對體內(nèi)器官或結(jié)構(gòu)進(jìn)行直接觀察和對疾病進(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ù)信號和同步的控制信號— 數(shù)據(jù)、時鐘、行同步和面同步 。FPGA芯...

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

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

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

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

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

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

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

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

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