在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用AT29C010A和XC95108芯片實現(xiàn)對FPGA芯片數(shù)據(jù)進行串行加載

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-04-18 08:22 ? 次閱讀

自大規(guī)模現(xiàn)場可編程邏輯器件問世以來,先后出現(xiàn)了兩類器件,一類是基于SRAM體系結(jié)構(gòu)的FPGA系列,如XILINX公司的4000系列和最新的Virtex系列;另一類是基于faxtFLASH技術(shù)的CPLD器件,如XILINX公司的9500系列和Lattice公司的ispLSxx系列芯片。FPGA具有容量大、設(shè)計資源豐富、片內(nèi)ROM及RAM設(shè)計靈活等特點1,但是它們需要在每次上電時進行數(shù)據(jù)加載。目前實現(xiàn)加載的方法有以下三種:①采用PROM并行加載;②采用專用SROM串行加載;③采用單片機控制實現(xiàn)加載。第一種方式需要占用較多的FPGA管腳資源,雖然這些管腳在加載完成后可用作一般I/O口,但在加載時不允許這些管腳有其他任何外來信號源;另外數(shù)據(jù)存儲器PROM與FPGA之間的大量固定連線如8位數(shù)據(jù)線以及大量訪問PROM的地址線等,使得PCB設(shè)計不便。但是第一種方式有一個有利的方面,即PROM的容量較大、容易購置、價格低、技術(shù)支持(編程器)較好。第二種方式情況剛好與第一種方式相反,即占用資源少、PCB布板方便,但是容量小、價格較高、兼容性差。第三種方式采用單片機控制,由PROM中讀取并行數(shù)據(jù),然后再串行送出。由于涉及到單片機編程,對于開發(fā)者來說較為不便;另外,如果單片機僅用來實現(xiàn)該任務(wù),較為浪費硬件資源。CPLD的一個最大優(yōu)點是采用計算機專用開發(fā)工具,通過JTAG口直接一次性實現(xiàn)編程數(shù)據(jù)加載,并永久保留,除非進行再次編程(與GAL器件相似)。該類器件比較適合在實驗室內(nèi)進行現(xiàn)場調(diào)試,但是由于其數(shù)據(jù)的加載必須通過計算機,因此對于從事野外作業(yè)者來說會產(chǎn)生不便。

通過上述比較,并結(jié)合實際工作情況,我們認為采用串行數(shù)據(jù)加載比較方便、可靠(這種可靠性得益于FPGA與SROM之間較少的接口線)。但隨著FPGA規(guī)模的不斷升級,其CONFIG數(shù)據(jù)量越來越大,截止到本文寫作時,CONFIG數(shù)據(jù)量最大已到6MBIT,雖然XILINX公司有相關(guān)的XC17X系列SROM提供使用,但皆為一次性芯片?2、開發(fā)成本較高、代理商供貨周期長、價格較高,這給FPGA的應(yīng)用及普及帶來很大的障礙。我們曾使用過AT&T公司的ATT17系列電可擦除SROM,但是該類SROM芯片能與XILINX系列FPGA芯片實現(xiàn)接口的種類不多,且容量小。由于種種原因,其價格往往是同樣存儲容量的EEPROM的五、六倍,甚至更高,并且來源困難。那么能不能結(jié)合并行加載與串行加載的優(yōu)點,從而解決大容量FPGA數(shù)據(jù)加載的問題呢?我們在仔細分析了串行加載機制后,認為采用EEPROM作為數(shù)據(jù)存儲器,經(jīng)過可控的并-串轉(zhuǎn)換,應(yīng)該可以實現(xiàn)數(shù)據(jù)加載。下面以XILINX公司Virtex系列XCV100芯片為例,采用ATMEL公司1兆位的AT29C010A進行數(shù)據(jù)存儲,采用XILINX公司9500系列XC95108芯片作為加載控制器件進行設(shè)計。

1 原理設(shè)計

原理性Master Serial模式串行加載時序如圖1所示

使用AT29C010A和XC95108芯片實現(xiàn)對FPGA芯片數(shù)據(jù)進行串行加載

