<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 從設(shè)置、加載、啟動看Xilinx FPGA配置流程

          從設(shè)置、加載、啟動看Xilinx FPGA配置流程

          作者: 時間:2018-08-03 來源:網(wǎng)絡(luò) 收藏

            盡管的配置模式各不相同,但整個配置過程中的工作流程是一致的,分為三個部分:設(shè)置、加載、啟動。

          本文引用地址:http://www.ex-cimer.com/article/201808/389992.htm

            復(fù)位結(jié)束配置開始

            有多種方式使的配置進入這一過程。在上電時,電壓達到FPGA要求之前,F(xiàn)PGA的上電復(fù)位模塊將使FPGA保持在復(fù)位狀態(tài);外部控制PROG_B引腳出現(xiàn)一個低脈沖也可以使FPGA保持在復(fù)位狀態(tài)。

            清除配置存儲內(nèi)容

            這一步稱為初始化,當FPGA復(fù)位結(jié)束,配置存儲器的內(nèi)容會被自動清除。在這個步驟中,除配置專用接口外,F(xiàn)PGA I/O均被置于高阻態(tài)。在整個初始化過程中,INIT_B引腳被置低并在初始化結(jié)束后恢復(fù)高電平。如果INIT_B信號在外部被拉低,F(xiàn)PGA將一直停留在初始化狀態(tài)。注意PROG_B信號的脈寬不能太窄。

            采樣控制信號

            初始化結(jié)束后,INIT_B信號回到高電平。FPGA開始采集模式選擇引腳M[1:0]和變量選擇引腳VS。如果為主動模式,F(xiàn)PGA很快就會給出有效的CCLK。VS信號只在主動BPI及其SPI模式中生效。此時,F(xiàn)PGA開始在配置時鐘的上升沿對配置數(shù)據(jù)進行采樣。

            同步化

            每一個FPGA配置數(shù)據(jù)流都有一個同步頭,它是一段特殊的同步字。同步字主要用于幫助FPGA確定正確的數(shù)據(jù)位置。同步字之前的配置數(shù)據(jù)都會被FPGA忽略,也就是FPGA僅僅在同步化之后才正式開始接收配置數(shù)據(jù)。一般而言,同步字都是由0/1數(shù)目相同的二進制數(shù)組成的,如Spartan3為AA995566。

            ID檢查

            FPGA同步化后,會自動檢測配置流中的器件ID和目標器件ID是否一致。這一步確保了FPGA不會被錯誤的配置流誤配置。

            32位的ID中包含了28位的特征值和4位掩碼。特征值包括廠商信息,器件族,器件規(guī)模等。當器件ID檢查遇到問題時,F(xiàn)PGA會將內(nèi)部寄存器的第一位ID_Err置高,軟件也會顯示錯誤信息。

            載入配置內(nèi)容

            在ID檢查順利通過后,F(xiàn)PGA開始加載配置數(shù)據(jù)。

            CRC校驗

            在加載數(shù)據(jù)過程中,F(xiàn)PGA會對每一幀數(shù)據(jù)進行CRC校驗。如果失敗,F(xiàn)PGA會將INIT_B信號拉低并終止配置過程。

            啟動序列

            FPGA配置數(shù)據(jù)加載完后,F(xiàn)PGA進入啟動序列。啟動序列事件的默認順序為先釋放DONE引腳,然后激活I(lǐng)/O,最后啟動寫使能。實際使用中,可以通過BitGen參數(shù)對啟動順序進行設(shè)置來滿足不同的需求。




          關(guān)鍵詞: Xilinx FPGA

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();