采用EEPROM對(duì)大容量FPGA芯片數(shù)據(jù)實(shí)現(xiàn)串行加載_第1頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、采用eeprom對(duì)大容量fpga芯片數(shù)據(jù)實(shí)現(xiàn)串行加載自大規(guī)模現(xiàn)場(chǎng)可編程規(guī)律器件問(wèn)世以來(lái),先后浮現(xiàn)了兩類器件,一類是基于sram體系結(jié)構(gòu)的系列,如xilinx公司的4000系列和最新的virtex系列;另一類是基于fastflash技術(shù)的器件,如xilinx公司的9500系列和lattice公司的isplsxx系列芯片。fpga具有容量大、設(shè)計(jì)資源豐盛、片內(nèi)rom及ram設(shè)計(jì)靈便等特點(diǎn)1,但是它們需要在每次上電時(shí)舉行數(shù)據(jù)加載。目前實(shí)現(xiàn)加載的辦法有以下三種:采納prom并行加載;采納專用srom串行加載;采納控制實(shí)現(xiàn)加載。第一種方式需要占用較多的fpga管腳資源,雖然這些管腳在加載完成后可用作普通

2、i/o口,但在加載時(shí)不允許這些管腳有其他任何外來(lái)信號(hào)源;另外數(shù)據(jù)存儲(chǔ)器prom與fpga之間的大量固定連線如8位數(shù)據(jù)線以及大量拜訪prom的地址線等,使得設(shè)計(jì)不便。但是第一種方式有一個(gè)有利的方面,即prom的容量較大、簡(jiǎn)單購(gòu)置、價(jià)格低、技術(shù)支持(編程器)較好。其次種方式狀況剛好與第一種方式相反,即占用資源少、pcb布板便利,但是容量小、價(jià)格較高、兼容性差。第三種方式采納單片機(jī)控制,由prom中讀取并行數(shù)據(jù),然后再串行送出。因?yàn)樯婕暗絾纹瑱C(jī)編程,對(duì)于開(kāi)發(fā)者來(lái)說(shuō)較為不便;另外,假如單片機(jī)僅用來(lái)實(shí)現(xiàn)該任務(wù),較為鋪張硬件資源。cpld的一個(gè)最大優(yōu)點(diǎn)是采納計(jì)算機(jī)專用開(kāi)發(fā)工具,通過(guò)jtag口挺直一次性實(shí)現(xiàn)

3、編程數(shù)據(jù)加載,并永遠(yuǎn)保留,除非舉行再次編程(與gal器件相像)。該類器件比較適合在試驗(yàn)室內(nèi)舉行現(xiàn)場(chǎng)調(diào)試,但是因?yàn)槠鋽?shù)據(jù)的加載必需通過(guò)計(jì)算機(jī),因此對(duì)于從事野外作業(yè)者來(lái)說(shuō)會(huì)產(chǎn)生不便。通過(guò)上述比較,并結(jié)合實(shí)際工作狀況,我們認(rèn)為采納串行數(shù)據(jù)加載比較便利、牢靠(這種牢靠性得益于fpga與srom之間較少的接口線)。但隨著fpga規(guī)模的不斷升級(jí),其config數(shù)據(jù)量越來(lái)越大,截止到本文寫作時(shí),config數(shù)據(jù)量最大已到6mbit,雖然xilinx公司有相關(guān)的xc17x系列srom提供用法,但皆為一次性芯片2、開(kāi)發(fā)成本較高、代理商供貨周期長(zhǎng)、價(jià)格較高,這給fpga的應(yīng)用及普及帶來(lái)很大的障礙。我們?cè)梅ㄟ^(guò)at

4、&t公司的att17系列電可擦除srom,但是該類srom芯片能與xilinx系列fpga芯片實(shí)現(xiàn)接口的種類不多,且容量小。因?yàn)榉N種緣由,其價(jià)格往往是同樣存儲(chǔ)容量的eeprom的五、六倍,甚至更高,并且來(lái)源困難。那么能不能結(jié)合并行加載與串行加載的優(yōu)點(diǎn),從而解決大容量fpga數(shù)據(jù)加載的問(wèn)題呢?我們?cè)谡J(rèn)真分析了串行加載機(jī)制后,認(rèn)為采納eeprom作為數(shù)據(jù)存儲(chǔ)器,經(jīng)過(guò)可控的并-串轉(zhuǎn)換,應(yīng)當(dāng)可以實(shí)現(xiàn)數(shù)據(jù)加載。下面以xilinx公司virtex系列xcv100芯片為例,采納atmel公司1兆位的at29c010a舉行數(shù)據(jù)存儲(chǔ),采納xilinx公司9500系列xc95108芯片作為加載控制器件舉行

