1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      Flash外部配置器件在SOPC中的應(yīng)用

      更新時間: 2008-07-10 09:04:11來源: 粵嵌教育瀏覽量:985

      1 Flash在SOPC中的作用

        Flash在SOPC中的作用主要表現(xiàn)在兩方面:一方面,可用Flash來保存FPGA的配置文件,從而可以省去EPCS芯片或解決EPCS芯片容量不夠的問題。當(dāng)系統(tǒng)上電后,從Flash中讀取配置文件,對FPGA進(jìn)行配置。

      另一方面,可用Flash來保存用戶程序。對于較為復(fù)雜的SOPC系統(tǒng),用戶程序一般較大,用EPCS來存儲是不現(xiàn)實的。系統(tǒng)完成配置后,將Flash中的用戶程序轉(zhuǎn)移到外接RAM或片內(nèi)配置生成的RAM中,然后系統(tǒng)開始運(yùn)行。

        2 Flash編程的實現(xiàn)

        本文以某項目的具體電路為例,闡述在SOPC系統(tǒng)中如何利用Flash來保存用戶程序。FPGA為Altera公司的Cyclone EP1C6,F(xiàn)lash為AMD公司的AM29LV160D,外接RAM為Samsung公司的K4S643232H,串行配置器件為EPCS1。開發(fā)工具采用Altera公司提供的QuartusII和NioslI軟件。

        NiosII的開發(fā)環(huán)境中提供了Flash Programmer工具,對目標(biāo)板上遵守CFI(Common Flash InteRFace)規(guī)范的Flash進(jìn)行編程。CFI是一種Flash接口規(guī)范,只要Flash符合該規(guī)范,通過專門的命令就能獲得其詳細(xì)的參數(shù),并根據(jù)這些參數(shù)訪問Flash。利用Altera公司的下載電纜,F(xiàn)lash Programmer工具可以對Flash器件中的任意偏移地址進(jìn)行任意內(nèi)容的編程。Flash Programmer工具對Flash編程分為2個步驟:

        ①根據(jù)目標(biāo)板編程描述對FPGA進(jìn)行配置;

        ②Flash Programmer工具將要編程到Flash的文件內(nèi)容傳送到FPGA的數(shù)據(jù)緩沖區(qū),然后FPGA將收到的數(shù)據(jù)寫入Flash中。

        2.1 目標(biāo)板編程描述的創(chuàng)建

        目標(biāo)板編程描述實際就是一個由SOPC Builder系統(tǒng)生成的小FPGA設(shè)計,其作用是對FPGA進(jìn)行適當(dāng)配置以實現(xiàn)對Flash的編程。不同的電路板(目標(biāo)板)往往使用不同的Flash器件,并且Flash與FPGA的引腳連接以及FPGA的型號也不相同,因此每個目標(biāo)板編程描述都是與具體的目標(biāo)板相關(guān)聯(lián)的,不能用于其他目標(biāo)板。目標(biāo)板提供了Flash Programmer工具對Flash進(jìn)行編程的全部信息,包括Flash的容量、Flash的引腳連接等。

        一個目標(biāo)板編程描述包含以下信息:每個接到FPGA上Flash器件的參考元件標(biāo)號;Flash器件在目標(biāo)板編程描述中的基地址;用于配置FPGA的SOF文件。

        目標(biāo)板編程描述的創(chuàng)建分2步:

        ①在Nios SDK Shell中使用mk_target_board命令創(chuàng)建一個工程模板;

        ②使用SoPC Builder對模板進(jìn)行編輯,從而形成完整的目標(biāo)板編程描述。

        每個目標(biāo)板編程描述應(yīng)包含下列元件:NiosII CPU;JTAG_UART接口;本目標(biāo)板中采用串行配置器件EPCS存儲FPGA的配置文件,因此需要Active Serial MemoryInterface(ASMI);Tri-State Bridge(三態(tài)橋);CFI接口的Flash;System ID Peripheral;用于存放程序以及作為數(shù)據(jù)緩沖的On-chip memory。

        下面以本目標(biāo)板為例,介紹創(chuàng)建目標(biāo)板編程描述的步驟:

        ①啟動NiosII SDK shell;

        ②運(yùn)行mk_target_board命令,創(chuàng)建一個目標(biāo)板Flash編程描述模板(參數(shù)name=flash_board,family=cyclone,clock=80,index=1,epcs=U5,buffer_size=2 048,class=flash_programer);

        ③啟動QuartusII軟件并打開剛才創(chuàng)建的目標(biāo)板編程描述工程flash_programer.qPf;

        ④在QuartusII軟件中選擇Assignments→Device打開setting對話框,選取FPGA型號,本例為EP1C6Q240C8;

        ⑤啟動SOPC Builder,在Target選項區(qū)的Board下拉列表框中選擇Unspecified Board,Clock欄的時鐘頻率取50 MHz,在模板的基礎(chǔ)上添加三態(tài)橋Avalon Tri-State Bridge和CFI接口的Flash(Flash的參考標(biāo)號為U5,地址為20位,數(shù)據(jù)為16位);

        ⑥選擇System Generation選項卡,關(guān)閉Simulation選項,然后單擊Generate按鈕;

        ⑦當(dāng)生成完成后,退出SOPC Builder,并返回到QuartuslI;

      1 Flash在SOPC中的作用

        Flash在SOPC中的作用主要表現(xiàn)在兩方面:一方面,可用Flash來保存FPGA的配置文件,從而可以省去EPCS芯片或解決EPCS芯片容量不夠的問題。當(dāng)系統(tǒng)上電后,從Flash中讀取配置文件,對FPGA進(jìn)行配置。另一方面,可用Flash來保存用戶程序。對于較為復(fù)雜的SOPC系統(tǒng),用戶程序一般較大,用EPCS來存儲是不現(xiàn)實的。系統(tǒng)完成配置后,將Flash中的用戶程序轉(zhuǎn)移到外接RAM或片內(nèi)配置生成的RAM中,然后系統(tǒng)開始運(yùn)行。

        2 Flash編程的實現(xiàn)

        本文以某項目的具體電路為例,闡述在SOPC系統(tǒng)中如何利用Flash來保存用戶程序。FPGA為Altera公司的Cyclone EP1C6,F(xiàn)lash為AMD公司的AM29LV160D,外接RAM為Samsung公司的K4S643232H,串行配置器件為EPCS1。開發(fā)工具采用Altera公司提供的QuartusII和NioslI軟件。

        NiosII的開發(fā)環(huán)境中提供了Flash Programmer工具,對目標(biāo)板上遵守CFI(Common Flash InteRFace)規(guī)范的Flash進(jìn)行編程。CFI是一種Flash接口規(guī)范,只要Flash符合該規(guī)范,通過專門的命令就能獲得其詳細(xì)的參數(shù),并根據(jù)這些參數(shù)訪問Flash。利用Altera公司的下載電纜,F(xiàn)lash Programmer工具可以對Flash器件中的任意偏移地址進(jìn)行任意內(nèi)容的編程。Flash Programmer工具對Flash編程分為2個步驟:

        ①根據(jù)目標(biāo)板編程描述對FPGA進(jìn)行配置;

        ②Flash Programmer工具將要編程到Flash的文件內(nèi)容傳送到FPGA的數(shù)據(jù)緩沖區(qū),然后FPGA將收到的數(shù)據(jù)寫入Flash中。

        2.1 目標(biāo)板編程描述的創(chuàng)建

        目標(biāo)板編程描述實際就是一個由SOPC Builder系統(tǒng)生成的小FPGA設(shè)計,其作用是對FPGA進(jìn)行適當(dāng)配置以實現(xiàn)對Flash的編程。不同的電路板(目標(biāo)板)往往使用不同的Flash器件,并且Flash與FPGA的引腳連接以及FPGA的型號也不相同,因此每個目標(biāo)板編程描述都是與具體的目標(biāo)板相關(guān)聯(lián)的,不能用于其他目標(biāo)板。目標(biāo)板提供了Flash Programmer工具對Flash進(jìn)行編程的全部信息,包括Flash的容量、Flash的引腳連接等。

        一個目標(biāo)板編程描述包含以下信息:每個接到FPGA上Flash器件的參考元件標(biāo)號;Flash器件在目標(biāo)板編程描述中的基地址;用于配置FPGA的SOF文件。

        目標(biāo)板編程描述的創(chuàng)建分2步:

        ①在Nios SDK Shell中使用mk_target_board命令創(chuàng)建一個工程模板;

        ②使用SoPC Builder對模板進(jìn)行編輯,從而形成完整的目標(biāo)板編程描述。

        每個目標(biāo)板編程描述應(yīng)包含下列元件:NiosII CPU;JTAG_UART接口;本目標(biāo)板中采用串行配置器件EPCS存儲FPGA的配置文件,因此需要Active Serial MemoryInterface(ASMI);Tri-State Bridge(三態(tài)橋);CFI接口的Flash;System ID Peripheral;用于存放程序以及作為數(shù)據(jù)緩沖的On-chip memory。

        下面以本目標(biāo)板為例,介紹創(chuàng)建目標(biāo)板編程描述的步驟:

        ①啟動NiosII SDK shell;

        ②運(yùn)行mk_target_board命令,創(chuàng)建一個目標(biāo)板Flash編程描述模板(參數(shù)name=flash_board,family=cyclone,clock=80,index=1,epcs=U5,buffer_size=2 048,class=flash_programer);

        ③啟動QuartusII軟件并打開剛才創(chuàng)建的目標(biāo)板編程描述工程flash_programer.qPf;

        ④在QuartusII軟件中選擇Assignments→Device打開setting對話框,選取FPGA型號,本例為EP1C6Q240C8;

        ⑤啟動SOPC Builder,在Target選項區(qū)的Board下拉列表框中選擇Unspecified Board,Clock欄的時鐘頻率取50 MHz,在模板的基礎(chǔ)上添加三態(tài)橋Avalon Tri-State Bridge和CFI接口的Flash(Flash的參考標(biāo)號為U5,地址為20位,數(shù)據(jù)為16位);

        ⑥選擇System Generation選項卡,關(guān)閉Simulation選項,然后單擊Generate按鈕;

        ⑦當(dāng)生成完成后,退出SOPC Builder,并返回到QuartuslI;

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 在线极品欧美aⅴ | 在线观看国产网址你懂的 | 亚洲国产精品第一区二区 | 在线观看AV网址入口 | 亚洲日韩高清在线亚洲专区 | 亚洲国产综合专区在线观看播放 |