在該加載模式中,比較重要的幾個信號為/INIT、CCLK、DATAIN、DONE。/INIT表示FPGA芯片上電時或者當/PROGRAM信號為低時FPGA內(nèi)部數(shù)據(jù)初始化過程,并作為外送信號給數(shù)據(jù)加載控制器件作為復(fù)位之用。當/INIT信號躍為高電平時,CCLK開始啟動。加載數(shù)據(jù)DATAIN在CCLK的上升沿打入,與通用串行通訊相類似,加載數(shù)據(jù)流也有開始位與結(jié)束位,且以數(shù)據(jù)幀的方式接收。一旦發(fā)生錯誤,F(xiàn)PGA立即停止接收數(shù)據(jù),并將/INIT信號置為低電平,因此該信號又稱為錯誤指示信號。當數(shù)據(jù)全部接受并驗證無誤后,F(xiàn)PGA將DONE信號置為“1”?3。 在分析了FPGA加載數(shù)據(jù)流特性后,可以得出這樣一個結(jié)論:保證CCLK與DATAIN之間的嚴格同步與連續(xù)性,就可以實現(xiàn)加載。基于此結(jié)論,在生成加載數(shù)據(jù)格式時,產(chǎn)生單片SROM串行格式,對于XILINX公司的FPGA系列,該格式為.MCS文件格式;然后用ALL07編程器以INTEL HEX數(shù)據(jù)格式將其寫入EEPROM中。余下的工作是在CCLK、/INIT、DATAIN的控制下完成并-串轉(zhuǎn)換。該控制過程采用一片CPLD之95系列XC95108芯片來承擔(dān),在設(shè)計容量上采用一片XC9536即可完成,之所以采用XC95108是因為其尚需要完成其他任務(wù)。其原理框圖如圖2所示。

使用AT29C010A和XC95108芯片實現(xiàn)對FPGA芯片數(shù)據(jù)進行串行加載

2 并-串轉(zhuǎn)換時序設(shè)計

在時序設(shè)計上,關(guān)鍵在于要保持DATAIN加載數(shù)據(jù)的連續(xù)性、DATAIN與CCLK加載時鐘的同步性以及EEPROM訪問地址的復(fù)位問題。對于復(fù)位問題,采用上電時FPGA產(chǎn)生的/INIT信號對95108內(nèi)部的EEPROM地址發(fā)生器復(fù)位。這樣做的原因是/INIT與FPGA之CCLK時鐘產(chǎn)生有著同步關(guān)系,但同時也默認上電加載是一次成功;在考慮串行DATAIN數(shù)據(jù)的連續(xù)性時,采用兩組移位寄存器,設(shè)定它們?yōu)镽_shiftA和R_shiftB,當R_shiftA在進行移位操作時,R_shiftB由EEPROM中讀入八位并行數(shù)據(jù),反之亦然;為保持DATAIN與CCLK時鐘的同步性,所有上述操作都以CCLK為同步時鐘,值得注意的是,由于DATAIN串行數(shù)據(jù)是在CCLK的上升沿打入FPGA,因此我們給予XC95108芯片設(shè)計的運轉(zhuǎn)時鐘是經(jīng)過反相的CCLK時鐘,這樣就保證了CCLK與DATAIN的時間關(guān)系。

以下是為該加載設(shè)計的VHDL硬件編程語言設(shè)計程序4 5,其中的計數(shù)器及移位寄存器模塊用F2.11設(shè)計軟件之LogicBlox模塊產(chǎn)生。整個程序經(jīng)F2.1I開發(fā)軟件仿真、編譯成功后,經(jīng)JTAG編程電纜寫入XC95108芯片。加電后便加載成功,經(jīng)多次加電實驗,成功率為100%。

雖然該程序是針對XCV100芯片及AT29C010A EEPROM設(shè)計的,但對于其他FPGA及EEPROM芯片同樣適用,不同的是針對不同容量的EEPROM,應(yīng)改變其地址計數(shù)器的位數(shù)。

Library IEEE;

Use IEEE.Std_logic_1164.a(chǎn)ll;

Use ieee.Std_logic_arith.all;

Use ieee.Std_logic_unsigned.all;

Entity v10sload is

port

pDATA in STD_LOGIC_VECTOR 7 downto 0

Paddress inout STD_LOGIC_VECTOR 16

Downto 0

CCLKIN in STD_LOGIC

