用CPLD和Flash實(shí)現FPGA配置

發(fā)布時(shí)間:2010-7-23 16:23    發(fā)布者:lavida
關(guān)鍵詞: CPLD , Flash , FPGA
電子設計自動(dòng)化EDA(Electronic Design Automation)是指以計算機為工作平臺,以EDA軟件為開(kāi)發(fā)環(huán)境,以硬件描述語(yǔ)言為設計語(yǔ)言,以可編程邏輯器件PLD為實(shí)驗載體(包括CPLD、FPGA、EPLD等),以集成電路芯片為目標器件的電子產(chǎn)品自動(dòng)化設計過(guò)程。該過(guò)程目前已廣泛應用于電子電路與系統的設計和產(chǎn)品的開(kāi)發(fā)中.逐漸取代了傳統的手工硬件電路設計方式。設計的系統具有體積小、重量輕、功耗小、速度快、價(jià)格低、可靠性高、設計周期短等優(yōu)點(diǎn)。一個(gè)功能完備的EDA設計軟件加上一片普通功能的可編程邏輯芯片就可以構成以前需幾百個(gè)集成電路才能構成的電子系統。

目前常用的可編程邏輯器件有CPLD(Complex Programmable Logic Device,復雜可編程邏輯器件)和FPGA(Field Programmable Gate Array,現場(chǎng)可編程門(mén)陣列)。常用的EDA軟件包括VHDL、Verilog HDL、ABEL等硬件描述語(yǔ)言。其中,VHDL作為IEEE的工業(yè)標準硬件描述語(yǔ)言,受到眾多EDA工具廠(chǎng)家的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言。

Xilinx公司和Ahera公司的FPGA可編程部分的物理實(shí)現方式為RAM。它最大的優(yōu)點(diǎn)是可以多次重復編翟,缺點(diǎn)是易失性。因此每次上電后,處理機都需要將用戶(hù)設計的FPGA配置文件從外部存儲器中下載到FPGA中。從外部存儲器將FPGA配置文件下載更新的方式有以下三種:

(1)JTAG口下載方式
將配置文件放到一臺主機中,主機通過(guò)專(zhuān)用線(xiàn)與單板上的JTAG口硬件相連接。在這種方式下每次下載都需要硬件操作,因此只適用于開(kāi)發(fā)、調試階段,設備在現場(chǎng)工作時(shí)就不能再使用這種方式。

(2)片外串行PROM下載方式
在每片FPGA周?chē)胖靡黄驇灼?由FPGA容量決定)串行PROM,在系統上電時(shí),自動(dòng)將FPGA配置文件從PROM下載到FPGA中。此方式也是xilinx、A1tera等公司重點(diǎn)介紹的方式,適用于比較穩定的系統。但隨著(zhù)FPGA芯片密度的增加,串行PROM已不能適應大容量、高密度的FPGA的配置。而大容量的并行PROM所要求的尋址方式又不能直接與FPGA接口。當系統中的FPGA配置文件需要升級更新時(shí),必須將機箱打開(kāi),通過(guò)JTAG口首先將.PROM中的配置文件更新,然后再重新啟動(dòng)系統,將更新后的配置文件從PROM下載到FPGA中,這樣才能完成一次FPGA配置文件的更新。

以上兩種方案都存在必須進(jìn)行硬件操作(將機箱打開(kāi),使用主機通過(guò)JTAG口)的缺點(diǎn),在主機上必須安裝專(zhuān)業(yè)軟件才能完成FPGA配置文件的更新。

(3)處理機控制Flash下載方式
本文根據Xilinx、Altra公司手冊及以前的工作經(jīng)驗,提出和完成了一種新的FPGA配置文件下載更新的方式。這種方式適用于支持網(wǎng)絡(luò )通信的系統中。在每次系統啟動(dòng)時(shí)。由處理機從Flash中讀出FPGA配置文件,再下載到FPGA中。即當需要升級更新FPGA配置文件時(shí),通過(guò)網(wǎng)絡(luò )將配置文件發(fā)送給處理機,由處理機更新系統中的Flash。當Flash內容更新后,再由處理機控制將配置文件自動(dòng)下載到FPGA中。這樣在不需要任何硬件動(dòng)作和專(zhuān)業(yè)軟件的情況下,只需要進(jìn)行常規軟件操作就可以更新FPGA的配置文件。但由于Flash是并行數據線(xiàn),需要通過(guò)一片CPLD將從Flash中讀來(lái)的數據轉換成串行數據輸出到FPGA。

1 FPGA下載配置模式

FPGA配置文件的下載模式有五種:主串模式(masterserial)、從串模式(slave serial)、主并模式(master selectMAP)、從并模式(slave selectMAP)及JTAG模式。其中,JTAG模式在開(kāi)發(fā)調試階段使用。為了便于開(kāi)發(fā)設計階段的調試,本核心路由器設計將JTAG口直接做在信號處理板上。

