欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種對(duì)現(xiàn)場(chǎng)可編程門陣列的在線加載方法

文檔序號(hào):6582358閱讀:177來源:國知局
專利名稱:一種對(duì)現(xiàn)場(chǎng)可編程門陣列的在線加載方法
所屬領(lǐng)域本發(fā)明涉及一種實(shí)現(xiàn)可編程邏輯器件的加載方法,確切地說,涉及一種在單板上的中央處理器(CPU,Central Processing Unit)不能提供通用I/O管腳的情況下,對(duì)現(xiàn)場(chǎng)可編程門陣列FPGA實(shí)現(xiàn)在線下載的配置方法,屬于電數(shù)字?jǐn)?shù)據(jù)處理技術(shù)領(lǐng)域。
眾所周知,配置是將設(shè)計(jì)規(guī)定的編程數(shù)據(jù)加載到可編程器件中的運(yùn)行過程,以定義器件內(nèi)部功能及其互連的功能。對(duì)于不同的器件,一般有六種加載選擇模式,主要是主動(dòng)串行、從動(dòng)串行、主動(dòng)并行、從動(dòng)并行、CPU同步模式和CPU異步模式。這些模式一般是通過跳線控制FPGA的M0、M1、M2管腳來實(shí)現(xiàn)的,通常會(huì)由于FPGA的型號(hào)不同而只提供其中幾種加載模式。這些管腳也可復(fù)用,其中M2、M0可用作輸入,M1可用作輸出。下面即為M0、M1、M2三個(gè)管腳與其相應(yīng)模式選擇的對(duì)照表
因此,在設(shè)計(jì)軟件時(shí),F(xiàn)PGA一般不會(huì)自動(dòng)使用M0、M1、M2管腳,除非在設(shè)計(jì)時(shí)特別指定。下面對(duì)六種加載選擇模式作簡(jiǎn)要介紹方式一主動(dòng)串行模式該模式是由FPGA提供時(shí)鐘,外部的PROM提供串行數(shù)據(jù),F(xiàn)PGA通過單板上串行PROM加載,適用于開發(fā)單板調(diào)試及生產(chǎn)測(cè)試。
方式二從動(dòng)串行模式該模式是由外部提供同步的串行數(shù)據(jù)和時(shí)鐘,F(xiàn)PGA在CCLK的上升沿接收串行配置數(shù)據(jù)。一般通過計(jì)算機(jī)的加載電纜對(duì)FPGA進(jìn)行加載,或者可由單板上的CPU的同步串口對(duì)FPGA進(jìn)行加載。多個(gè)從動(dòng)器件如果有相同的配置數(shù)據(jù),則可將它們的數(shù)據(jù)輸入DIN管腳并聯(lián),這樣,多個(gè)器件可以同時(shí)加載配置。
方式三主動(dòng)并行模式該模式是由FPGA提供變化的地址(從0000開始,或從FFFF開始),外部的可擦編程只讀存儲(chǔ)器EPROM或電可擦編程只讀存儲(chǔ)器E2PROM提供數(shù)據(jù)進(jìn)行加載的方式。這種方式加載速度較快,而且外部的E2PROM也可以擦除,適合大容量的FPGA的加載。
方式四從動(dòng)并行模式該模式與從動(dòng)串行模式相類似,只是數(shù)據(jù)以并行格式存在,而且一次一個(gè)字節(jié)地進(jìn)入加載器件,所以其加載速率是從動(dòng)串行模式的四倍。
方式五CPU同步模式該模式是指單板上的CPU提供數(shù)據(jù)和時(shí)鐘,以同步并口的方式加載數(shù)據(jù)。
方式六CPU異步模式該模式允許FPGA從總線中接收字節(jié)寬度的數(shù)據(jù),RDY/BUSY作為握手信號(hào)。在異步外設(shè)模式中,內(nèi)部的振蕩器產(chǎn)生時(shí)鐘信號(hào)CCLK,CCLK也可驅(qū)動(dòng)從動(dòng)器件。
在以上所有的配置模式中,數(shù)據(jù)流的格式是相同的。即加載的數(shù)據(jù)流都是用一連串的8個(gè)“1”和四位標(biāo)志頭(0010)開始,隨后是24比特的長度值。長度和數(shù)據(jù)幀的個(gè)數(shù)取決于器件類型,每一幀有一個(gè)起始位表示開始,結(jié)束時(shí)有一個(gè)錯(cuò)誤校驗(yàn)標(biāo)志。在所有FPGA中,當(dāng)配置結(jié)束時(shí),需要額外的若干個(gè)時(shí)鐘脈沖來啟動(dòng)FPGA工作。在實(shí)現(xiàn)軟件中,可以選擇需要或不需要奇偶校驗(yàn)CRC。如果選擇奇偶校驗(yàn)CRC,軟件就會(huì)計(jì)算并在每一幀結(jié)束的區(qū)域插入一個(gè)校驗(yàn)位。若在加載中,檢測(cè)到有某些數(shù)據(jù)流不正確,則將INIT拉低,在主動(dòng)模式中,CCLK和地址信號(hào)持續(xù)變化,這時(shí)設(shè)計(jì)者就需要監(jiān)測(cè)INIT,將/PROG重新拉低,再來一次配置。
FPGA系列上電加載有四個(gè)主要的步驟a、配置存儲(chǔ)器清零,b、初始化,c、配置,d、內(nèi)部配置啟動(dòng)。這種現(xiàn)有技術(shù)的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單、方便,適合實(shí)驗(yàn)室調(diào)試。其缺點(diǎn)是對(duì)應(yīng)用場(chǎng)合、環(huán)境和方式有較多要求和限制,不利于在線加載。另外,對(duì)于沒有通用I/O接口的CPU,就無法實(shí)現(xiàn)CPU加載FPGA。
本發(fā)明的目的是這樣實(shí)現(xiàn)的一種對(duì)現(xiàn)場(chǎng)可編程門陣列的在線加載方法,其特征在于(1)在CPU芯片與現(xiàn)場(chǎng)可編程門陣列FPGA之間設(shè)置可擦編程邏輯器件EPLD;(2)對(duì)該可擦編程邏輯器件EPLD設(shè)置多個(gè)寄存器和計(jì)數(shù)器;(3)該CPU芯片通過總線和該可擦編程邏輯器件EPLD按位訪問現(xiàn)場(chǎng)可編程門陣列FPGA,實(shí)現(xiàn)可編程門陣列FPGA在線加載。
所述的多個(gè)寄存器包括表示FPGA初始化狀態(tài)的初始化結(jié)果寄存器、表示FPGA當(dāng)前所處的狀態(tài)的編程狀態(tài)寄存器、表示對(duì)FPGA進(jìn)行編程后返回的狀態(tài)結(jié)果的編程結(jié)果寄存器、表示FPGA時(shí)鐘歷史狀態(tài)的編程時(shí)鐘歷史寄存器、表示FPGA時(shí)鐘當(dāng)前狀態(tài)的編程時(shí)鐘寄存器和用于對(duì)CPU寫入EPLD的數(shù)據(jù)按照比特方式進(jìn)行并/串轉(zhuǎn)換的并行數(shù)據(jù)寄存器。
CPU芯片的具體操作步驟是(1)在EPLD的FPGA編程狀態(tài)寄存器中設(shè)置PROG為“0”,并延時(shí);(2)在EPLD的FPGA編程狀態(tài)寄存器中設(shè)置PROG為“1”,并延時(shí)以等待FPGA芯片的初始化結(jié)束,其標(biāo)志為初始化結(jié)果寄存器INIT為“1”;(3)CPU將待加載數(shù)據(jù)按字節(jié)方式寫入EPLD的并行數(shù)據(jù)寄存器;(4)在EPLD的編程時(shí)鐘寄存器CCLK中設(shè)置“1”,然后再設(shè)置“0”,如此循環(huán)反復(fù)操作,直至寫完一個(gè)字節(jié);期間,EPLD的編程時(shí)鐘歷史寄存器被用作記錄上次編程時(shí)鐘寄存器的內(nèi)容;(5)反復(fù)執(zhí)行步驟(3)、(4),直至FPGA數(shù)據(jù)文件全部加載完畢;(6)讀EPLD的FPGA編程結(jié)果寄存器DONE的狀態(tài),檢查FPGA的加載情況當(dāng)編程結(jié)果寄存器為“1”,表明加載成功;編程結(jié)果寄存器為“0”,則表明加載異?;虺鲥e(cuò),重新進(jìn)行加載。
在上述加載步驟(2)中,等待FPGA芯片的初始化延時(shí)時(shí)間對(duì)于不同的FPGA芯片是不同的。
在上述加載步驟(3)中,在EPLD中對(duì)于已經(jīng)進(jìn)行了串并轉(zhuǎn)換的數(shù)據(jù)FPGA_DIN和FPGA_CLK應(yīng)進(jìn)行同步處理。
本發(fā)明的特點(diǎn)是充分利用EPLD的簡(jiǎn)單方便的可編程優(yōu)勢(shì),以及其只需要一次固化就可以使用的特性,再與單板上的CPU相配合,就可以使得沒有通用I/O接口的CPU芯片的單板上的CPU(如MPC8240)能夠通過該單板上的EPLD和總線對(duì)其上的FPGA執(zhí)行按位加載,實(shí)現(xiàn)FPGA的在線加載。本發(fā)明不僅解決了沒有通用I/O接口的CPU的FPGA現(xiàn)場(chǎng)加載問題,實(shí)現(xiàn)了單板上FPGA的在線升級(jí)功能,填補(bǔ)了現(xiàn)有技術(shù)中的空缺;而且,該FPGA的加載過程控制靈活,處理步驟比較簡(jiǎn)單、工作可靠、便于實(shí)現(xiàn),資源占有極小。本發(fā)明的加載方式是以從動(dòng)串行方式進(jìn)行的。誠然,本發(fā)明也存在有局限之處,例如,要求實(shí)現(xiàn)加載FPGA的單板上必須有EPLD器件。