5、設(shè)計(jì)。1 原理設(shè)計(jì)原理性masterserial模式串行加載時(shí)序1所示。在該加載模式中,比較重要的幾個(gè)信號(hào)為/init、cclk、datain、done。/init表示fpga芯片上電時(shí)或者當(dāng)/program信號(hào)為低時(shí)fpga內(nèi)部數(shù)據(jù)初始化過(guò)程,并作為外送信號(hào)給數(shù)據(jù)加載控制器件作為復(fù)位之用。當(dāng)/init信號(hào)躍為高電平常,cclk開(kāi)頭啟動(dòng)。加載數(shù)據(jù)datain在cclk的升高沿打入,與通用串行通訊相類似,加載數(shù)據(jù)流也有開(kāi)頭位與結(jié)束位,且以數(shù)據(jù)幀的方式接收。一旦發(fā)生錯(cuò)誤,fpga立刻停止接收數(shù)據(jù),并將/init信號(hào)置為低電平,因此該信號(hào)又稱為錯(cuò)誤指示信號(hào)。當(dāng)數(shù)據(jù)所有接受并驗(yàn)證無(wú)誤后,fpga將do

6、ne信號(hào)置為“1”3。在分析了fpga加載數(shù)據(jù)流特性后,可以得出這樣一個(gè)結(jié)論:保證cclk與datain之間的嚴(yán)格同步與延續(xù)性,就可以實(shí)現(xiàn)加載?;诖私Y(jié)論,在生成加載數(shù)據(jù)格式時(shí),產(chǎn)生單片srom串行格式,對(duì)于xilinx公司的fpga系列,該格式為.mcs文件格式;然后用all07編程器以intelhex數(shù)據(jù)格式將其寫入eeprom中。余下的工作是在cclk、/init、datain的控制下完成并-串轉(zhuǎn)換。該控制過(guò)程采納一片cpld之95系列xc95108芯片來(lái)?yè)?dān)當(dāng),在設(shè)計(jì)容量上采納一片xc9536即可完成,之所以采納xc95108是由于其尚需要完成其他任務(wù)。其原理框圖2所示。2 并-串轉(zhuǎn)換時(shí)

7、序設(shè)計(jì)在時(shí)序設(shè)計(jì)上,關(guān)鍵在于要保持datain加載數(shù)據(jù)的延續(xù)性、datain與cclk加載時(shí)鐘的同步性以及eeprom拜訪地址的復(fù)位問(wèn)題。對(duì)于復(fù)位問(wèn)題,采納上電時(shí)fpga產(chǎn)生的/init信號(hào)對(duì)95108內(nèi)部的eeprom地址發(fā)生器復(fù)位。這樣做的緣由是/init與fpga之cclk時(shí)鐘產(chǎn)生有著同步關(guān)系,但同時(shí)也默認(rèn)上電加載是一次勝利;在考慮串行datain數(shù)據(jù)的延續(xù)性時(shí),采納兩組移位寄存器,設(shè)定它們?yōu)閞_shifta和r_shiftb,當(dāng)r_shifta在舉行移位操作時(shí),r_shiftb由eeprom中讀入八位并行數(shù)據(jù),反之亦然;為保持datain與cclk時(shí)鐘的同步性,全部上述操作都以cclk

8、為同步時(shí)鐘,值得注重的是,因?yàn)閐atain串行數(shù)據(jù)是在cclk的升高沿打入fpga,因此我們賦予xc95108芯片設(shè)計(jì)的運(yùn)轉(zhuǎn)時(shí)鐘是經(jīng)過(guò)反相的cclk時(shí)鐘,這樣就保證了cclk與datain的時(shí)光關(guān)系。以下是為該加載設(shè)計(jì)的硬件編程語(yǔ)言設(shè)計(jì)程序45,其中的計(jì)數(shù)器及移位寄存器模塊用f2.1i設(shè)計(jì)軟件之logicblox模塊產(chǎn)生。囫圇程序經(jīng)f2.1i開(kāi)發(fā)軟件、編譯勝利后,經(jīng)jtag編程電纜寫入xc95108芯片。加電后便加載勝利,經(jīng)多次加電試驗(yàn),勝利率為100%。雖然該程序是針對(duì)xcv100芯片及at29c010a eeprom設(shè)計(jì)的,但對(duì)于其他fpga及eeprom芯片同樣適用,不同的是針對(duì)不同容量

9、的eeprom,應(yīng)轉(zhuǎn)變其地址計(jì)數(shù)器的位數(shù)。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity v10sload isport (pdata: in std_logic_vector(7 downto 0);paddress:inout std_logic_vector(16downto 0);cclkin: in std_logic;reset:in std_logic;datain:out std_logic);end v10s

10、load;architecture v10sload_arch of v10sload issignal:loadin,ce,nce,cclk8,nreset,ncclk,adatain,bdatain:std_logic;signal clkenable,cclk:std_logic;signal ppdata:std_logic_vector(7 downto 0);component clk_div8port(clock,async_ctrl: in std_logic;clk_out: out std_logic);end component;component r_shift8por

11、t(d_in: in std_logic_vector(7 downto 0);load: in std_logic;clk_en: in std_logic;clock: in std_logic;ls_out: out std_logic);end component;component bufgport(i:in std_logic; o:out std_logic);end component;begin-data-loading function statements herenresetcclkin,o=>cclk);ncclkcclk8,async_ctrl=>nreset,q_out=>paddress);l2:clk_div8 portmap(clock=>ncclk,async_ctrl=>nreset,clk_out=>cclk8);nceppdata,load=>nce,clk_en=>clkenable,clock=>ncclk,ls_out

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論