国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Slave SelectMAP模式的邏輯加載故障研究

2020-02-22 03:58:10武堅(jiān)武健張宇烜
電腦知識(shí)與技術(shù) 2020年36期

武堅(jiān) 武健 張宇烜

摘要:基于FPGA的嵌入式結(jié)構(gòu)產(chǎn)品在硬件設(shè)計(jì)領(lǐng)域得到了廣泛應(yīng)用,該文介紹了Virtex系列FPGA的邏輯加載模式,對(duì)加載速度較高的Slave SelectMAP模式的邏輯加載過程進(jìn)行了研究,并分析了加載中各信號(hào)的使用情況。同時(shí)結(jié)合產(chǎn)品使用實(shí)例,對(duì)典型的邏輯加載故障進(jìn)行了分析和研究。

關(guān)鍵詞: Slave SelectMAP模式 ;邏輯加載故障

中圖分類號(hào):TP3? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2020)36-0232-02

1 介紹

以高密度現(xiàn)場(chǎng)可編程邏輯器件FPGA為處理核心設(shè)計(jì)的嵌入式結(jié)構(gòu)產(chǎn)品 ,具有低成本、高集成度、低功耗、小封裝等優(yōu)點(diǎn),并且其在線編輯具有很高的靈活度,后期升級(jí)維護(hù)也非常簡(jiǎn)單。常用的FPGA芯片如Virtex系列,是一種高密度、大容量的現(xiàn)場(chǎng)可編程門陣列芯片,其邏輯單元多達(dá)100萬個(gè),可兼容16種高性能接口標(biāo)準(zhǔn),最高工作頻率可達(dá)200MHZ。Virtex系列FPGA的邏輯文件加載方式由FPGA內(nèi)部的模式選擇信號(hào)M[2:0] 的電平來決定[1],常見的加載模式包括JTAG模式、串行模式和并行模式。其中串行模式包括Master Serial和Slave Serial兩種,并行模式也分Master SelectMap和Slave SelectMap兩類。這些模式的選擇與M[2:0]的對(duì)應(yīng)關(guān)系見表1。

其中JTAG加載模式中,不需要存儲(chǔ)芯片介入,該模式主要用于邏輯文件燒寫和調(diào)試階段,在產(chǎn)品斷電后需要重新進(jìn)行加載。串行模式需要使用到的FPGA加載信號(hào)較少,通常由FPGA在CCLK的上升沿接收1位數(shù)據(jù)進(jìn)行加載,該加載方式速度較慢。而并行模式是一種8位數(shù)據(jù)加載模式,配置加載時(shí)鐘最可達(dá)66MHz,每個(gè)加載時(shí)鐘周期內(nèi)有8位配置數(shù)據(jù)下載到FPGA內(nèi)。在對(duì)加載速度要求較高的一些應(yīng)用場(chǎng)合,一般采用并行加載模式。本文主要分析了Slave SelectMAP并行模式的邏輯文件加載流程,并對(duì)該模式邏輯加載中常見故障進(jìn)行了分析研究,為基于FPGA的嵌入式產(chǎn)品故障排查提供了理論支持。

2 基于Slave SelectMAP模式的邏輯加載流程

Virtex系列FPGA采用SRAM工藝,F(xiàn)PGA本身具有易失性, 產(chǎn)品下電以后FPGA內(nèi)部的邏輯文件就會(huì)丟失[2], 因此需要外接存儲(chǔ)器來保存其邏輯配置數(shù)據(jù)。圖1給出了Virtex系列FPGA基于Slave SelectMAP模式的邏輯加載電路,選取一片專用的Platform Flash存儲(chǔ)芯片用以存放邏輯文件[3]。

在邏輯加載過程中,圖1中的Virtex系列FPGA為主控設(shè)備,左側(cè)的存儲(chǔ)芯片為從設(shè)備,F(xiàn)PGA發(fā)出控制信號(hào)從存儲(chǔ)芯片中讀取邏輯文件,完成加載過程。具體的加載步驟如下:

1)設(shè)備上電。在邏輯加載過程中,根據(jù)手冊(cè)要求,設(shè)備管腳在加電電源正確時(shí),加載過程才能正常工作;

2)設(shè)備初始化及加載模式采樣。初始化過程如下:

(1)FPGA完成內(nèi)部接口上電初始化后,發(fā)出PROGRAM_B信號(hào),復(fù)位存儲(chǔ)芯片,存儲(chǔ)芯片發(fā)出READY_WAIT低有效信號(hào),表明還在初始化中;

(2)當(dāng)FPGA完成上電配置,結(jié)束PROGRAM_B信號(hào)后,并且存儲(chǔ)芯片也完成自身初始化后,存儲(chǔ)芯片釋放READY_WAIT信號(hào)(Open-Drain狀態(tài)),此時(shí)INIT_B信號(hào)(即存儲(chǔ)芯片的READY_WAIT)由外部電阻上拉至高電平狀態(tài);

(3)當(dāng)INIT_B拉高后,設(shè)備在加載時(shí)鐘的上升沿,對(duì)特定地址信號(hào)管腳M[2:0]進(jìn)行采樣,[0,1,1]表示Slave-SelectMAP加載模式,采樣后開始邏輯加載過程。

3)加載過程。配置完成后,設(shè)備開始邏輯文件的加載過程,具體過程如下:

(1)對(duì)加載設(shè)備ID進(jìn)行校驗(yàn)檢查,防止設(shè)備錯(cuò)誤;

(2)在時(shí)鐘信號(hào)、片選、讀信號(hào)的控制下,驅(qū)動(dòng)相應(yīng)單元有效數(shù)據(jù)至地址總線DO[15:0],并按照CCLK時(shí)序完成加載數(shù)據(jù)傳輸操作;

(3)完成全部邏輯數(shù)據(jù)的加載,并且數(shù)據(jù)CRC校驗(yàn)正常,F(xiàn)PGA發(fā)出DONE信號(hào),表明邏輯加載操作成功。

常用的Slave SelectMAP加載模式和JTAG加載模式使用的主要信號(hào)見表2。

3 基于Slave SelectMAP模式的邏輯加載故障分析

3.1 加載控制信號(hào)錯(cuò)誤導(dǎo)致邏輯加載故障

在某產(chǎn)品邏輯加載故障后,使用示波器測(cè)量FPGA發(fā)出的控制信號(hào),測(cè)試結(jié)果如圖2,圖中綠色線為PROGRAM_B信號(hào),藍(lán)色為INIT_B加載控制信號(hào)。結(jié)果顯示,F(xiàn)PGA能夠正常輸出PROGRAM_B信號(hào),但I(xiàn)NIT_B加載控制信號(hào)異常,發(fā)現(xiàn)INIT_B加載控制信號(hào)無法拉高。

結(jié)合上文分析過程,INIT_B加載控制信號(hào)需要在PROGRAM_B信號(hào)變?yōu)楦唠娖胶螅?~3ms內(nèi)變?yōu)楦唠娖讲拍苷_M(jìn)行邏輯加載。照手冊(cè)要求,存儲(chǔ)芯片完成初始化后,該信號(hào)應(yīng)該由外部電阻上拉至高電平(2.5V以上),而實(shí)際測(cè)試該信號(hào)時(shí)鐘始終為低電平(0.8V以下),表明存儲(chǔ)芯片不能正常完成上電初始化,達(dá)到正常狀態(tài),所以后續(xù)FPGA邏輯加載操作不能啟動(dòng)。

3.2 加載地址線信號(hào)錯(cuò)誤導(dǎo)致邏輯加載故障

在某產(chǎn)品邏輯加載故障后,編寫測(cè)試程序?qū)Υ鎯?chǔ)芯片進(jìn)行逐行寫入,并讀出寫入數(shù)據(jù)。讀寫結(jié)果如圖3所示,根據(jù)測(cè)試程序,通過比較正確狀態(tài)地址故障態(tài)地址,發(fā)現(xiàn)是存儲(chǔ)芯片地址線A19發(fā)生錯(cuò)誤,由0偏轉(zhuǎn)為1。經(jīng)清查,發(fā)現(xiàn)該存儲(chǔ)芯片管腳脫焊,導(dǎo)致地址線信號(hào)錯(cuò)誤,F(xiàn)PGA從存儲(chǔ)芯片中加載邏輯文件時(shí)故障。

3.3 Slave SelectMAP模式能夠加載,JTAG模式加載故障

某產(chǎn)品邏輯能夠正常加載,但使用外部仿真器在JTAG模式下無法重新加載邏輯文件。根據(jù)故障現(xiàn)象及表2中羅列的信號(hào)對(duì)比可知,在Slave SelectMAP加載過程中,不使用地址線信號(hào)及寫有效信號(hào),JTAG模式加載時(shí)需要從A0地址開始寫入數(shù)據(jù)。經(jīng)測(cè)量,寫有效信號(hào)常高,導(dǎo)致邏輯雖然能夠正常加載,但JTAG模式寫入邏輯文件時(shí)故障。

4 總結(jié)

本文對(duì)基于Slave SelectMAP模式的邏輯加載模式進(jìn)行了研究,分析了加載過程中主設(shè)備FPGA及從設(shè)備存儲(chǔ)芯片各信號(hào)的定義和使用情況。結(jié)合加載流程和信號(hào)分析,研究了三種SelectMAP模式下邏輯加載的典型故障,對(duì)FPGA產(chǎn)品故障快速定位提供理論依據(jù)和技術(shù)指導(dǎo)。

參考文獻(xiàn):

[1] 郭天天.Virtex系列FPGA的SelectMAP配置接口電路[J].微處理機(jī),2000,21(4):17-19.

[2] 瞿海妮.基于單片機(jī)的Virtex-ⅡFPGA SelectMAP模式的配置方法[J].微計(jì)算機(jī)應(yīng)用,2005(4):463-465.

[3] UG438,Platform Flash XL Configuration and Storage Device User Guide,2009.

【通聯(lián)編輯:代影】

讷河市| 大渡口区| 锡林浩特市| 德州市| 永定县| 南皮县| 商南县| 海阳市| 满城县| 三门县| 龙口市| 兴安县| 东乡族自治县| 横峰县| 长寿区| 龙川县| 天门市| 象州县| 永修县| 常州市| 华亭县| 迭部县| 桐梓县| 烟台市| 定兴县| 景洪市| 武冈市| 扬州市| 文山县| 上杭县| 安塞县| 沭阳县| 九龙坡区| 珲春市| 金阳县| 页游| 灵丘县| 繁昌县| 武宁县| 和龙市| 海原县|