圖1是本發(fā)明的工作原理示意框圖。
圖2是本發(fā)明的CPU在在線加載過程中的操作步驟流程圖。
參見圖1,實(shí)際上,通常FPGA的加載是一個(gè)將加載數(shù)據(jù)串行地按照比特方式加載到FPGA中的過程。然而,對(duì)于沒有通用I/O接口的CPU芯片,其訪問則要通過總線形式進(jìn)行。所以,本發(fā)明就是通過可編程邏輯器件EPLD實(shí)現(xiàn)CPU的總線按位訪問FPGA的轉(zhuǎn)換,圖1展示了三者之間的具體連線方式。
本發(fā)明在可擦編程邏輯器件EPLD中,共設(shè)置了6個(gè)寄存器和1個(gè)計(jì)數(shù)器,其名稱、類型、結(jié)構(gòu)和初始值如下表所示
其中各寄存器的具體說明如下
1、FPGA編程狀態(tài)寄存器(Program Status Register)為可讀、可寫寄存器,表示FPGA現(xiàn)在所處的狀態(tài)(編程態(tài)/正常態(tài)),當(dāng)編程狀態(tài)標(biāo)識(shí)PROG=1時(shí)表示編程態(tài),而PROG=0時(shí)表示正常態(tài),NA表示保留的空閑數(shù)據(jù)位。
2、FPGA編程結(jié)果寄存器(Program Result Register)為只讀寄存器,表示對(duì)FPGA進(jìn)行編程后返回的狀態(tài)結(jié)果(加載正常結(jié)束/加載異常),編程結(jié)果標(biāo)識(shí)DONE=1時(shí)表示加載正常結(jié)束,DONE=0時(shí)表示加載異常。
3、初始化結(jié)果寄存器為只讀寄存器,表示FPGA初始化的狀態(tài),初始化標(biāo)識(shí)INIT=1時(shí)表示對(duì)其初始化,INIT=0時(shí)表示初始化結(jié)束。
4、編程時(shí)鐘寄存器(Clk Register)為可寫寄存器,用以記錄CPU給出的本次時(shí)鐘CCLK信號(hào)的狀態(tài),當(dāng)時(shí)鐘信號(hào)CCLK在0、1變化時(shí)表示周期。
5、編程時(shí)鐘歷史寄存器(Last_Clk Register)為EPLD內(nèi)部寄存器,不能讀寫,CCLK_OLD用以記錄CPU給出的上次CCLK信號(hào)的狀態(tài)。
6、并行數(shù)據(jù)寄存器(Parallel Data Register)為8位可讀、寫的數(shù)據(jù)寄存器,用以存放CPU發(fā)出的,欲加載的FPGA編程數(shù)據(jù)。
7、計(jì)數(shù)器(Counter Register)是為了在EPLD中實(shí)現(xiàn)按照比特方式將CPU寫入EPLD的數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換而設(shè)置的計(jì)數(shù)器。
參見圖2所示的本發(fā)明在加載過程中的CPU的具體操作步驟流程圖(1)初始化EPLD通過編程在該EPLD中設(shè)置多個(gè)寄存器和計(jì)數(shù)器;(2)在EPLD的FPGA編程狀態(tài)寄存器中設(shè)置PROG為“0”,并延時(shí)300ns以上;(3)在EPLD的FPGA編程狀態(tài)寄存器中設(shè)置PROG為“1”,并延時(shí)2us以上,以等待FPGA芯片的初始化結(jié)束,其標(biāo)志為初始化結(jié)果寄存器INIT為“1”;(4)CPU將待加載數(shù)據(jù)按字節(jié)方式寫入EPLD的并行數(shù)據(jù)寄存器;(5)在EPLD的編程時(shí)鐘寄存器CCLK中設(shè)置“1”,然后再設(shè)置“0”,如此循環(huán)反復(fù)操作8次;期間,EPLD的編程歷史時(shí)鐘寄存器被用作記錄上次編程時(shí)鐘寄存器的內(nèi)容;
(6)反復(fù)執(zhí)行步驟(4)、(5),直至FPGA數(shù)據(jù)文件全部加載完畢;(7)讀EPLD的FPGA編程結(jié)果寄存器DONE的狀態(tài),檢查FPGA的加載情況當(dāng)編程結(jié)果寄存器為“1”,表明加載成功;編程結(jié)果寄存器為“0”,則表明加載異?;虺鲥e(cuò),重新進(jìn)行加載。
在上述加載步驟(3)中,等待FPGA芯片的初始化延時(shí)時(shí)間對(duì)于不同的FPGA芯片略有不同,如果能夠延長等待時(shí)間達(dá)1秒,則可滿足絕大多數(shù)的FPGA芯片要求。另外,在上述加載步驟(4)中,由于CPU寫入EPLD的欲加載的數(shù)據(jù)和模擬的FPGA_CLK信號(hào)不能同時(shí)有效,因此需要在EPLD中,對(duì)于已經(jīng)進(jìn)行了串并轉(zhuǎn)換的數(shù)據(jù)FPGA_DIN和FPGA_CLK應(yīng)進(jìn)行同步處理。
權(quán)利要求
1.一種對(duì)現(xiàn)場(chǎng)可編程門陣列的在線加載方法,其特征在于(1)在CPU芯片與現(xiàn)場(chǎng)可編程門陣列FPGA之間設(shè)置可擦編程邏輯器件EPLD;(2)對(duì)該可擦編程邏輯器件EPLD設(shè)置多個(gè)寄存器和計(jì)數(shù)器;(3)該CPU芯片通過總線和該可擦編程邏輯器件EPLD按位訪問現(xiàn)場(chǎng)可編程門陣列FPGA,實(shí)現(xiàn)可編程門陣列FPGA在線加載。
2.根據(jù)權(quán)利要求1所述的一種對(duì)現(xiàn)場(chǎng)可編程門陣列的在線加載方法,其特征在于所述的多個(gè)寄存器包括表示FPGA初始化狀態(tài)的初始化結(jié)果寄存器、表示FPGA當(dāng)前所處的狀態(tài)的編程狀態(tài)寄存器、表示對(duì)FPGA進(jìn)行編程后返回的狀態(tài)結(jié)果的編程結(jié)果寄存器、表示FPGA時(shí)鐘歷史狀態(tài)的編程時(shí)鐘歷史寄存器、表示FPGA時(shí)鐘當(dāng)前狀態(tài)的編程時(shí)鐘寄存器和用于對(duì)CPU寫入EPLD的數(shù)據(jù)按照比特方式進(jìn)行并/串轉(zhuǎn)換的并行數(shù)據(jù)寄存器。
3.根據(jù)權(quán)利要求1所述的一種對(duì)現(xiàn)場(chǎng)可編程門陣列的在線加載方法,其特征在于CPU芯片的具體操作步驟是(1)在EPLD的FPGA編程狀態(tài)寄存器中設(shè)置PROG為“0”,并延時(shí);(2)在EPLD的FPGA編程狀態(tài)寄存器中設(shè)置PROG為“1”,并延時(shí)以等待FPGA芯片的初始化結(jié)束,其標(biāo)志為初始化結(jié)果寄存器INIT為“1”;(3)CPU將待加載數(shù)據(jù)按字節(jié)方式寫入EPLD的并行數(shù)據(jù)寄存器;(4)在EPLD的編程時(shí)鐘寄存器CCLK中設(shè)置“1”,然后再設(shè)置“0”,如此循環(huán)反復(fù)操作,直至寫完一個(gè)字節(jié);期間,EPLD的編程時(shí)鐘歷史寄存器被用作記錄上次編程時(shí)鐘寄存器的內(nèi)容;(5)反復(fù)執(zhí)行步驟(3)、(4),直至FPGA數(shù)據(jù)文件全部加載完畢;(6)讀EPLD的FPGA編程結(jié)果寄存器DONE的狀態(tài),檢查FPGA的加載情況當(dāng)編程結(jié)果寄存器為“1”,表明加載成功;編程結(jié)果寄存器為“0”,則表明加載異?;虺鲥e(cuò),重新進(jìn)行加載。
4.根據(jù)權(quán)利要求3所述的一種用可擦編程邏輯器件對(duì)可編程門陣列的在線加載方法,其特征在于在上述加載步驟(2)中,等待FPGA芯片的初始化延時(shí)時(shí)間對(duì)于不同的FPGA芯片是不同的。
5.根據(jù)權(quán)利要求3所述的一種用可擦可編程邏輯器件對(duì)可編程門陣列的在線加載方法,其特征在于在上述加載步驟(3)中,在EPLD中對(duì)于已經(jīng)進(jìn)行了串并轉(zhuǎn)換的數(shù)據(jù)FPGA_DIN和FPGA_CLK應(yīng)進(jìn)行同步處理。
全文摘要
一種對(duì)現(xiàn)場(chǎng)可編程門陣列的在線加載方法,是在該板CPU芯片沒有通用I/O接口的單板上,對(duì)該單板上的可擦編程邏輯器件EPLD編程設(shè)置多個(gè)寄存器和計(jì)數(shù)器,使CPU能夠通過其總線和該可擦編程邏輯器件EPLD按位訪問現(xiàn)場(chǎng)可編程門陣列FPGA,實(shí)現(xiàn)單板上的現(xiàn)場(chǎng)可編程門陣列FPGA在線加載。本發(fā)明不僅解決了沒有通用I/O接口的CPU的FPGA現(xiàn)場(chǎng)加載問題,實(shí)現(xiàn)了單板上FPGA的在線升級(jí)功能,填補(bǔ)了現(xiàn)有技術(shù)中的空缺;而且,該FPGA的加載過程控制靈活,處理步驟比較簡(jiǎn)單、工作可靠、便于實(shí)現(xiàn),資源占有極小。
文檔編號(hào)G06F15/78GK1464421SQ0212350
公開日2003年12月31日 申請(qǐng)日期2002年6月28日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者栗煒 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
集贤县| 德江县| 东莞市| 新干县| 舟曲县| 信丰县| 焉耆| 中阳县| 义马市| 固原市| 保德县| 临安市| 富裕县| 巴彦县| 图木舒克市| 常山县| 额尔古纳市| 宜兰市| 东乡族自治县| 南康市| 灵宝市| 嘉义市| 台南县| 静海县| 汽车| 乐都县| 郴州市| 阳西县| 南京市| 汝阳县| 西城区| 慈溪市| 蓬溪县| 龙井市| 兰州市| 平谷区| 静乐县| 新丰县| 化州市| 河曲县| 张家港市|