新聞中心

        FPGA基礎(chǔ)入門(二)

        作者: 時(shí)間:2011-02-28 來(lái)源:網(wǎng)絡(luò) 收藏

        很多兄弟對(duì)于C下JTAG的下載很熟悉了,可轉(zhuǎn)到來(lái)的時(shí)候,多多少少有些迷惑,怎么
        出現(xiàn)配置芯片了,為什么要用不同的下載電纜,不同的下載模式?我就自己知道的一點(diǎn)東西
        談一些個(gè)人的見(jiàn)解,并發(fā)一些資料.希望路過(guò)的朋友喝個(gè)采,版主給點(diǎn)威望.有問(wèn)題大家也
        一起討論,歡迎拍磚.

        1.器件有三類配置下載方式:主動(dòng)配置方式(AS)和被動(dòng)配置方式(PS)和最常用
        的(JTAG)配置方式。

        AS由器件引導(dǎo)配置操作過(guò)程,它控制著外部存儲(chǔ)器和初始化過(guò)程,EPCS系列.如EPC
        S1,EPCS4配置器件專供AS模式,目前只支持 Cyclone系列。使用Altera串行配置器件來(lái)
        完成。Cyclone期間處于主動(dòng)地位,配置期間處于從屬地位。配置數(shù)據(jù)通過(guò)DATA0引腳送
        入 FPGA。配置數(shù)據(jù)被同步在DCLK輸入上,1個(gè)時(shí)鐘周期傳送1位數(shù)據(jù)。(見(jiàn)附圖)

        PS則由外部計(jì)算機(jī)或控制器控制配置過(guò)程。通過(guò)加強(qiáng)型配置器件(EPC16,EPC8,EPC4)
        等配置器件來(lái)完成,在PS配置期間,配置數(shù)據(jù)從外部?jī)?chǔ)存部件,通過(guò)DATA0引腳送入FPG
        A。配置數(shù)據(jù)在DCLK上升沿鎖存,1個(gè)時(shí)鐘周期傳送1位數(shù)據(jù)。(見(jiàn)附圖)

        JTAG接口是一個(gè)業(yè)界標(biāo)準(zhǔn),主要用于芯片測(cè)試等功能,使用IEEE Std 1149.1聯(lián)合邊界掃描
        接口引腳,支持JAM STAPL標(biāo)準(zhǔn),可以使用Altera下載電纜或主控器來(lái)完成。

        FPGA在正常工作時(shí),它的配置數(shù)據(jù)存儲(chǔ)在SRAM中,加電時(shí)須重新下載。在實(shí)驗(yàn)系統(tǒng)中,
        通常用計(jì)算機(jī)或控制器進(jìn)行調(diào)試,因此可以使用PS。在實(shí)用系統(tǒng)中,多數(shù)情況下必須由
        FPGA主動(dòng)引導(dǎo)配置操作過(guò)程,這時(shí)FPGA將主動(dòng)從外圍專用存儲(chǔ)芯片中獲得配置數(shù)據(jù),而
        此芯片中fpga配置信息是用普通編程器將設(shè)計(jì)所得的pof格式的文件燒錄進(jìn)去。

        專用配置器件:epc型號(hào)的存儲(chǔ)器

        常用配置器件:epc2,epc1,epc4,epc8,epc1441(現(xiàn)在好象已經(jīng)被逐步淘汰了)等

        對(duì)于cyclone cycloneII系列器件,ALTERA還提供了針對(duì)AS方式的配置器件,EPCS系列.如
        EPCS1,EPCS4配置器件也是串行配置的.注意,他們只適用于cyclone系列.

        除了AS和PS等單BIT配置外,現(xiàn)在的一些器件已經(jīng)支持PPS,F(xiàn)PS等一些并行配置方式,提
        升配置了配置速度。當(dāng)然所外掛的電路也和PS有一些區(qū)別。還有處理器配置比如JRUNNE
        R 等等,如果需要再baidu吧,至少不下十種。比如Altera公司的配置方式主要有Passi
        ve Serial(PS),Active Serial(AS),Fast Passive Parallel(FPP),Passive Parallel
        Synchronous(PPS),Passive Parallel Asynchronous(PPA),Passive Serial Asynchron
        ous(PSA),JTAG等七種配置方式,其中Cyclone支持的配置方式有PS,AS,JTAG三種.

        2 對(duì)FPGA芯片的配置中,可以采用AS模式的方法,如果采用EPCS的芯片,通過(guò)一條下載
        線進(jìn)行燒寫(xiě)的話,那么開(kāi)始的'nCONFIG,nSTATUS'應(yīng)該上拉,要是考慮多種配置模式,可
        以采用跳線設(shè)計(jì)。讓配置方式在跳線中切換,上拉電阻的阻值可以采用10K

        3,在PS模式下tip:如果你用電纜線配置板上的FPGA芯片,而這個(gè)FPGA芯片已經(jīng)有配置芯片
        在板上,那你就必須隔離纜線與配置芯片的信號(hào).(祥見(jiàn)下圖).一般平時(shí)調(diào)試時(shí)不會(huì)把配置
        芯片焊上的,這時(shí)候用纜線下載程序.只有在調(diào)試完成以后,才把程序燒在配置芯片中, 然
        后將芯片焊上.或者配置芯片就是可以方便取下焊上的那種.這樣出了問(wèn)題還可以方便地
        調(diào)試.

        在AS模式下tip: 用過(guò)一塊板子用的AS下載,配置芯片一直是焊在板子上的,原來(lái)AS方
        式在用線纜對(duì)配置芯片進(jìn)行下載的時(shí)候,會(huì)自動(dòng)禁止對(duì)FPGA的配置,而PS方式需要電路
        上隔離。

        4,一般是用jtag配置epc2和flex10k,然后 epc2用ps方式配置flex10k.這樣用比較好.(
        這是我在網(wǎng)上看到的,可以這樣用嗎?懷疑中)望達(dá)人告知.

        5,下載電纜,Altera下的下載電纜分為byteblaster和byteblasterMV,以及ByteBlaster
        II,現(xiàn)在還推出了基于USB-blaster.由于BB基本已經(jīng)很少有人使用,而USB-Blaster現(xiàn)在又
        過(guò)于昂貴,這里就說(shuō)一下BBII和 BBMV的區(qū)別.

        BBII支持多電壓供電5.5v,3.3v,2.5v,1.8v;

        BBII支持三種下載模式:AS,可對(duì)Altera的As串行配置芯片(EPCS系列)進(jìn)行編程

        PS,可對(duì)FPGA進(jìn)行配置

        JTAG,可對(duì)FPGA,C,即Altera配置芯片(EPC系列)編程

        而B(niǎo)BMV只支持PS和JTAG

        6,一般在做FPGA實(shí)驗(yàn)板,(如cyclone系列)的時(shí)候,用AS+JTAG方式,這樣可以用JTAG方式調(diào)
        試,而最后程序已經(jīng)調(diào)試無(wú)誤了后,再用 AS模式把程序燒到配置芯片里去,而且這樣有一
        個(gè)明顯的優(yōu)點(diǎn),就是在AS模式不能下載的時(shí)候,可以利用Quartus自帶的工具生成JTAG模式
        下可以利用的jic文件來(lái)驗(yàn)證配置芯片是否已經(jīng)損壞,方法祥見(jiàn)附件(這是駿龍的人寫(xiě)的,
        摘自咱們的壇子,如有版權(quán)問(wèn)題,包涵包涵).

        7.Altera的FPGA可以通過(guò)單片機(jī),C等加以配置,主要原理是滿足datasheet中的時(shí)序即
        可,這里我就不多說(shuō)了,有興趣的朋友可以看看下面幾篇文章,應(yīng)該就能夠明白是怎么回事
        了.

        8.配置時(shí),quartus軟件操作部分:

        (1).assignment-->device-->devicepin options-->選擇configuration scheme,conf
        iguaration mode,configuration device,注

        意在不支持遠(yuǎn)程和本地更新的機(jī)器中configuration mode不可選擇,而configuration d
        evice中會(huì)根據(jù)不同的配置芯片產(chǎn)生pof文件,

        如果選擇自動(dòng),會(huì)選擇最小密度的器件和適合設(shè)計(jì)

        (2).可以定義雙口引腳在配置完畢后的作用,在剛才的devicepin option-->dual-purp
        ose pins-->,可以在配置完畢后繼續(xù)當(dāng)I/O口

        使用

        (3).在general菜單下也有很多可鉤選項(xiàng),默認(rèn)情況下一般不做改動(dòng),具體用法參見(jiàn)alter
        a configuration

        handbook,volume2,sectionII.

        (4)關(guān)于不同后綴名的文件的適用范圍:

        sof(SRAM Object File)當(dāng)直接用PS模式下將配置數(shù)據(jù)下到FPGA里用到,USB BLASTER,MA
        STERBLASER,BBII,BBMV適用,quartusII會(huì)自

        動(dòng)生成,所有其他的配置文件都是由sof生成的.

        pof(Programmer Object File)也是由quartusII自動(dòng)生成的,BBII適用,AS模式下將配置
        數(shù)據(jù)下到配置芯片中

        rbf(Raw Binary File)用于微處理器的二進(jìn)制文件.在PS,FPP,PPS,PPA配置下有用處

        rpd(Raw Programing Data File)包含bitstream的二進(jìn)制文件,可用AS模式配置,只能由
        pof文件生成

        hex(hexadecimal file)這個(gè)就不多說(shuō)了,單片機(jī)里很多

        ttf(Tabular Text File)適用于FPP,PPS,PPA,和bit-wide PS配置方式

        sbf(Serial Bitstream File)用PS模式配置Flex 10k和Flex6000的

        jam(Jam File)專門用于program,verigy,blank-check


        這幾天查看了altera的FPGA下載配置的資料,現(xiàn)將學(xué)習(xí)心得總結(jié)如下:

        1、根據(jù)FPGA在配置電路中的角色,配置數(shù)據(jù)可以使用3種方式載入到目標(biāo)器件中:

        (1) FPGA主動(dòng)方式:由FPGA來(lái)主動(dòng)輸出控制和同步信號(hào)給FPGA的串行配置芯片(EPCS系列),配置芯片收到命令后,把配置數(shù)據(jù)發(fā)給FPGA,完成配置過(guò)程;在AS模式下,F(xiàn)PGA必須與AS串行配置芯片配合使用,它與FPGA的接口為四跟信號(hào)線,分別為:串行時(shí)鐘輸入(DCLK),AS控制信號(hào)輸入 (ASDI),片選信號(hào)(nCS),串行數(shù)據(jù)輸出(DATA)。

        (2) FPGA被動(dòng)方式:被動(dòng)模式下,由系統(tǒng)的其他設(shè)備發(fā)起并控制配置過(guò)程,這些設(shè)備可以是配置芯片(EPC系列),或者單板的微處理器、等。 FPGA在配置過(guò)程中完全處于被動(dòng)地位,只是輸出一些狀態(tài)信號(hào)來(lái)配合配置過(guò)程;在PS模式下,需要配置時(shí)鐘(DCLK),配置數(shù)據(jù)(DATA0),配置命令(nCONFIG),狀態(tài)信號(hào)(nSTATUS),配置完成指示(CONF_DONE)這四個(gè)信號(hào)來(lái)完成配置過(guò)程。

        (3) JTAG模式:使用JTAG進(jìn)行配置可以使用Altera的下載電纜,或者通過(guò)智能主機(jī)模擬JTAG的時(shí)序來(lái)進(jìn)行配置;JTAG接口由四個(gè)必須的信號(hào)TDI、TDO、TMS和TCK,以及一個(gè)可選的TRST構(gòu)成。

        2、若使用ByteBlasterII下載電纜,支持的配置方式有以下3種:

        AS方式:對(duì)AS配置芯片(ECPS系列)進(jìn)行編程;

        PS方式:可以對(duì)FPGA進(jìn)行配置;

        JTAG方式:可以對(duì)FPGA、以及Altera配置芯片(EPC系列)編程。

        3、AS及PS模式下的注意事項(xiàng)

        PS 模式:如果你用電纜線配置板上的FPGA芯片,而這個(gè)FPGA芯片已經(jīng)有配置芯片在板上,那你就必須隔離纜線與配置芯片的信號(hào)一般平時(shí)調(diào)試時(shí)不會(huì)把配置芯片焊上的,這時(shí)候用纜線下載程序.只有在調(diào)試完成以后,才把程序燒在配置芯片中,然后將芯片焊上.或者配置芯片就是可以方便取下焊上的那種.這樣出了問(wèn)題還可以方便地調(diào)試.

        AS模式下: 用過(guò)一塊板子用的AS下載,配置芯片一直是焊在板子上的,原來(lái)AS方式在用線纜對(duì)配置芯片進(jìn)行下載的時(shí)候,會(huì)自動(dòng)禁止對(duì)FPGA的配置,而PS方式需要電路上隔離。

        4、一般在做FPGA實(shí)驗(yàn)板,(如cyclone系列)的時(shí)候,用AS+JTAG方式,這樣可以用JTAG方式調(diào)試,而最后程序已經(jīng)調(diào)試無(wú)誤了后,再用AS模式把程序燒到配置芯片里去,而且這樣有一個(gè)明顯的優(yōu)點(diǎn),就是在AS模式不能下載的時(shí)候,可以利用Quartus自帶的工具生成JTAG模式下可以利用的jic文件來(lái)驗(yàn)證配置芯片是否已經(jīng)損壞。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 台安县| 共和县| 都江堰市| 临桂县| 南昌县| 凉城县| 延吉市| 扶风县| 米泉市| 盱眙县| 黔江区| 巴青县| 山阴县| 冀州市| 磴口县| 鸡东县| 方正县| 汤原县| 怀柔区| 西安市| 宁阳县| 政和县| 抚顺市| 特克斯县| 凌云县| 德兴市| 兴隆县| 永胜县| 凯里市| 勃利县| 兴宁市| 正定县| 全南县| 张掖市| 新巴尔虎左旗| 瓦房店市| 托里县| 沽源县| 乌拉特中旗| 沅陵县| 普格县|