主、從模式的最大區別在于:主模式的下載同步時(shí)鐘(CCLK)由FPGA提供;從模式的下載同步時(shí)鐘(CCLK)由外部時(shí)鐘源或者外部控制信號提供。主模式對下載時(shí)序的要求比從模式嚴格得多。因此從處理機易于控制下載過(guò)程的角度考慮,選擇使用從串模式或從并模式較為合適。本設計采用從串模式進(jìn)行FPGA配置。從串模式引腳說(shuō)明如表l所示。









從串配置時(shí)序圖如圖l所示。TPROGRAM是配置邏輯的復位時(shí)間,對xilinx VIRTEXE和VIRTEX2系列,最小應大于300ns。TPL為復位延遲時(shí)問(wèn),表明配置邏輯復位的延續。對VIRTEXE系列來(lái)說(shuō),當復位信號PROG變?yōu)楦唠娖綍r(shí),INIT立即變?yōu)楦唠娖,配置邏輯就可以接收配置數據流;而對于VIRTEX2系列,TPL最小有500ns的延遲。TICCK為配置時(shí)鐘CCLK的輸出延遲。

當PROG有效(對配置邏輯進(jìn)行復位)時(shí),FPGA將置低INIT和DONE;PROG變?yōu)楦唠娖綍r(shí),INIT將延遲一段時(shí)間用于表明復位狀態(tài)的延續,繼續置低INIT可以延遲配置的進(jìn)行。當FPGA正在接收配置數據時(shí),INIT變低,表明CRC校驗錯。當配置完所有的數據時(shí),若配置正確,DONE將會(huì )變高。此后FPGA開(kāi)始啟動(dòng)序列,繼續置低DONE可以延遲啟動(dòng)的進(jìn)行。

2 具體設計

國家數字交換系統工程技術(shù)研究中心承擔的國家863項目高性能IPv6核心路由器采用一片Intel E28F128J3A150 16位Flash作為BootFlash對PowerPC2860(MPC860)處理機進(jìn)行加電配置下載更新的方案,其多余的存儲空間完全可以存放下FPGA所需的配置文件。加電復位、系統啟動(dòng)后,由處理機與一片XilinxXC95288XL CPLD配合,控制FPGA配置文件從Flash下載到FPGA中,完成對FPGA的配置。860處理機支持網(wǎng)絡(luò )功能,當配置文件需要更新時(shí),可通過(guò)網(wǎng)絡(luò )將新的配置文件發(fā)送到處理機,然后再由處理機更新系統中的Flash。采用XC95288CPLD配置FPGA的具體電路設計結構如圖2所示。





圖2中,CPLD主要功能是把從Flash中讀出的數據轉換成串行輸出,然后再將地址遞增。CCLK(信號由CPU時(shí)鐘產(chǎn)生。PROG信號則由CPU輸出的地址數據經(jīng)譯碼模塊產(chǎn)生。XC95288C PLD邏輯結構如圖3所示。





下面分別介紹各功能模塊的具體實(shí)現:

(1)數據轉換成串行輸出功能模塊:使用了一個(gè)右移寄存器。從16位Flash來(lái)的并行數據DIN[0:15]加載到移位寄存器后,依次從DOUT串行輸出到FPGA中。

(2)地址遞增功能模塊:此功能由兩個(gè)計數器完成。由于Flash是16位并行數據端口,因此第一個(gè)計數器功能是逢16進(jìn)1,第二個(gè)計數器功能是Flash地址遞增。當移位寄存器的16位數據都輸出到FPGA中后,第一個(gè)計數器輸出端口CNT[0:3]都為“1”,經(jīng)過(guò)“與門(mén)”邏輯使得第二個(gè)計數器加l。Intel E28F128J3A150 Flash為16MB,共需要25根地址線(xiàn)。由于Flash是16位的,因此ADD[3l]不連接。所以第二個(gè)計數器和地址線(xiàn)ADD[7:30]相連.以完成Flash地址的遞增。

(3)CCLK信號產(chǎn)生模塊:CPU來(lái)的時(shí)鐘信號將數據信號DOUT輸出,經(jīng)一個(gè)“非門(mén)”邏輯延遲半個(gè)周期后產(chǎn)生CCLK,CCLK再將DOUT上的數據送到FPGA中。這樣將讀寫(xiě)。DOUT數據的時(shí)刻叉開(kāi),避免了沖突。

(4)PROG信號產(chǎn)生模塊:當需要下載FPGA程序時(shí),由CPU產(chǎn)生一個(gè)地址信號ADD[O:30],經(jīng)譯碼器譯碼產(chǎn)牛PROG控制信號。此地址由用戶(hù)自行設定。

以上模塊均采用VHDL語(yǔ)言描述。數據轉換成串行輸出功能模塊是核心部分,它可實(shí)現并行數據串行輸出。

本文介紹了通過(guò)處理機用CPLD和Flash實(shí)現FPGA配置文件下載更新的方法。與傳統的JTAG或PROM串行下載配置方法相比,此方法具有更新配置文件靈活方便、易于操作、適用于大容量FPGA下載的特點(diǎn)。采用此方法可以不用打開(kāi)機箱即可隨時(shí)更新FPGA配置程序,特別適用于需要不斷更新的系統設計中,具有較為廣闊的應用前景。
本文地址:http://selenalain.com/thread-16383-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页