FPGA配置方式的基本知識?
FPGA配置粗略可以分為主動和被動兩種。主動加載是指由FPGA控制配置流程,被動加載是指FPGA僅僅被動接收配置數(shù)據(jù)。
最常見的被動配置模式就是JTAG下載bit文件。此模式下,主動發(fā)起操作的設(shè)備是計算機,數(shù)據(jù)通路是JTAG,F(xiàn)PGA會被動接收數(shù)據(jù),根據(jù)需要的操作來進行更新FPGA配置。而上位機如何獲取配置數(shù)據(jù)就非常靈活了,可能是本地運行EDA工具生成的,也可以是網(wǎng)絡(luò)/USB存儲設(shè)備獲取的。
主動配置就是FPGA在配置過程中處于主導地位,主動發(fā)起對Flash的讀寫,獲取配置信息進行配置。
具體配置方式可分為三種:AS、PS和JTAG。首先我們先基本的了解以下這三種方式的區(qū)別與特點。
AS模式:
燒到FPGA的配置芯片里保存的,F(xiàn)PGA器件每次上電時,作為控制器從配置器件EPCS主動發(fā)出讀取數(shù)據(jù)信號,從而把EPCS的數(shù)據(jù)讀入FPGA中,實現(xiàn)對FPGA的編程,該方法適用于不需要經(jīng)常升級的場合;
PS模式:
EPCS作為控制器件,把FPGA當做存儲器,把數(shù)據(jù)寫人到FPGA中,實現(xiàn)對FPGA的編程??梢圆捎梦⒖刂破?單片機、ARM等)或者CPLD,該模式可以實現(xiàn)對FPGA在線可編程,升級方便;
JTAG模式:
直接燒到FPGA里面的,由于是SRAM,斷電后要重燒,適用于調(diào)試。
一、JATG模式
JTAG接口是一個業(yè)界標準接口,主要用于芯片測試等功能。altera FPGA基本上都可以支持JTAG命令來配置FPGA的方式,而且JTAG配置方式比其他任何方式優(yōu)先級都高。JTAG接口有4個必需的信號TDI, TDO, TMS和TCK以及1個可選信號TRST構(gòu)成,其中:
TDI:用于測試數(shù)據(jù)的輸入;
TDO:用于測試數(shù)據(jù)的輸出;
TMS:模式控制管腳,決定JTAG電路內(nèi)部的TAP狀態(tài)機的跳變;
TCK:測試時鐘,其他信號線都必須與之同步;
TRST:可選,如果JTAG電路不用,可以講其連到GND。
FPGA和10針插座連接圖:
用戶可以使用altera的下載電纜,也可以使用微處理器等智能設(shè)備從JTAG接口設(shè)置FPGA。nCONFIG、MESL和DCLK信號都是用在其他配置方式下。如果只用JTAG配置,則需要將nCONFIG拉高,將MSEL拉成支持JTAG的任一方式,并將DCLK拉成高或低的固定電平。
二、AS模式
AS配置器件是一種非易失性、基于flash存儲器的存儲器,用戶可以使用altera的ByteBlaster II加載電纜、altera的“altera programming unit”或者第三方的編程器來對配置芯片進行編程。它與FPGA的接口為以下簡單的4個信號線:
DCLK:
串行時鐘輸入,是在配置模式下FPGA內(nèi)部的振蕩器(oscillator)產(chǎn)生的,在配置完成后,該振蕩器將被關(guān)掉。工作時鐘在20MHz左右,而fast AS方式下(stratix II和cyclone II支持該種配置方式),DCLK時鐘工作在40MHz左右,在altera的主動串行配置芯片中,只有EPCS16和EPCS64的DCLK可以支持到40MHz,EPCS1和EPCS4只能支持20MHz。
ASDI:
AS控制信號輸入;
nCS:
片選信號;
DATA:
串行數(shù)據(jù)輸出。
FPGA和串口配置芯片連接圖:
由FPGA器件引導配置操作過程,它控制著外部存儲器和初始化過程,EPCS系列.如EPCS1,EPCS4配置器件專供AS模式,目前只支持 Stratix II 和Cyclone系列。使用Altera串行配置器件來完成。Cyclone器件處于主動地位,配置器件處于從屬地位。配置數(shù)據(jù)通過DATA0引腳送入 FPGA。配置數(shù)據(jù)被同步在DCLK輸入上,1個時鐘周期傳送1位數(shù)據(jù)。
三、PS模式
PS(被動串行)則由外部計算機或控制器控制配置過程,是使用最多的一種配置方式。。所有altera FPGA都支持這種配置模式。通過altera 的下載電纜、加強型配置器件(EPC16,EPC8,EPC4)等配置器件或智能主機(如微處理器和CPLD)來完成,在PS配置期間,配置數(shù)據(jù)從外部儲存部件(這些存儲器可以是altera配置器件或單板上的其他flash器件),通過DATA0引腳送入FPGA。配置數(shù)據(jù)在DCLK上升沿鎖存,1個時鐘周期傳送1位數(shù)據(jù)。
與FPGA的信號接口:
●DCLK(配置時鐘);
●DATA0(配置數(shù)據(jù));
●nCONFIG(配置命令);
●nSTATUS(狀態(tài)信號);
●CONF_DONE(配置完成指示)。
FPGA和串口配置芯片連接圖:
在PS方式下,F(xiàn)PGA處于完全被動的地位。FPGA接收配置時鐘、配置命令和配置數(shù)據(jù),給出配置的狀態(tài)信號以及配置完成指示信號等。PS配置可以使用altera的配置器件(EPC1、EPC4等),可以使用系統(tǒng)中的微處理器,也可以使用單板上的CPLD,或者altera的下載電纜,不管配置的數(shù)據(jù)源從哪里來,只要可以模擬出FPGA需要的配置時序來,將配置數(shù)據(jù)寫入FPGA就可以。
在上電以后,FPGA會在nCONFIG管腳上檢測到一個從低到高的跳變沿,因此可以自動啟動配置過程。
(1)根據(jù)模式的不同,MSEL有不同的設(shè)置。
(2)配置芯片EPCS16存儲大小為16Mbits=2MB.
(3)實驗室的板子的配置方式JAG方式和“AS方式”,但是沒有AS配置口,將SOF文件轉(zhuǎn)換我JIC文件,利用JATG將配置文件下載到配置芯片中。所以,可以把這種方式叫做偽AS模式。
(4)串口配置芯片EPCS16的4個引腳(DATA、DCLK、nCS和ASDI)與FPGA相連即可,JTAG口連接方式按上文所述即可。MSEL只有三位,配置為010(AS模式),這里按照AS模式連接。