亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多片國(guó)產(chǎn)FPGA加載方式的探討*

        2020-03-25 07:35:08沈佐峰梁文婷
        通信技術(shù) 2020年1期
        關(guān)鍵詞:級(jí)聯(lián)寄存器啟動(dòng)

        沈佐峰,梁文婷

        (中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041)

        0 引 言

        現(xiàn)場(chǎng)可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)以其高靈活性、豐富的邏輯和I/O資源,在電子、通信領(lǐng)域應(yīng)用越來(lái)越廣泛。眾所周知,目前FPGA市場(chǎng)被Xilinx、Lattice、Alter(已被Intel收購(gòu))及Actel(已被Microsemi收購(gòu))4家美國(guó)公司壟斷。國(guó)家對(duì)核心關(guān)鍵芯片的國(guó)產(chǎn)自主化日益迫切的需求,促使國(guó)內(nèi)廠家近年來(lái)大力發(fā)展FPGA設(shè)計(jì)和制造產(chǎn)業(yè),涌現(xiàn)出一批優(yōu)秀的FPGA廠家,如上海安路、高云半導(dǎo)體及京微齊力等。但是,上述國(guó)內(nèi)廠家由于工藝和技術(shù)上的限制,芯片性能一定程度上落后于國(guó)外幾家大廠。因此,通常FPGA在國(guó)產(chǎn)自主可控設(shè)備的工程使用上,由于性能的不足,需通過多片F(xiàn)PGA功能分隔完成工程化應(yīng)用[1]。

        目前,無(wú)論國(guó)內(nèi)外廠商,F(xiàn)PGA的制造工藝大多數(shù)基于SRAM工藝。它具有易失性,F(xiàn)PGA在每次上電后需要重新進(jìn)行配置加載。配置加載傳統(tǒng)采用單片F(xiàn)PGA單獨(dú)配置一個(gè)PROM的方式,以實(shí)現(xiàn)FPGA程序的非易失和上電自動(dòng)加載。但是,該方式費(fèi)時(shí)費(fèi)力,一旦FPGA板卡裝入整機(jī)后再進(jìn)行程序的修改或升級(jí),必須通過開箱后連接下載電纜實(shí)現(xiàn),整個(gè)過程非常繁雜。

        針對(duì)上述情況,本文提出了3種解決方案:第一種通過MCU采用菊花鏈的方式實(shí)現(xiàn)兩片或多片國(guó)產(chǎn)化FPGA程序的加載;第二種通過MCU配置和更新FPGA的程序存儲(chǔ)FLASH,再實(shí)現(xiàn)從FLASH啟動(dòng)FPGA;第三種是直接通過MCU加載FPGA。

        1 FPGA配置加載原理

        目前,針對(duì)國(guó)內(nèi)外FPGA產(chǎn)品在配置方法,配置引腳功能設(shè)置及配置接口時(shí)序基本完全相同。這里以上海安路信息科技有限公司的AL3A10BG256為例進(jìn)行原理介紹[2]。AL3A10BG256共有7種配置方式可選擇,分別是主動(dòng)串行(Master Serial,MS)、從動(dòng)串行(Slave Serial,SS)、從動(dòng)并行(Slave Parallel,SP)、主動(dòng)并行(Master Parallel,MP)、快速SPI、標(biāo)準(zhǔn)SPI和JTAG配置模式。配置模式由MSEL[0-2]3個(gè)模式選擇信號(hào)確定。

        AL3A10BG256芯片的配置過程包含3個(gè)步驟:

        (1)在芯片上電復(fù)位或者系統(tǒng)復(fù)位信號(hào)有效后進(jìn)入復(fù)位階段,等待內(nèi)部信號(hào)和電源穩(wěn)定后,系統(tǒng)開始進(jìn)行初始化和內(nèi)部配置信息清除過程;

        (2)當(dāng)芯片初始化完成后,F(xiàn)PGA開始接受配置數(shù)據(jù)寫入;

        (3)數(shù)據(jù)寫入完成后,F(xiàn)PGA芯片進(jìn)入啟動(dòng)階段。

        AL3A10BG256的配置引腳分為專用配置引腳和復(fù)用引腳,復(fù)用引腳配置完成后可以用一般IO使用。專用引腳包括配置模式選擇引腳(MSEL[0-2])、配置時(shí)鐘引腳(CCLK)、配置開始信號(hào)引腳(PROGRAMN)、配置完成引腳(DONE)、配置錯(cuò)誤指示引腳(INITN)、從模式配置片選引腳(CSN)及邊界掃描相關(guān)引腳(TDI、TDO、TMS、TCK)。復(fù)用引腳包括配置級(jí)聯(lián)片選、數(shù)據(jù)輸出腳(CSON/DOUT)、SPI模式片選輸出(SPICSN)和配置數(shù)據(jù)輸入引腳(D[7:0]),其中D[1]還可以做為MSPI模式下的MOSI,D[0]還可以作為從模式下的DIN和MSPI模式下的MISO。DONE和INITN是開漏輸出,需采用電阻上拉。

        在初始化過程中,如需要重新下載配置數(shù)據(jù),拉低PROGRAMN引腳后,系統(tǒng)進(jìn)入初始化過程。初始化過程中,F(xiàn)PGA將清除內(nèi)部所有配置點(diǎn),復(fù)位內(nèi)部寄存器。在數(shù)據(jù)寫入階段,INITN信號(hào)變?yōu)楦唠娖?,此時(shí)用戶配置數(shù)據(jù)開始寫入AL3A10BG256。在啟動(dòng)階段,F(xiàn)PGA釋放DONE信號(hào)、釋放全局三態(tài)信號(hào)GTS、釋放全局復(fù)位/置位信號(hào)GSR及釋放全局寫使能信號(hào)GWE。

        2 系統(tǒng)實(shí)現(xiàn)方案

        2.1 多片F(xiàn)PGA級(jí)聯(lián)方式

        安路公司FPGA支持兩種級(jí)聯(lián)方式:一種是JTAG方式下的級(jí)聯(lián)(即通常說的菊花鏈);另一種是從動(dòng)模式下(SP/MP)的聯(lián)級(jí)。

        2.1.1 JTAG級(jí)聯(lián)加載

        JTAG級(jí)聯(lián)加載相對(duì)比較簡(jiǎn)單,如果要下載到FLASH,則只支持三級(jí)級(jí)聯(lián),如圖1所示。

        圖1 JTAG級(jí)聯(lián)硬件

        JTAG級(jí)聯(lián)在TD軟件中需要進(jìn)行設(shè)置,先把需要加載的多個(gè)bit文件加入,并生成SVF文件,然后設(shè)置level,即可下載。如果是單級(jí),則直接下載bit文件。安路的FPGA和國(guó)外FPGA在下載時(shí)有一定區(qū)別。國(guó)外FPGA直接下載到FPGA里是bit文件,如果下載到FLASH里則是MCS等文件。安路FPGA不論是下載到FPGA還是FLASH,都可以選則bit文件,可以在軟件中選擇采用JTAG方式加載還是FLASH方式加載[3]。

        該方式較適合在開發(fā)調(diào)試階段使用,通過JTAG調(diào)試或下載程序到FLASH,也是最常用的方式。由于只存儲(chǔ)單一程序的配置文件,一旦加載后只能實(shí)現(xiàn)一個(gè)特定功能,不同功能模塊之間不能直接進(jìn)行互換,也不方便升級(jí)。該模式一般應(yīng)用于產(chǎn)品量小且產(chǎn)品只在特定室內(nèi)運(yùn)行,能快速拆卸機(jī)殼的環(huán)境,或者產(chǎn)品本身沒有MCU。

        2.1.2 從動(dòng)級(jí)聯(lián)加載

        無(wú)論是在SS、MS還是MP、SP模式下,都有Flow Through和Bypass兩種級(jí)聯(lián)模式。級(jí)聯(lián)工作模式由位流中的命令指定。這兩個(gè)級(jí)聯(lián)模式是可以無(wú)限級(jí)數(shù)的級(jí)聯(lián),非常適合大型系統(tǒng)采用。

        在AL3A10BG256芯片的配置數(shù)據(jù)下載時(shí),若采用Flow Through模式,第一塊FPGA配置完成后,輸出CSON啟動(dòng)第二款芯片進(jìn)入配置。Bypass模式下,第一塊芯片配置完成后,配置給其他FPGA的數(shù)據(jù)在每個(gè)CCLK上升時(shí)刻輸出給DOUT引腳。級(jí)聯(lián)配置芯片的DONE和INITN引腳通過上拉電阻線與連接在一起,只有2片都完成配置后,通過DONE芯片同時(shí)開始工作,如圖2所示。

        圖2 級(jí)聯(lián)

        2.2 實(shí)現(xiàn)方式

        隨著通信設(shè)備的復(fù)雜化、多樣化和國(guó)產(chǎn)化,同一套硬件設(shè)備可能應(yīng)用于不同場(chǎng)合,這要求國(guó)產(chǎn)FPGA的內(nèi)部邏輯要可隨著應(yīng)用場(chǎng)合可變化,使設(shè)備可以滿足“一機(jī)多用”的應(yīng)用需求。為了適應(yīng)這種需求,本文介紹了一種“MCU+FLASH+JTAG”的硬件配置系統(tǒng),可在不同條件下進(jìn)行不同方式的加載[4]。

        圖3可以選擇幾種加載方式:一是JTAG加載或通過JTAG下載程序到FLASH;二是MCU直接加載,程序存在MCU中;三是通過FLASH加載,F(xiàn)LASH可以通過MCU的網(wǎng)口、USB、串口隨時(shí)更新程序。第一種即JTAG級(jí)聯(lián),不作詳細(xì)介紹,下面主要說明后兩種加載方式。

        2.2.1 MCU加載

        第二種方式MCU加載bit文件,不需要FLASH。安路TD軟件生成的bin文件存入MCU軟件。MCU在啟動(dòng)后讀取二進(jìn)制文件,通過串行口寫入FPGA中,硬件設(shè)計(jì)如圖3所示的第2種方式。

        FPGA軟件可以設(shè)置為Flow Through級(jí)聯(lián)模式,也可以是主動(dòng)串接的Flow Through級(jí)聯(lián)模式,通過MSEL選擇。如果要采用Bypass級(jí)聯(lián),則把上一級(jí)的DOUT輸入到下一級(jí)的DIN。需要在TD軟件中設(shè)置以下兩個(gè)選項(xiàng)開關(guān),分別為設(shè)置級(jí)聯(lián)模式為Bypass或Flow Through模式和設(shè)置多片同步啟動(dòng)模式。

        MCU將FPGA和MCU之間的配置寄存器設(shè)置為加載模式,將PROGRAM信號(hào)拉低并保持低電平時(shí)間大于1 μs,F(xiàn)PGA檢測(cè)到PROGRAM為低且配置寄存器為0x1(加載模式),清除現(xiàn)有的程序進(jìn)入加載狀態(tài),同時(shí)拉低INITN信號(hào)和DONE信號(hào)對(duì)CPU反饋。CPU檢測(cè)INITN和DONE信號(hào)為低,待FPGA準(zhǔn)備就緒后,將INITN信號(hào)拉高;CPU檢測(cè)到INITN信號(hào)為高后,將輸出時(shí)鐘,并在時(shí)鐘下降時(shí)開始發(fā)送數(shù)據(jù)。第一片F(xiàn)PGA芯片配置完成后,它會(huì)在每個(gè)CCLK上升時(shí)刻將新收到的數(shù)據(jù)通過DOUT引腳移位到下一片F(xiàn)PGA中。當(dāng)所有FPGA加載完成后,最后一片F(xiàn)PGA將DONE信號(hào)拉高。如果加載不成功,DONE信號(hào)一直為低。FPGA在DONE信號(hào)拉高的同時(shí),把配置寄存器設(shè)置為0x0(正常模式)。CPU在所有配置寫入后延遲1 s,檢測(cè)DONE信號(hào)并且讀取配置寄存器,如果都正常,則表示加載成功。

        圖3 FPGA加載硬件

        當(dāng)需要升級(jí)FPGA程序時(shí),通過網(wǎng)口或別的通信口通過MCU。MCU接收到遠(yuǎn)程傳來(lái)的FPGA程序的BIN文件存放在外掛的非易失存儲(chǔ)器中(如SD卡)的特定位置,同時(shí)開始進(jìn)入加載模式。在FPGA加載成功后,將此次收到的BIN文件覆蓋之前FPGA加載文件存放位置。如果沒有加載成功,則把FPGA以前版本BIN重新加載,并且通知遠(yuǎn)方主機(jī)。

        MCU軟件流程序邏輯,如圖4所示。

        這種加載方式成本較低,升級(jí)性能好,可以在程序運(yùn)行任何時(shí)間段更新程序并重新加載,缺點(diǎn)是CCLK也要由MCU GPIO口模擬。如果MCU GPIO口的速度較慢,加載文件較大,那么時(shí)間就較長(zhǎng)。以兆易的MCU(GD32F450)+復(fù)旦微JFM7K325T為例,兆易自身啟動(dòng)大于90 s(與程序大小有關(guān)),JFM7K325T的BIN文件是11 176 kbyte。如果MCU GPIO的速度為800 kHz,F(xiàn)PGA加載時(shí)間為14 s,還需要MCU讀取加載文件的時(shí)間,從加電到FPGA啟動(dòng)完成正常工作,需要將近120 s。對(duì)于時(shí)間比較敏感的產(chǎn)品來(lái)說,用戶的體驗(yàn)會(huì)很差。在同等條件下,如果從FLASH啟動(dòng),時(shí)鐘為33 MHz,則加載只需要2.7 s。

        2.2.2 FLASH加載

        第三種方式是通過FLASH加載bit文件,同時(shí)升級(jí)FLASH很方便,硬件如圖3所示的第3點(diǎn),產(chǎn)生bit文件或bin文件都可以(這與國(guó)外FPGA不同),要升級(jí)時(shí)可以通過MCU外接的RJ45或USB或RS232口連接。以北京兆易的MCU(GD32F450)+安路FPGA(AL3A10BG256)搭建一個(gè)升級(jí)平臺(tái),如圖5所示。

        圖4 MCU軟件流程序邏輯

        圖5 硬件平臺(tái)

        GD25Q64作為FPGA配置Flash,啟動(dòng)時(shí)連接FPGA的加載引腳。需要FPGA升級(jí)時(shí),MCU和FPGA通信,通過SPI1接口訪問配置Flash,實(shí)現(xiàn)FPGA升級(jí)功能。FLASH要成2個(gè)BANK,初始狀態(tài)BANK1和BANK2的BIN文件為一樣的。收到升級(jí)BIN后,BANK1為升級(jí)的BIN,BANK2為當(dāng)前版本的BIN。在RJ45、USB、RS232三種接口中,RJ45距離最遠(yuǎn),只要網(wǎng)絡(luò)允許即可通信,但要在下載bin或bit文件時(shí),加校驗(yàn)措施。USB和RS232都只能近距離升級(jí),可以通過U盤升級(jí)連接USB座子。MCU收到USB提示后,讀取USB內(nèi)容后送入FLASH中。通過RS232可以實(shí)現(xiàn)RS23和計(jì)算機(jī)相連,然后MCU自帶的使用“GigaDevice ISP Programmer”軟件,選擇相應(yīng)的MCU,把BIN下載到MCU再進(jìn)入FLASH。

        MCU升級(jí)FLASH,需要制定一個(gè)升級(jí)寄存器,初始狀態(tài)為0x0。如果有程序?qū)懭隖LASH,則置0x3,在下次啟動(dòng)時(shí)從BANK1讀取程序。如FPGA正常啟動(dòng),則把升級(jí)寄存器置0x1。MCU檢測(cè)到寄存器為0x1時(shí),把BANK1的BIN文件寫入BANK2,同時(shí)把升級(jí)寄存器置為0x00。如果CPU檢測(cè)到FPGA重新加載了,升級(jí)寄存器為0x3,則把BANK2的數(shù)據(jù)覆蓋BANK1,把寄存器置為0x00,且通過升級(jí)不成功。

        第三種方式也是在產(chǎn)品階段,通過FLASH啟動(dòng)。如果需要更新程序,MCU通過SPI更新FLASH的程序。這種配置方法的優(yōu)點(diǎn)是外圍電路簡(jiǎn)單、體積小,適合不需要頻繁升級(jí)、對(duì)啟動(dòng)時(shí)間要求高的產(chǎn)品。第三種方式綜合了前兩種的優(yōu)點(diǎn),但比第二種方式增加了FLASH的成本。

        2.3 幾種方式的對(duì)比

        對(duì)于同樣大小的配置文件,選擇不同的配置模式,配置電路設(shè)計(jì)和配置時(shí)間會(huì)大不相同。常用配置模式比較如表1所示,選擇配置模式時(shí)考慮的因素有整體設(shè)置、速度、成本、程序升級(jí)復(fù)雜性和應(yīng)用場(chǎng)合等。

        表1 配置模式比較

        3 試驗(yàn)結(jié)果

        為了對(duì)本文設(shè)計(jì)的配置系統(tǒng)功能和性能進(jìn)行驗(yàn)證,根據(jù)圖1搭建了系統(tǒng)驗(yàn)證平臺(tái)。MCU采用兆 易 的MCU(GD32F450),F(xiàn)PGA采 用2片 安路公司的AL3A10BGA256,F(xiàn)LASH采用兆易公司的GD25Q64CSIG。選擇文件為bit文件,采用Flow Through級(jí)聯(lián)方式,JTAG下載時(shí)鐘選擇1M時(shí)鐘。配置文件大小分別為285 kB和292 kB,MCU選用配置時(shí)鐘為800 kHz,采用FLASH加載方式,用示波器實(shí)測(cè)加載時(shí)間為2 069 ms和2 105 ms(計(jì)算加載時(shí)間為2 280 ms和2 336 ms)。選擇MCU的配置方式,配置時(shí)間為81 s(這里MCU啟動(dòng)到加載FPGA約為70 s),根據(jù)配置結(jié)束后的在線示波器采樣的信號(hào)時(shí)序,F(xiàn)PGA的DONE引腳拉高,配置成功。

        4 結(jié) 語(yǔ)

        隨著國(guó)產(chǎn)FPGA被越來(lái)越多的使用,設(shè)計(jì)中對(duì)多片F(xiàn)PGA加載方式也提出了更高要求。本文提出了典型國(guó)產(chǎn)FPGA加載的幾種方案,設(shè)計(jì)者可以根據(jù)實(shí)際工程應(yīng)用情況,靈活選擇不同的加載方式,使得FPGA的配置加載更靈活可靠。本文提出的設(shè)計(jì)方案在實(shí)際使用時(shí)具有一定的參考意義,同時(shí)本方案經(jīng)過實(shí)際工程應(yīng)用檢驗(yàn),證明了安全性和可行性。

        猜你喜歡
        級(jí)聯(lián)寄存器啟動(dòng)
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        霧霾來(lái)襲 限產(chǎn)再次啟動(dòng)
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        安發(fā)生物啟動(dòng)2017
        級(jí)聯(lián)LDPC碼的STBC-OFDM系統(tǒng)
        電子制作(2016年15期)2017-01-15 13:39:09
        基于級(jí)聯(lián)MUSIC的面陣中的二維DOA估計(jì)算法
        西部最大規(guī)模云計(jì)算中心啟動(dòng)
        俄媒:上合組織或9月啟動(dòng)擴(kuò)員
        LCL濾波器在6kV級(jí)聯(lián)STATCOM中的應(yīng)用
        H橋級(jí)聯(lián)型STATCOM的控制策略研究
        丰满的人妻hd高清日本| 精品日本一区二区视频| 射进去av一区二区三区| 亚洲乱码无人区卡1卡2卡3| 一本色道久久99一综合| 中文人妻无码一区二区三区| 国产一区二区三区乱码在线| 国产91传媒一区二区三区| 午夜色大片在线观看| 激情综合丁香五月| 婷婷五月综合激情| 日本精品久久久久中文字幕1| 国产一区二区免费在线观看视频| 青青草视频在线观看色| 99热这里有精品| 国产农村妇女毛片精品久久久| 亚洲公开免费在线视频| 国产亚洲精品视频网站| 亚洲另类丰满熟妇乱xxxx| 极品嫩模高潮叫床| 国产91精选在线观看麻豆| 亚洲一区二区三区在线更新| 久久久99精品免费视频| 性色av无码久久一区二区三区| 亚洲国产99精品国自产拍| 蜜桃视频一区二区三区| 精品亚洲麻豆1区2区3区| 国产午夜福利小视频合集| 中文字幕无码免费久久9| 日韩男女av中文字幕| 日本a级免费大片网站| 天天爽夜夜爱| 热久久网站| 亚洲一区二区观看网站| 久久精品国产亚洲av四叶草| 亚洲日韩精品无码专区网址| 无码人妻精品一区二区三区在线| 国产精品网站夜色| 国产精品一区二区三区蜜臀| 国产一级二级三级在线观看视频| 国产在视频线精品视频|