RESET in STD_LOGIC

DATAINout STD_LOGIC

end v10sload

architecture v10sload_arch of v10sload is

signal 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_div8

PORT

CLOCK ASYNC_CTRL IN std_logic

CLK_OUT OUT std_logic

end component

component R_shift8

PORT

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 BUFG

port I in std_logic O out std_logic

end component

begin

-------------------------------

--data-loading function statements here

nRESET<=not RESET

init_data process RESET

begin

if RESET='0' then

ppDATA<=″00000000″

else ppDATA<=pDATA

end if

end process init_data

L0 BUFG port mapI=>CCLKIN O=>CCLK

nCCLK<=not CCLK

L1 counter17 portmap

CLOCK=>CCLK8ASYNC_CTRL=>nRESET

Q_OUT=>pADDRESS

L2 clk_div8 portmap

CLOCK=>nCCLKASYNC_CTRL=>nRESET

CLK_OUT=>CCLK8

nCE<=not pADDRESS0

CE<=pADDRESS0

clkenable<='1'

L3R_shift8 portmap

D_IN=>ppDATA LOAD=>nCE CLK_EN=>

clkenable CLOCK=>nCCLK

LS_OUT=>aDATAIN

L4 R_shift8 portmap

D_IN=>ppDATA LOAD=>CE CLK_EN=>

clkenable CLOCK=>nCCLK

LS_OUT=>bDATAIN

Process Adatain bDATAIN CE

begin

if CE='1' then DATAIN<=dDATAIN

else DATAIN<=bDATAIN

end if

end process

