下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、淺論PCI總線仲裁器的設(shè)計與實現(xiàn)摘要:基于Altera的CPLD器件的PCI總線仲裁器設(shè)計,實現(xiàn)仲裁器的AHDL編程,并結(jié)合仿真結(jié)果對PCI總線的仲裁進(jìn)行了論述。關(guān)鍵詞:PCI仲裁器,CPLD,仿真PCI總線仲裁器通常是集成在PCI芯片組中。隨著計算機(jī)應(yīng)用的深入,尤其是嵌入式系統(tǒng)的不斷發(fā)展,集成的仲裁器難以滿足某些場合的應(yīng)用。而采用CPLD技術(shù)實現(xiàn)的獨立的PCI總線仲裁器,則較好的適應(yīng)了這方面的需求。一PCI總線仲裁機(jī)制PCI的仲裁是基于設(shè)備訪問,而不是基于時間分配的。在任一時刻,總線上的一個主設(shè)備要想獲得對總線的控制權(quán),就必須發(fā)出它的請求信號(PCIreqN),如果此刻該設(shè)備有權(quán)控制總線,總
2、線仲裁器就使該設(shè)備的總線占用允許信號(PCIgntN)有效,進(jìn)而獲得總線的使用權(quán)。當(dāng)有多個主設(shè)備同時發(fā)出總線控制請求時,就必須由仲裁器根據(jù)一定的算法判定,當(dāng)前應(yīng)該由哪個主設(shè)備獲得控制權(quán)。二、仲裁算法常用的仲裁算法有:公平算法、循環(huán)算法等。本仲裁器設(shè)計采用的是循環(huán)算法,設(shè)備的優(yōu)先級預(yù)先設(shè)定。目前的設(shè)計實現(xiàn)對四個PCI設(shè)備請求的仲裁,各設(shè)備優(yōu)先級由高到低安排為:設(shè)備0 設(shè)備1 設(shè)備2 設(shè)備3。系統(tǒng)啟動伊始,沒有設(shè)備使用PCI總線,也沒有設(shè)備請求使用PCI總線,仲裁器總是設(shè)定設(shè)備0擁有總線控制權(quán),即將總線??坑谠O(shè)備0。此時設(shè)備0的PCIgntN是有效的。而在此之后,仲裁器總是指定PCI總線的最后一個
3、使用者為總線的??吭O(shè)備。當(dāng)有一個或多個設(shè)備提出擁有總線使用權(quán)的請求時,仲裁器將按照事先安排的設(shè)備優(yōu)先級順序逐一查詢。對于只有一個設(shè)備請求的情況,該設(shè)備的請求將會馬上得到響應(yīng);如果多個設(shè)備同時發(fā)出請求時,仲裁器裁定首先響應(yīng)優(yōu)先等級高的設(shè)備的請求,當(dāng)此設(shè)備完成數(shù)據(jù)傳輸交出總線使用權(quán)后,再由優(yōu)先等級低的設(shè)備使用總線。示意框圖見圖2。如果一個設(shè)備已獲得總線使用權(quán)并且正在進(jìn)行地址、數(shù)據(jù)傳輸時,比它優(yōu)先級別高的設(shè)備也發(fā)出了占用請求,仲裁器將會撤銷優(yōu)先級別低的設(shè)備的總線占用信號,并把總線使用權(quán)交給優(yōu)先級別高的設(shè)備,同時還要確保在任一時刻不會出現(xiàn)多個設(shè)備同時占用總線的情況。具體見仿真分析。三、編程設(shè)計與實現(xiàn)本
4、設(shè)計使用AHDL語言,在MaxplusII 10.0上編譯通過,并進(jìn)行了仿真。1.仲裁器信號定義SUBDESIGN PCI_arb( - 輸入PCIclk :INPUT - PCI時鐘Arbiter_rstN :INPUT - 復(fù)位信號PCIreqN3.0 :INPUT - 總線占用請求信號frameN :INPUT - 數(shù)據(jù)交易的啟動或開始,主設(shè)備發(fā)出irdyN :INPUT -交易數(shù)據(jù)準(zhǔn)備好,主設(shè)備發(fā)出- 輸出PCIgntN3.0 :OUTPUT - 總線占用允許信號)frameN和irdyN決定了總線的狀態(tài),只要兩個信號中的一個有效,就表明總線上有數(shù)據(jù)通過,總線處于忙狀態(tài);當(dāng)兩個123下
5、一頁 信號都無效時,則總線處于空閑狀態(tài)。2.仲裁器狀態(tài)機(jī)定義parb_sm : MACHINEOF BITS ( PARB2 , PARB1 , PARB0 )WITH STATES (PARB_SLT0 = 0, - PCIgnt0#有效,設(shè)備0擁有總線使用權(quán),總線空閑PARB_SLT0D = 1, - PCIgnt0#有效,數(shù)據(jù)在總線上傳輸,總線處于忙狀態(tài)PARB_SLT1 = 2, - 以下類同PARB_SLT1D = 3,PARB_SLT2 = 4,PARB_SLT2D = 5,PARB_SLT3 = 6,PARB_SLT3D = 7 );3.仲裁的實現(xiàn)由于采用循環(huán)算法,對每一個設(shè)備而
6、言狀態(tài)的變換都是相同的,下面僅以設(shè)備0的狀態(tài)轉(zhuǎn)換為例:CASE parb_sm ISWHEN PARB_SLT0 =IF ( !frameN # !irdyN # frameN & irdyN & PARBtout4 ) THENIF ( !PCIreqN1 ) THENPCIgntN1 = GND;parb_sm = PARB_SLT1D;ELSIF ( !PCIreqN2 ) THENPCIgntN2 = GND;parb_sm = PARB_SLT2D;ELSIF ( !PCIreqN3 ) THENPCIgntN3 = GND;parb_sm = PARB_SLT3D;ELSEPCIg
7、ntN0 = GND;parb_sm = PARB_SLT0D;ELSEPCIgntN0 = GND;parb_sm = PARB_SLT0D;END IF;WHEN PARB_SLT0D =PCIgntN0 = GND;IF ( frameN & irdyN ) THENparb_sm = PARB_SLT0;ELSEParb_sm = PARB_SLT0D;END IF;為了避免AD線上和PAR線上出現(xiàn)時序競爭,一個設(shè)備的PCIgntN信號有效和另一個設(shè)備的PCIgntN的撤銷,如果不是在總線空閑狀態(tài),則兩者之間至少要有一個時鐘的延遲。設(shè)計中,將每個設(shè)備占用總線的狀態(tài)分為兩部分,PARB_
8、SLTx(總線空閑)和PARB_SLTxD(總線忙);狀態(tài)機(jī)不能從一個設(shè)備的PARB_SLTxD狀態(tài)直接轉(zhuǎn)到另一個設(shè)備的PARB_SLTyD狀態(tài),中間必須經(jīng)過至少一個時鐘的PARB_SLTx狀態(tài)的銜接,這樣就避免了總線上競爭的出現(xiàn)。代碼中,PARBtout為一5位計數(shù)器,對PCI時鐘個數(shù)進(jìn)行計數(shù),用來判別設(shè)備發(fā)出請求信號后是否在規(guī)定時間內(nèi)(16個時鐘,即PARBtout4.0 = 10000)占據(jù)了總線,啟動了數(shù)據(jù)的傳輸;如果超時,則撤銷該設(shè)備的請求信號,并按預(yù)設(shè)的優(yōu)先級順序,對其余設(shè)備總線使用權(quán)進(jìn)行新一輪的裁定。計數(shù)器的編程實現(xiàn):IF ( PARBtout4 # PCIreqN0 & PCI
9、reqN1 & PCIreqN2 & PCIreqN3 ) THENPARBtout = 0;ELSIF ( frameN & ird上一頁123下一頁 yN ) THENPARBtout = PARBtout + 1;ELSEPARBtout = 0;END IF;四、仿真分析1.單一設(shè)備總線請求情況系統(tǒng)初始化后自動將總線??坑谠O(shè)備0上,總線處于空閑狀態(tài),frameN、irdyN均為高電平。需要強(qiáng)調(diào)的一點是,仲裁所用的PCI控制信號均在PCI時鐘信號的上升沿采樣而得。如圖3所示,設(shè)備2發(fā)出總線占用信號,仲裁器在時鐘上升沿A處采樣到該信號,并開始啟動PARBtout計數(shù),此時的frameN、i
10、rdyN為高電平,設(shè)備0仍然擁有總線使用權(quán);隨后設(shè)備2驅(qū)動使得frameN和irdyN有效,在時鐘上升沿B處,仲裁器采樣到frameN和irdyN,計數(shù)器清零,使設(shè)備2的PCIgntN2信號有效,從而占用總線,設(shè)備把地址、數(shù)據(jù)驅(qū)動到總線上,總線處于忙狀態(tài)。之后,設(shè)備2撤銷其PCIreqN2信號,放棄對總線的占用;接著frameN、irdyN信號相繼無效,表明數(shù)據(jù)傳輸?shù)耐瓿?,總線變?yōu)榭臻e,仲裁器在C處采樣后,將總線??吭谠O(shè)備2上。2.多個設(shè)備同時請求總線使用權(quán)(以兩個設(shè)備為例)設(shè)備3首先發(fā)出請求信號,仲裁器在時鐘A處采樣后,計數(shù)器開始計數(shù),此時總線仍然為設(shè)備0占用著;在時鐘B處的采樣,檢測到fr
11、ameN有效,表明數(shù)據(jù)傳輸?shù)拈_始,仲裁器使得PCIgntN3信號有效,設(shè)備3獲得總線所有權(quán);在隨后的一個時鐘上升沿,仲裁器采樣到設(shè)備2的總線請求信號,此時由于frameN、irdyN依然有效,表明數(shù)據(jù)傳輸正在進(jìn)行中,必須等當(dāng)前數(shù)據(jù)傳輸完成后,設(shè)備2才能占用總線進(jìn)行自己的數(shù)據(jù)傳輸,此時仲裁器隱含設(shè)定設(shè)備2擁有總線使用權(quán)。設(shè)備3在時鐘C之前使得frameN、irdyN無效,總線進(jìn)入空閑狀態(tài),??吭谠O(shè)備3上。設(shè)備2檢測到總線空閑,驅(qū)動自己的frameN、irdyN信號,仲裁器在時鐘D處采樣到有效的frameN、irdyN信號后,使PCIgntN2有效,設(shè)備2占據(jù)總線,開始數(shù)據(jù)的傳輸。設(shè)備2使用完總線后,使總線回到空閑狀態(tài),??吭谠O(shè)備2上;設(shè)備3檢測到總線空閑,再次驅(qū)動frameN、irdyN有效,從而再次獲得總線使用權(quán)(時鐘上升沿F處)。所有傳輸完成后,總線將??吭谠O(shè)備3上。值得一提的是,如果設(shè)備3在被迫交出總線前不能完成所有數(shù)據(jù)的傳輸,它必須使自己的PCIreqN3信號持續(xù)有效,這樣在設(shè)備2用完總線后,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 火車開水供應(yīng)窗改造協(xié)議
- 建筑混凝土輸送車維修服務(wù)合同
- 網(wǎng)絡(luò)侵權(quán)打架私了協(xié)議書
- 《個人知識管理N》課件
- 【初中道法】滋養(yǎng)心靈教學(xué)課件-2024-2025學(xué)年統(tǒng)編版道德與法治七年級上冊
- 皮膚病學(xué)定義和范疇
- 關(guān)于建筑工程實習(xí)報告模板錦集7篇
- 浙江省臺州市(2024年-2025年小學(xué)五年級語文)統(tǒng)編版階段練習(xí)(上學(xué)期)試卷及答案
- 關(guān)于成功的演講稿 15篇
- 智慧園區(qū)運營升級解決方案
- 2024年公安智能外呼項目合同
- 河南省信陽市2024-2025學(xué)年七年級上學(xué)期期中歷史試題(含答案)
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 2024年學(xué)校食堂管理工作計劃(六篇)
- 體育賽事組織服務(wù)協(xié)議
- 天車工競賽考核題
- 民辦非企業(yè)單位理事會制度
- 臨床輸血的護(hù)理課件
- 民生銀行在線測評真題
- 人教版(PEP)小學(xué)六年級英語上冊全冊教案
- 第二章 旅游線路類型及設(shè)計原則
評論
0/150
提交評論