操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    用CPU配置公司的FPGA一. 概 述目前很多產品都廣泛用了FPGA,雖然品種不同,但編程方式幾乎都一樣:利用專用的EPROM對FPGA進行配置。專用的EPROM價格不便宜,且大不跟上都是一次性OPT方式編程。一旦更改FPGA設計,代價不小。 為了進一步降低產品的成本和升級成本,可以考慮利用板上現有CPU子系統中空閑的ROM空間存放FPGA的配置數據,并由CPU模擬專用EPROM對FPGA進行配置。 本文將以和為例,講解如何利用CPU來配置FPGA。 CPU配置FPGA的優點與 EPROM方式相比本設計有如下優點:1. 降低硬件成本——省去了FPGA專用EPROM的成本,而幾乎不增加其他成本。以的10K系列為例,板上至少要配一片以上的EPC1,每片EPC1的價格要幾十元mpc860上電初始化流程分析,容量1M位。提供1Mb的存儲空間,對于大部分單板來說(如860系統的單板),是不需要增加硬件的。即使增加1Mb存儲空間,通用存儲器也會比FPGA專用EPROM便宜。2. 可多次編程——FPGA專用EPROM幾乎都是OTP,一旦更換FPGA版本,舊版本的并不便宜的EPROM只能丟棄。

    如果使用本設計對FPGA配置,選用可擦除的通用存儲器保存FPGA的編程數據,更換FPGA版本,無須付出任何硬件代價。這也是降低硬件成本的一個方面。3. 實現真正"現場可編程"--FPGA的特點就是"現場可編程",只有使用CPU對FPGA編程才能體現這一特點。如果設計周全的話,單板上的FPGA可以做到在線升級。4. 減少生產工序--省去了對"FPGA專用EPROM"燒結的工序,對提高生產率,降低生產成本等均有好處。對于雙面再流焊的單板,更可省去手工補焊DIP器件的工序。當然,與 EPROM方式相比也有一些需要注意的的地方:1. 需要CPU提供5根I/O線--一般來說,這并不困難。對于一類的CPU來說,區區5根I/O線是不成問題的。即使是某些設計中實在沒有多余的I/O供配置使用,也可通過板上的PLD擴展。雖然這樣做可能會增加成本,但獲得的真正"現場可編程"的功能是非常寶貴的。2. CPU的Boot應不依賴于FPGA--這在單板設計時需要特別考慮的。由于CPU對FPGA進行配置所需的資源很少,這一點比較容易做到。設計摘要本設計嚴格按照FPGA的PS配置流程進行,并在配置過程中始終監測工作狀態,在完善的軟件配合下,可糾正如上電次序導致配置不正常等錯誤。

    因此,采用此方法對FPGA進行配置,性能將優于 EPROM方式。本設計是利用板上現有CPU子系統中空閑的ROM空間存放FPGA的配置數據,并由CPU模擬專用EPROM對FPGA進行配置,以降低硬件成本并實現FPGA的在線升級。本設計已在和環境下完成驗證,適用于有5個多余I/O的CPU對 FPGA的配置。參考資料:AN-116 SRAM-Based LUT : ACEX 1K Logic 二. 硬件設計1.配置基本原理RAM-Based FPGA由于SRAM工藝的特點,掉電后數據會消失。因此,每次系統上電后,均需對FPGA進行配置。對于的FPGA,配置方法可分為:專用的EPROM ( EPROM)、PS( 無源串行)、PPS( 無源同步并行)、PPA( 無源異步并行)、JTAG(不是所有器件都支持)。

    本設計采用PS方式對FPGA進行配置,是基于如下幾個方面的考慮:1. PS方式連線最簡單2. 與 EPROM方式可以兼容(MSEL0、1設置不變)3. 與并行配置相比,誤操作的幾率小,可靠性高 只需利用CPU的5個I/O線,就可按圖 2所指示的時序對FPGA 進行PS方式的配置。2.配置電路的連接CPU僅需要利用5個I/O腳與FPGA相連,就實現了PS方式的硬件連接,具體信號見下表(信號方向從CPU側看): I/O說明 on reset (a low to high the the ) bit (gets after , will be high if ) bit an error if low? 圖 3 PS配置單片FPGA的硬件連接 ? 圖 4 PS配置多片FPGA的硬件連接?3.配置操作過程CPU按下列步驟操作I/O口線,即可完成對FPGA的配置:1. ="0"、DCLK="0",保持2μS以上。

    2. 檢測,如果為"0",表明FPGA已響應配置要求,可開始進行配置。否則報錯。正常情況下,="0"后1μS內將為"0"。3. ="1",并等待5μS。4. Data0上放置數據(LSB first),DCLK="1",延時。5. DCLK="0",并檢測,若為"0",則報錯并重新開始。6. 準備下一位數據,并重復執行步驟4、5,直到所有數據送出為止。7. 此時應變成"1",表明FPGA的配置已完成。如果所有數據送出后mpc860上電初始化流程分析,不為"1",必須重新配置(從步驟1開始)。8. 配置完成后,再送出10個周期的DCLK,以使FPGA完成初始化。注意事項:1. DCLK時鐘頻率的上限對不同器件是不一樣的,具體限制見下表:最高頻率、、、、. 步驟7中FPGA完成初始化所需要的10個周期的DCLK是針對ACEX 1K和FLEX 10KE的。如果是APEX 20K,則需要40個周期。

    3. 在配置過程中,如果檢測到為"0",表明FPGA配置有錯誤,則應回到步驟1重新開始。?圖 5 操作流程框圖??4.實現在線升級采用本模塊的最大優點是可以實現單板FPGA的在線升級。要實現在線升級,單板設計必須考慮以下幾個問題:1. CPU的啟動必須不依賴于FPGA,即CPU子系統應在FPGA被配置前可獨立運行并訪問所需資源。CPU對FPGA進行配置所需的資源很少,一般來說,僅RAM和的訪問而已。2. FPGA配置前(或配置過程中)必須保證控制的設備處于非工作態或不影響其他設備工作的穩定態。3. 為了實現FPGA的在線升級,存放FPGA配置數據的存儲器器必須是CPU可重寫的,且此存儲器應是非易失性的,以保證單板斷電后,FPGA數據不需從后臺重新獲得。具體過程結合圖6的實例,對FPGA在線升級作一具體描述。圖6 FPGA在線升級1. 使用編譯和連接工具,將FPGA的第一個版本與的工作程序連接在一起,分別占用地址為-和-的存儲空間。2. 單板啟動時,自動將-的數據下載到FPGA中,完成FPGA配置。

    3. 當FPGA需升級時,將新的RBF配置文件放在后臺計算機中。4. 把的-空間當作普通數據存儲區,通過后臺將新的RBF配置文件放在-中。5. 調用中的FPGA配置子程序,對FPGA從新下載數據,完成FPGA升級。以和 為例,電原理圖如下:圖7 電原理圖編程文件格式的轉換MAX+或生成的SOF或POF文件不能直接用于CPU配置FPGA中,需要進行數據轉換才能得到軟件可用的配置數據。在中的具體步驟如下:1. 進入數據轉換對話框 圖1 進入數據轉換對話框SOF文件,對于配置多個FPGA的場合,應選擇所有的SOF文件并排好次序。輸出文件的格式我們選則二進制的rbf()。 (也可以選擇其他格式,如HEX等,在CPU軟件編寫上會與本文例子略有區別,關于不同文件格式的區別,在的AN116號文檔上有詳細解釋) 圖2 選擇相應的輸出數據格式在軟件的file菜單下,同樣可以找到類似菜單進行格式轉化。

    ?CPU程序設計以為例,我們可以將轉換完成的RBF文件作為二進制文件,直接寫到系統的某一ROM/Flash區域。由于這段數據的起始地址和長度都是已知的,相應的軟件編寫是很方便的。本設計的CPU源程序void (void){ // 初始化PB口相應位:// PB24-輸出,PB25-輸入,PB26-輸出,PB27-輸入,PB28-輸出IMMR->=0IMMR->=;IMMR->=0IMMR->=;}UBYTE (void){ // FPGA配置UBYTE *;UWORD =0x0;UBYTE , i;// 獲得Boot區首地址=(UBYTE *)(IMMR-> & IMMR-> & );(0); // ="0",使FPGA進入配置狀態(0);();if (() == 1){ // 檢測,如果為"0",表明FPGA已響應配置要求,可開始進行配置。

    否則報錯(1); 0;}(1);();// 開始輸出配置數據:while( >= 1; // 準備下一位數據if (() == 0){ // 檢測,如果為"0",表明FPGA配置出錯 (1); 0;}(0);}++;}// FPGA初始化:// ACEX 1K和FLEX 10KE需要10個周期,APEX 20K需要40個周期for(i=0; |= 0else IMMR-> &= ;}// 讀狀態UBYTE (void){ // (IMMR-> & 0 1;else 0;}// 設置電平void (UBYTE ){ // () IMMR-> |= 0else IMMR-> &= ;}// 讀狀態UBYTE (void){ // (IMMR-> & 0 1;else 0;}// 輸出 (UBYTE ){ // () IMMR-> |= 0else IMMR-> &= ;}// 結束我們已在某單板上實現了該設計。

    現以該單板為例,說明如何實現CPU對FPGA的配置。在該單板上是使用作CPU,采用,一片FPGA型號-3。我們在的PB口選5根線與連接成PS配置方式,硬件連接參考第二章,Data0也由輸出,信號定義見下表: /O信號名稱引腳所需要的配置數據為58kB(準確的長度參見生成的RBF文件),由于比較空,我們將配置數據安排在的~區間內。第一次的配置數據可利用編程器將RBF文件當作二進制文件寫到的起始地址為的區域,也可以通過860仿真器把數據寫到指定位置。具體軟件操作參見第二章。FPGA在線更改配置為檢驗FPGA在線升級的可能性,我們在CPU的中放置了不同邏輯的FPGA配置數據。CPU正常運行時,測試軟件隨意更換FPGA的配置數據。

    在每次配置完成后,FPGA均能實現相應的邏輯功能。如果和系統軟件配合,在線更改EPROM中的配置數據,FPGA的在線升級是完全可以實現的。為了便于調試和實際生產,我們將FPGA的初始配置數據放置在中。如某些單板的寫功能必須禁止,此時FPGA配置數據可放在其它存儲器中,如存放應用程序的FLASH中,升級FPGA配置數據可以和升級應用程序一并完成。電纜下載為了提高調試進度,通常會采用電纜下載的方式。在單板上兼容這兩種配置方式有多種辦法,我們采用了比較簡單又便于生產的"0歐姆電阻連接方式"。電氣連接的示意圖如下: 圖1 兼容電纜下載在最初調試FPGA時,R1~R5不焊,直接用電纜下載。同時,的程序中跳過FPGA配置的代碼。等FPGA設計定型后(相當于準備使用EPC1時),焊上R1~R5,利用CPU配置FPGA。當然,R1~R5也可改用跳線或撥動開關。這兩種連接方式在開發調試中比0歐姆電阻方便,但實際使用中可靠性不如0歐姆電阻高,如跳線會出現短路塊脫落、撥動開關會出現接觸不良等現象。而且,0歐姆電阻連接方式最便于生產,價格也最低。建議開發階段的單板可以用跳線或撥動開關,轉產時采用0歐姆電阻連接方式。

    在使用下載電纜時需要注意電源的選擇。由于以前的下載電纜是5V供電的,有不少設計都把下載電纜插座接到5V電源上,這種5V供電的下載電纜可能導致不能忍受5V信號的CPU損壞。因此,使用本模塊時,下載電纜應使用低電壓版本的,下載插座的電源接3.3V。使用、調試、維護說明如果使用本模塊出現配置出錯,有如下可能:解決方法配置數據有錯重新生成配置數據,并檢查生成過程是否正確CPU輸出信號頻率太高控制DCLK頻率,具體數據參見“操作過程”相關章節CPU與FPGA連接有誤檢查硬件連線下載電纜影響拔去下載電纜CPU的I/O口故障用示波器檢查PB24~PB28信號波形FPGA故障更換FPGA?經驗教訓本模塊在設計過程中有如下幾個要點,請使用者注意:1. CPU的啟動必須不依賴于FPGA,這在單板設計時需要特別考慮的。即CPU子系統應在FPGA被配置前可獨立運行并訪問所需資源。CPU對FPGA進行配置所需的資源很少,一般來說,僅RAM和的訪問而已。當然,其他掛在CPU總線上的設備必須處于非訪問態,FPGA所控制的設備也應處于非工作態或不影響其他設備工作的穩定態。

    2. 為了實現FPGA的在線升級,存放FPGA配置數據的區域必須是CPU可重寫的3. 利用CPU配置FPGA,在使用者的主觀感覺上會覺得FPGA"起來"得比較慢。這是因為FPGA的配置要等CPU啟動完成后才進行。因此,應充分考慮FPGA所控制的設備在FPGA被配置完成前處于非工作態或不影響其他設備工作的穩定態。4. 關于配置數據占用空間的問題。對于的FPGA來說,每個確定型號的器件,配置數據的長度是一定的(和設計邏輯無關)。因此,一旦確定了FPGA的型號,配置數據占用EPROM的空間也可以在設計中確定。5. 在使用中請保留下載電纜插座,以加快調試進度。6. 下載成功后,軟件應有指示,便于維護。7. 要從系統的角度考慮現場升級,保護好FPGA數據。8. 單板調試時電纜下載的問題。為了兼容兩種下載方式,需要電纜下載時,可在CPU程序中跳過配置程序。9. 如果單板有可能使用電纜下載,必須考慮CPU的I/O能否忍受下載電纜信號電平

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有