end v10sload_arch

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21748

    瀏覽量

    603909
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    50889

    瀏覽量

    424237
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5355

    瀏覽量

    120531
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA芯片-XC3S50A-5TQ144C可由其他什么芯片代替?

    FPGA芯片-XC3S50A-5TQ144C可由其他什么芯片代替?
    發(fā)表于 04-07 15:44

    如何利用TMS320C61416控制FPGA數(shù)據(jù)加載

    目前實現(xiàn)加載的方法通常有兩種:一種是用專用Cable通過JTAG口進行數(shù)據(jù)加載,另一種是外掛與該FPGA廠商配套的PROM
    發(fā)表于 09-05 07:50

    如何設(shè)計TMS320C61416控制FPGA數(shù)據(jù)加載

    目前實現(xiàn)加載的方法通常有兩種:一種是用專用Cable通過JTAG口進行數(shù)據(jù)加載,另一種是外掛與該FPGA廠商配套的PROM
    發(fā)表于 10-11 06:15

    ARM-Linux平臺實現(xiàn)多種FPGA芯片的程序加載

    的程序可以根據(jù)需要有選擇的加載時不能采用這種方法。本文實現(xiàn)了一種基于外部處理器的加載方法,速度快,而且可以根據(jù)設(shè)置給FPGA加載相應(yīng)的程序。
    發(fā)表于 12-10 17:42

    如何采用EEPROM對大容量FPGA芯片數(shù)據(jù)實現(xiàn)串行加載

    請問一下有沒有采用EEPROM對大容量FPGA芯片數(shù)據(jù)實現(xiàn)串行加載的實際方案?
    發(fā)表于 04-08 06:01

    有什么方法可以實現(xiàn)FPGA芯片數(shù)據(jù)串行加載嗎?

    如何用EEPROM對大容量FPGA芯片數(shù)據(jù)實現(xiàn)串行加載?如何設(shè)計并-串轉(zhuǎn)換時序?
    發(fā)表于 04-29 07:13

    如何用CPLD實現(xiàn)DSP2407A與S3C4480的通信?

    本設(shè)計以Xilinx公司的XC95108為例,通過在CPLD中開辟2塊獨立的SRAM區(qū)域(各1字節(jié))來實現(xiàn)DSP2407A與S3C4480的并行通信。
    發(fā)表于 06-03 07:06

    XC9572和XC95108 DIY CPLD實驗板的PCB

    描述XC9572和XC95108 DIY CPLD實驗板的PCB該板需要外部 JTAG 電纜來對器件進行編程。JTAG 電纜可以是傳統(tǒng)計算機并行端口或現(xiàn)代 USB JTAG 編程器。一條并行端口
    發(fā)表于 08-05 07:09

    在HP 3070系列檢測器上的XC95216和XC95108

    在HP 3070系列檢測器上的XC95216和XC95108的快速擦除時間
    發(fā)表于 05-13 14:52 ?34次下載
    在HP 3070系列檢測器上的<b class='flag-5'>XC</b>95216和<b class='flag-5'>XC95108</b>

    在HP 3070系列檢測器上的XC95216和XC95108

    for the XC95216 and XC95108. The revision 1 designation is delineated by a 1 in the 4 msb of the JTAG ID register
    發(fā)表于 05-15 14:01 ?3次下載

    TMS320C61416控制FPGA數(shù)據(jù)加載設(shè)計

    根據(jù)FPGA芯片加載時序分析,本文提出了采用通過市面上常見的Flash ROM芯片替代專用PROM的方式,通過DSP的外部高速總線進行
    發(fā)表于 08-16 16:26 ?1798次閱讀
    TMS320<b class='flag-5'>C</b>61416控制<b class='flag-5'>FPGA</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>加載</b>設(shè)計

    如何使用FPGA進行串行通信控制系統(tǒng)的設(shè)計

    EP2C5Q208 上,進行在線編程調(diào)試,實現(xiàn)串行通信控制功能。基于FPGA 的系統(tǒng)設(shè)計調(diào)試維護方便、可靠性高,而且設(shè)計具有靈活性,可以方
    發(fā)表于 11-07 11:18 ?6次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>進行</b><b class='flag-5'>串行</b>通信控制系統(tǒng)的設(shè)計

    xc7z020和xc7z010 FPGA芯片的電路原理圖免費下載

    本文檔的主要內(nèi)容詳細介紹的是xc7z020和xc7z010 FPGA芯片的電路原理圖免費下載。
    發(fā)表于 02-12 17:20 ?498次下載
    <b class='flag-5'>xc</b>7z020和<b class='flag-5'>xc7z010</b> <b class='flag-5'>FPGA</b><b class='flag-5'>芯片</b>的電路原理圖免費下載

    基于XC95108芯片實現(xiàn)DSP和ARM的并行通信系統(tǒng)的設(shè)計

    ,因此在汽車電子中一般用ARM來實現(xiàn)大容最的數(shù)據(jù)存儲和人機交互或GPS全球定位系統(tǒng),故在DSP和ARM之間需要進行數(shù)據(jù)交換。
    的頭像 發(fā)表于 06-23 14:43 ?3575次閱讀
    基于<b class='flag-5'>XC95108</b><b class='flag-5'>芯片</b><b class='flag-5'>實現(xiàn)</b>DSP和ARM的并行通信系統(tǒng)的設(shè)計

    XC9572和XC95108 DIY CPLD實驗板的PCB

    電子發(fā)燒友網(wǎng)站提供《XC9572和XC95108 DIY CPLD實驗板的PCB.zip》資料免費下載
    發(fā)表于 07-22 11:33 ?6次下載
    <b class='flag-5'>XC</b>9572和<b class='flag-5'>XC95108</b> DIY CPLD實驗板的PCB
    主站蜘蛛池模板: 天天射天天拍| 亚综合| 网红和老师啪啪对白清晰| 可以免费看黄的网址| 手机看片福利盒子| 欧美456| 国产一级特黄aaa大片| se综合| 91拍拍在线观看| 国语一区| 天堂在线国产| 日本黄色片在线观看| 久久九九色| 9久久精品| 手机看片福利盒子| 国产福利影视| 午夜寂寞影视| 在线观看中文字幕一区 | 性做久久久久久久免费看| 亚洲天堂电影在线观看| 色噜噜网站| 久青草免费在线视频| freexxxx性欧美| 欧美67194| 一区二区三区四区无限乱码在线观看| aaaa一级片| 日本免费黄色大片| 国产91久久最新观看地址| 手机在线1024| 免费视频大全| 亚洲欧美精品一区二区| 你懂的免费在线| 亚洲午夜精品在线| 国产精品好好热在线观看| 天天躁狠狠躁夜躁2021| 特毛片| 国产网站免费| 国产精品黄网站免费进入| 天天搞夜夜| 操女人视频网站| 亚州黄色网址|