<form id="itnzz"><noscript id="itnzz"></noscript></form>

          1. <menuitem id="itnzz"></menuitem>
          2. 成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
            現在位置:范文先生網>理工論文>電子通信論文>PCI總線仲裁器的設計與實現

            PCI總線仲裁器的設計與實現

            時間:2023-02-20 23:33:28 電子通信論文 我要投稿
            • 相關推薦

            PCI總線仲裁器的設計與實現

            摘要:基于Altera的CPLD器件的PCI總線仲裁器設計,實現仲裁器的AHDL編程,并結合仿真結果對PCI總線的仲裁進行了論述。

                關鍵詞:PCI仲裁器,CPLD,仿真

                PCI總線仲裁器通常是集成在PCI芯片組中。隨著計算機應用的深入,尤其是嵌入式系統的不斷發展,集成的仲裁器難以滿足某些場合的應用。而采用CPLD技術實現的獨立的PCI總線仲裁器,則較好的適應了這方面的需求。

                一﹑PCI總線仲裁機制

                PCI的仲裁是基于設備訪問,而不是基于時間分配的。在任一時刻,總線上的一個主設備要想獲得對總線的控制權,就必須發出它的請求信號(PCIreqN),如果此刻該設備有權控制總線,總線仲裁器就使該設備的總線占用允許信號(PCIgntN)有效,進而獲得總線的使用權。當有多個主設備同時發出總線控制請求時,就必須由仲裁器根據一定的算法判定,當前應該由哪個主設備獲得控制權。

                二、仲裁算法

                常用的仲裁算法有:公平算法、循環算法等。

                本仲裁器設計采用的是循環算法,設備的優先級預先設定。目前的設計實現對四個PCI設備請求的仲裁,各設備優先級由高到低安排為:設備0 >設備1 > 設備2 > 設備3。

                系統啟動伊始,沒有設備使用PCI總線,也沒有設備請求使用PCI總線,仲裁器總是設定設備0擁有總線控制權,即將總線?坑谠O備0。此時設備0的PCIgntN是有效的。而在此之后,仲裁器總是指定PCI總線的最后一個使用者為總線的?吭O備。

                當有一個或多個設備提出擁有總線使用權的請求時,仲裁器將按照事先安排的設備優先級順序逐一查詢。對于只有一個設備請求的情況,該設備的請求將會馬上得到響應;如果多個設備同時發出請求時,仲裁器裁定首先響應優先等級高的設備的請求,當此設備完成數據傳輸交出總線使用權后,再由優先等級低的設備使用總線。示意框圖見圖2。

                如果一個設備已獲得總線使用權并且正在進行地址、數據傳輸時,比它優先級別高的設備也發出了占用請求,仲裁器將會撤銷優先級別低的設備的總線占用信號,并把總線使用權交給優先級別高的設備,同時還要確保在任一時刻不會出現多個設備同時占用總線的情況。具體見仿真分析。

                三、編程設計與實現

                本設計使用AHDL語言,在MaxplusII 10.0上編譯通過,并進行了仿真。

                1. 仲裁器信號定義


            SUBDESIGN  PCI_arb
            (       -- 輸入
            PCIclk         :INPUT  -- PCI時鐘
                      Arbiter_rstN     :INPUT  -- 復位信號
                      PCIreqN[3..0]    :INPUT  -- 總線占用請求信號
                      frameN         :INPUT  -- 數據交易的啟動或開始,主設備發出
                      irdyN           :INPUT  --交易數據準備好,主設備發出
                     
            -- 輸出
                      PCIgntN[3..0]    :OUTPUT -- 總線占用允許信號
                 )

                frameN和irdyN決定了總線的狀態,只要兩個信號中的一個有效,就表明總線上有數據通過,總線處于忙狀態;當兩個信號都無效時,則總線處于空閑狀態。

            2. 仲裁器狀態機定義
            parb_sm : MACHINE
              OF BITS ( PARB2 , PARB1 , PARB0 )
              WITH STATES (
                PARB_SLT0  = 0, -- PCIgnt0#有效,設備0擁有總線使用權,總線空閑
                PARB_SLT0D = 1, -- PCIgnt0#有效,數據在總線上傳輸,總線處于忙狀態
                P

            ARB_SLT1  = 2, -- 以下類同
                PARB_SLT1D = 3,
                PARB_SLT2  = 4,
                PARB_SLT2D = 5,
                PARB_SLT3  = 6,
            PARB_SLT3D = 7 );

                3. 仲裁的實現

               由于采用循環算法,對每一個設備而言狀態的變換都是相同的,下面僅以設備0的狀態轉換為例:
                CASE  parb_sm  IS
                   WHEN PARB_SLT0 =>
                       IF ( !frameN # !irdyN # frameN & irdyN & PARBtout4 ) THEN
                          IF ( !PCIreqN1 ) THEN
                             PCIgntN1  = GND;
                             parb_sm   = PARB_SLT1D;
                          ELSIF ( !PCIreqN2 ) THEN
                             PCIgntN2  = GND;
                             parb_sm   = PARB_SLT2D;
                          ELSIF ( !PCIreqN3 ) THEN
                             PCIgntN3  = GND;
                             parb_sm   = PARB_SLT3D;
                          ELSE
                             PCIgntN0  = GND;
                             parb_sm   = PARB_SLT0D;
                       ELSE
                          PCIgntN0  = GND;
                          parb_sm   = PARB_SLT0D;
                       END IF;

                  WHEN PARB_SLT0D =>
                      PCIgntN0    = GND;
                       IF ( frameN & irdyN ) THEN
                          parb_sm   = PARB_SLT0;
                       ELSE
                          Parb_sm   = PARB_SLT0D;
                       END IF;
             

               
                為了避免AD線上和PAR線上出現時序競爭,一個設備的PCIgntN信號有效和另一個設備的PCIgntN的撤銷,如果不是在總線空閑狀態,則兩者之間至少要有一個時鐘的延遲。設計中,將每個設備占用總線的狀態分為兩部分,PARB_SLTx(總線空閑)和PARB_SLTxD(總線忙);狀態機不能從一個設備的PARB_SLTxD狀態直接轉到另一個設備的PARB_SLTyD狀態,中間必須經過至少一個時鐘的PARB_SLTx狀態的銜接,這樣就避免了總線上競爭的出現。

                代碼中,PARBtout為一5位計數器,對PCI時鐘個數進行計數,用來判別設備發出請求信號后是否在規定時間內(16個時鐘,即PARBtout[4..0] = 10000)占據了總線,啟動了數據的傳輸;如果超時,則撤銷該設備的請求信號,并按預設的優先級順序,對其余設備總線使用權進行新一輪的裁定。計數器的編程實現:

            IF ( PARBtout4 # PCIreqN0 & PCIreqN1 & PCIreqN2 & PCIreqN3 ) THEN
            PARBtout [ ] = 0;
                 ELSIF ( frameN & irdyN ) THEN
                    PARBtout [ ] = PARBtout [ ] + 1;
                 ELSE
                    PARBtout [ ] = 0;
                 END IF;

            四、仿真分析

                1. 單一設備總線請求情況

                系統初始化后自動將總線?坑谠O備0上,總線處于空閑狀態,frameN、irdyN均為高電平。需要強調的一點是,仲裁所用的PCI控制信號均在PCI時鐘信號的上升沿采樣而得。如圖3所示,設備2發出總線占用信號,仲裁器在時鐘上升沿A處采樣到該信號,并開始啟動PARBtout計數,此時的frameN、irdyN為高電平,設備0仍然擁有總線使用權;隨后設備2驅動使得frameN和irdyN有效,在時鐘上升沿B處,仲裁器采樣到frameN和irdyN,計數器清零,使設備2的PCIgntN2信號有效,從而占用總線,設備把地址、數據驅動到總線上,總線處于忙狀態。

            之后,設備2撤銷其PCIreqN2信號,放棄對總線的占用;接著frameN、irdyN信號相繼無效,表明數據傳輸的完成,總線變為空閑,仲裁器在C處采樣后,將總線停靠在設備2上。

                2. 多個設備同時請求總線使用權(以兩個設備為例)

                設備3首先發出請求信號,仲裁器在時鐘A處采樣后,計數器開始計數,此時總線仍然為設備0占用著;在時鐘B處的采樣,檢測到frameN有效,表明數據傳輸的開始,仲裁器使得PCIgntN3信號有效,設備3獲得總線所有權;

                在隨后的一個時鐘上升沿,仲裁器采樣到設備2的總線請求信號,此時由于frameN、irdyN依然有效,表明數據傳輸正在進行中,必須等當前數據傳輸完成后,設備2才能占用總線進行自己的數據傳輸,此時仲裁器隱含設定設備2擁有總線使用權。設備3在時鐘C之前使得frameN、irdyN無效,總線進入空閑狀態,停靠在設備3上。設備2檢測到總線空閑,驅動自己的frameN、irdyN信號,仲裁器在時鐘D處采樣到有效的frameN、irdyN信號后,使PCIgntN2有效,設備2占據總線,開始數據的傳輸。設備2使用完總線后,使總線回到空閑狀態,?吭谠O備2上;設備3檢測到總線空閑,再次驅動frameN、irdyN有效,從而再次獲得總線使用權(時鐘上升沿F處)。所有傳輸完成后,總線將?吭谠O備3上。

                值得一提的是,如果設備3在被迫交出總線前不能完成所有數據的傳輸,它必須使自己的PCIreqN3信號持續有效,這樣在設備2用完總線后,仲裁器能將使用權交回,從而完成剩余數據的傳輸。

                圖5為設備獲得總線使用權,在設定的16個時鐘周期內沒有啟動傳輸,仲裁器狀態的變換。仍以兩個設備為例。

                五、應用CPLD進行PCI總線仲裁器的設計,系統結構簡單;配置靈活,可以根據系統的需要,對有關信號進行裁減或者擴展;在線修改方便。本設計采用Altera的EPM3064實現,并應用于所設計的系統板中。

             


            【PCI總線仲裁器的設計與實現】相關文章:

            基于PCI總線的CAN卡的設計與實現08-06

            PCI總線協議的FPGA實現及驅動設計08-06

            如何給PCI卡選用合適的總線控制器08-06

            基于PCI總線加密卡硬件設計08-06

            基于PCI總線的MPEG-1壓縮卡軟硬件設計及實現08-06

            PCI總線和DSP芯片的圖像處理平臺的硬件設計08-06

            基于PCI總線的實時圖像識別與跟蹤平臺設計08-06

            高速PCI總線接口卡的開發08-06

            基于PCI總線的雷達視頻采集方案08-06

            主站蜘蛛池模板: 亚洲欧美国产精品久久| 久久久久国产精品人妻| 亚洲精品日韩久久精品| 久久月本道色综合久久| 精品无码国产污污污免费| 欧美日韩精品一区二区视频| 亚洲精品一区二区三区蜜| 丁香五月亚洲综合深深爱| 精品国产一区二区三区久久女人| 亚洲性日韩精品一区二区三区| 国产午夜福利视频第三区| 亚洲国产中文字幕精品| 国产激情电影综合在线看| 亚洲国产中文在线有精品| 夜夜添无码一区二区三区| 亚洲自拍精品视频在线| 最新av中文字幕无码专区| 人妻无码久久久久久久久久久 | 麻豆国产成人AV在线播放| 欧美成人精品手机在线| 亚洲最大在线精品| 无码人妻斩一区二区三区| 91久久国产热精品免费| 另类专区一区二区三区| 双乳奶水饱满少妇呻吟免费看 | 亚洲gv天堂无码男同在线观看| 亚洲熟妇色xxxxx亚洲| 亚洲欧洲色图片网站| 国产精品无码av不卡| 色综合AV综合无码综合网站| 国产亚洲日韩在线aaaa| 亚洲第一视频在线观看| 最新亚洲人成网站在线影院| 18禁成人免费无码网站| 99精品国产在热久久无| 久久精品国产99久久丝袜| 欧洲精品色在线观看| 人妻无码ΑV中文字幕久久琪琪布| 成人乱码一区二区三区四区| 韩国V欧美V亚洲V日本V| 蜜臀av在线无码国产|