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

        ?

        FPGA 內(nèi)部資源測試探討

        2022-03-09 09:10:34賀云肖夢燕唐銳
        關(guān)鍵詞:故障功能

        賀云, 肖夢燕, 唐銳

        (工業(yè)和信息化部電子第五研究所, 廣東 廣州 511370)

        0 引言

        由于現(xiàn)場可編程門陣列(FPGA) 器件具有體積小、 能耗低、 高性能、 高可靠性和可重復(fù)編程等優(yōu)點, 所以其在電子通信、 人工智能和軍工等領(lǐng)域得以廣泛地應(yīng)用。 從最初的萬門級到目前的千萬門級乃至更高, FPGA 朝著高集成度、 大規(guī)模化方向不斷地發(fā)展。 如何快速高效、 低成本地篩選出不合格產(chǎn)品, 判斷故障類型并實現(xiàn)故障定位具有重要的意義。

        FPGA 的測試是配置后施加測試向量并對輸出進行檢測比較的過程, 完整的測試需要大量的測試配置。 FPGA 內(nèi)部包含可編程邏輯資源模塊(CLB)、輸入輸出組(IOB)、 內(nèi)部互連線路(IR)、 塊RAM、DSP 和時鐘管理單元(CMT), 以及其他特殊的功能模塊, 因此在測試中常采用分治法將FPGA 以模塊進行劃分, 根據(jù)各個模塊的典型故障有針對性地選擇測試方法。 本文將簡要地介紹和總結(jié)FPGA 內(nèi)部各個模塊的故障類型和常用的測試方法。

        1 FPGA 器件結(jié)構(gòu)與故障分類

        1.1 FPGA 基本結(jié)構(gòu)

        CLB 是FPGA 中最基本同時也是數(shù)量最多的功能模塊, 它呈行列狀遍布于芯片內(nèi)部。 以Xilinx 的FPGA 為例, 每一個CLB 均由Slice 組成, Slice 分為普通邏輯單元SliceL 和可配置為存儲器的邏輯單元SliceM。 兩種Slice 內(nèi)部的資源類別相同, 均由查找表(LUT) 單元、 觸發(fā)器(FF)、 進位邏輯及若干與門、 異或門和選擇器構(gòu)成[1]。

        IOB 是直接連接芯片內(nèi)部硅片管腳(PAD) 的輸入輸出緩沖單元, 在不同的電氣標(biāo)準(zhǔn)下對輸入/輸出信號進行匹配輸入或驅(qū)動輸出, 所有的IOB都就近布置有一組對輸入輸出信號進行邏輯處理的

        IOLOGIC。

        島型FPGA 的內(nèi)部互連線路(IR) 最初描述為開關(guān)盒 (SB) 和連接盒 (CB) 模型[2], 隨著FPGA 連線資源的豐富, SB/CB 模型難以描述, 取而代之為開關(guān)矩陣(SM) 的結(jié)構(gòu)[3]。 IR 主要包括SM 和金屬互連線, 其中SM 主要是由可編程連接點PIP 構(gòu)成。

        BRAM 模塊是片內(nèi)集成的專用雙端口可讀寫存儲單元, 分布于CLB 之間, BRAM 功能、 數(shù)據(jù)位寬、 讀寫模式、 FIFO 模式和標(biāo)志信號等可配置。CMT (比如數(shù)字時鐘管理器DCM、 相位匹配分頻器PMCD、 鎖相環(huán)PLL 和MMCM 等) 實現(xiàn)時鐘信號的倍頻分頻、 時鐘偏移、 頻率綜合和時鐘抖動濾波去歪斜等功能。 此外, 為了進一步地加強FPGA性能, 片內(nèi)還會集成PCIE、 DSP 和乘法器等功能模塊。 典型的SRAM 型FPGA 的主要構(gòu)成如圖1所示。

        圖1 FPGA 內(nèi)部結(jié)構(gòu)示意圖

        1.2 FPGA 故障類型

        FPGA 芯片內(nèi)部電路資源種類多, 對應(yīng)的結(jié)構(gòu)和功能各有差異, 因此表現(xiàn)出的故障類型也不同。一般地, 各個功能模塊可能出現(xiàn)的故障有: 固定型故障、 短路故障、 開路故障、 暫態(tài)故障和延遲故障等[4]; 此外還有存儲資源中的地址譯碼故障、 轉(zhuǎn)換故障、 字內(nèi)或位耦合故障、 讀寫破壞故障和碼敏感故障等。

        固定型故障是指電路中至少一條線路不論輸入什么電平始終固定為邏輯高或低電平, 分為固定1故障和固定0 故障。 常見的有CLB 模塊中的查找表斷開故障、 PIP 的常開和常閉故障、 IOB 端口的固定高或低電平故障等。

        短路故障, 或被稱為橋接故障, 常見的有IR中互連線與電源短接、 接地故障和線之間的短路故障等。

        集成電路中某些缺陷不能描述為門級的固定型故障, 需要在晶體管級建立故障模型, 定義為晶體管開路、 柵極源極漏極開路等。

        不同于固定型故障, 暫態(tài)故障表現(xiàn)為瞬態(tài)或間歇性, 一般認為由電源電磁干擾、 粒子輻射、 噪聲和生產(chǎn)制造工藝不達標(biāo)等導(dǎo)致。

        延遲故障是電路中信號的動態(tài)故障, 多為觸發(fā)和響應(yīng)時延, 表現(xiàn)為脈沖信號的邊沿參數(shù)變化等,常發(fā)生于IOB 模塊、 IR 模塊和CMT 模塊等, 對電路時序的影響極大, 常歸因于元件參數(shù)變化或電路結(jié)構(gòu)設(shè)計不合理等。

        其余故障模式不再贅述, 聚焦于器件的典型故障有助于簡化測試工作。

        2 FPGA 測試方法

        FPGA 的測試有多種分類方法, 比如: 按測試目的分為設(shè)計驗證測試、 生產(chǎn)測試、 特性分析測試和失效分析測試; 按測試階段分為晶圓測試、 成品測試和來料檢驗測試; 按產(chǎn)生配置模型的途徑, 又分為面向制造的測試(MTP) 和面向應(yīng)用的測試(ATP); 按測試內(nèi)容分為參數(shù)測試、 功能測試和結(jié)構(gòu)測試; 按測試激勵的生成方式進行分類, 又分為確定性方法、 窮舉測試、 偽窮舉測試和偽隨機測試等。

        Toutounchi 等人提出了學(xué)術(shù)界關(guān)于FPGA 測試的參考標(biāo)準(zhǔn): 1) 測試方法應(yīng)與具體芯片結(jié)構(gòu)無關(guān),具有普遍適用性; 2) 與芯片陣列規(guī)模無關(guān), 容易

        推廣; 3) 測試方法具有可重復(fù)性、 自動化程度高;4) 覆蓋率易以統(tǒng)計[5]。

        2.1 ATE 測試

        FPGA生產(chǎn)企業(yè)多以ATE 進行流水線測試, 常用的ATE 機臺主要包括ADVANTEST V93000、Teradyne J750 和UltraFLEX。 測試機臺均集成高精度電源、 計量儀器、 信號發(fā)生器和模式生成器等,可保證測試速度和自動化要求, 操作便捷且易以擴展, 因此, 對ATE 的測試方法和效率提升有著大量的研究。

        ATE 測試需反復(fù)修改FPGA 配置數(shù)據(jù)以生成ATE 可識別并執(zhí)行的測試向量。 配置數(shù)據(jù)較多時會占用ATE 內(nèi)部大量的存儲資源, 若使用設(shè)備商提供的板卡來擴展ATE 的存儲深度則是一筆巨大的開銷, 通常也使用U 盤、 存儲卡、 硬盤和FLASH 存儲器作為外部存儲介質(zhì)存儲配置數(shù)據(jù),不過控制相對復(fù)雜, 需要使用專門的控制芯片或占用FPGA 部分資源。

        測試時間是測試成本的一個關(guān)鍵因素, 近年來為了縮短測試時間有著大量的研究[6]。

        2.2 內(nèi)建自測試

        圖2 BIST 邏輯簡圖

        在對部分資源測試完畢后, 通過FPGA 的可編程性將TPG、 ORA 和BUT 模塊資源調(diào)換, 即可測試另一個部分的資源, 從而能通過若干次配置、 測試覆蓋到所有的邏輯資源。

        BIST 還分為在線和離線兩種模式。 在線測試時芯片正常工作, 主要有并發(fā)和非并發(fā)兩種測試方法: 并發(fā)模式下測試與電路正常操作同時進行, 互不干擾; 非并發(fā)模式在電路空閑狀態(tài)下進行, 常用來進行故障診斷測試, 可隨時中斷。 離線模式對電路的實時故障無能為力。 離線模式也分為功能性離線BIST 和結(jié)構(gòu)性離線BIST。

        BIST 可以測試CLB、 IR 和部分內(nèi)嵌模塊。

        2.3 邊界掃描鏈測試法

        FPGA的配置可以采用兩種方法: 1) 將位流文件轉(zhuǎn)換為ATE 可識別的數(shù)據(jù)文件進行測試; 2) 在測試過程中直接通過邊界掃描鏈(JTAG) 和專用下載電纜, 通過一個專用PROM 將位流配置數(shù)據(jù)下載到FPGA 中。 邊界掃描結(jié)構(gòu)主要由測試存取接口(TAP)、 TAP 控制器和幾類寄存器組成[7-8],TAP 包 含測試 模 式 選 擇 (TMS)、 測 試 時 鐘(TCK)、 測試數(shù)據(jù)輸入引線(TDI)、 測試數(shù)據(jù)輸出引線 (TDO) 和測試重置 (TRST) 5 個端口。TRST 端口非必需, JTAG 結(jié)構(gòu)示意圖如圖3 所示。

        圖3 邊界掃描結(jié)構(gòu)示意圖

        要實現(xiàn)芯片的邊界掃描測試功能, 芯片內(nèi)部必須集成有邊界掃描模塊, 對信號的輸入輸出處理也要在芯片設(shè)計階段就加以考慮。 此外, JTAG 測試法屬于黑盒測試, 只能通過IOB 的輸出判定故障是否發(fā)生, 無法進一步地實現(xiàn)故障定位, 而且受限于IOB 數(shù)量導(dǎo)致操作時配置難度較大。

        3 CLB 測試

        CLB 資源較多, 除了與或等基本邏輯外還可配置為查找表 (LUT)、 函數(shù)發(fā)生器、 RAM 或FIFO、 觸發(fā)器/鎖存器和移位寄存器等, 實現(xiàn)加乘法、 快速進位鏈和高速串并-并串轉(zhuǎn)換等高級邏輯功能。 CLB 模塊功能通過將所有的電路單元劃分為不同的功能電路進行測試。

        3.1 LUT

        CLB 數(shù)量大且呈行列分布, LUT 測試可將FPGA 中一列LUT 單元級聯(lián)成鏈進行。 要對電路中所存在的固定型故障、 開路故障、 橋接故障、 譯碼故障和轉(zhuǎn)換故障等進行100%覆蓋測試共需(K+1)種電路配置方式, 其中K 是LUT 輸入端口數(shù)目[9]。LUT 可用存儲器的測試方法進行, 但也需要考慮其特殊結(jié)構(gòu)。 要將SRAM 存儲單元測試完整, LUT需要配置為ROM、 RAM 兩種架構(gòu), 先測RAM 再測ROM, 因為ROM 其實是通過SRAM 來模擬的(把ROM 的數(shù)據(jù)寫進SRAM, 接受后關(guān)斷寫數(shù)據(jù)和寫地址譯碼功能, 只保留其讀功能, 形成ROM模式)。

        鞋子華麗、高貴,這在以前,李若定然是發(fā)狂地歡喜,這是她夢寐以求的事??墒钱?dāng)她真的站在琳瑯滿目的櫥窗前,心卻是灰的。

        3.2 可配置寄存器測試

        Slice 內(nèi)的存儲單元可以配置為邊沿觸發(fā)的D觸發(fā)器和電平敏感的鎖存器, 都包含專門的使能端(CE)、 清零端(SR) 和時鐘輸入(CK) 等。 可配置寄存器故障主要為功能性故障[10], 需測試CE 功能、 初始值設(shè)置功能、 SR 置位和RS 復(fù)位功能,以及它們的組合并保證故障能被檢測到。

        CE 功能測試從輸入端施加CE=0 或CE=1 來測試固定故障。

        初始值設(shè)置和置位復(fù)位功能采用路徑掃描法,輸入端的輸出與1 相與或與0 相或后作為下一級輸入往下傳遞, 通過固定故障進行判斷。 以設(shè)置初始值1 為例, 如圖4 所示, 將n 個寄存器輸出值與1相與, 結(jié)果作為下一級與門的輸入, 與下一級寄存器的輸出相與, 一旦不能初始為1, 則寄存器輸出值為0, 激活固定0 故障。

        圖4 寄存器初始化1 功能配置示意圖

        當(dāng)然也可以采用位流回讀技術(shù)進行測試, 直接對觸發(fā)器/鎖存器施加測試信號, 讀取響應(yīng)值進行故障判斷, 但過程繁瑣, 難度較大。

        3.3 快速進位邏輯測試

        由進位信號和函數(shù)復(fù)用器組成的進位邏輯可以進行快速的加減法運算, 進位邏輯鏈可以顯著地提高CLB 模塊的處理速度。 常見的故障為功能性故障, 表現(xiàn)為邏輯進位失效, 因此測試時將所有的邏輯配置為全加器, 串聯(lián)在一起測試, 根據(jù)輸出值來判斷故障。 需要設(shè)置對應(yīng)的數(shù)據(jù)發(fā)生器、 比較器和移位寄存器等配合測試完成。

        3.4 分布式RAM 功能測試

        LUT 單元除可配置為函數(shù)發(fā)生器或ROM 外,還可配置為分布式RAM 和移位寄存器使用。 LUT存儲數(shù)據(jù)在前兩種模式下只能通過芯片配置時序初始化設(shè)定, 而分布式RAM 模式下可通過SliceM 中寫電路進行修改。 與函數(shù)發(fā)生器或ROM 相比, 分布式RAM/移位寄存器擁有譯碼電路及控制電路,其余部分如LUT 內(nèi)部存儲單元完全一致, 因此只需對寫控制電路功能進行測試。

        測試中可以使用March 算法來覆蓋固定故障、開路故障、 轉(zhuǎn)換故障、 地址譯碼故障和耦合故障。

        4 IOB 測試

        IOB 是FPGA 與外部進行數(shù)據(jù)交互的接口, 在不同的電氣標(biāo)準(zhǔn)下對輸入/輸出信號進行驅(qū)動輸出或匹配輸入。 通過配置每個IOB 所對應(yīng)的IO 邏輯資源可實現(xiàn)單雙邊信號的輸入輸出、 高速串并輸入、 高速并串輸出和輸入輸出延遲等功能。

        IOLOGIC 的功能測試按照其功能分為: 單端輸入輸出功能電路、 差分輸入輸出功能電路、IDELAY 模塊功能電路、 IDDR 功能電路、 ODDR數(shù)據(jù)輸出和三態(tài)控制輸出功能電路。 IOB 故障主要為固定故障、 短路故障和三態(tài)故障, 可以通過各個管腳的漏電流進行故障判斷, 也可以通過邊界掃描和陣列法進行測試。

        5 內(nèi)部互連線路測試

        在FPGA 中, IR 占據(jù)了50%~90%的芯片面積和60%以上的信號延遲。 互連資源主要包括SM 和互連線, 因此故障主要分為開關(guān)故障和線的故障。

        開關(guān)故障有常開和常閉兩種。 開關(guān)常開可以理解為開關(guān)兩端的線橋接在一起, 即單線常開。 線的故障分為單線和多線情況。 單線情況有單線斷路、與電源橋接和與地橋接, 多線情況還有線之間的短路故障即多根線之間的橋接[11]。 金屬互連線的覆蓋率測試極大地影響到FPGA 的性能和安全, 在實際電路中, IR 的故障率也大于CLB。

        目前針對IR 資源測試算法的研究較為深入, 3次配置測試算法基于IR 的布線規(guī)律, 采用一次正交配置和兩次斜向配置, 能夠完全覆蓋所有的互連金屬線和開關(guān)盒中的PIP, 但該算法基于XC4000系列, 不適用于Virtex-4 及之后系列且不具備故障定位功能。

        在3 次配置基礎(chǔ)上發(fā)展出6 次配置測試算法,通過增加配置次數(shù)來實現(xiàn)故障定位, 但同樣不適用于Virtex-4 及之后系列[12]。 也有研究基于圖論相關(guān)思想, 結(jié)合深度優(yōu)先算法和啟發(fā)式搜索算法等完成配置圖形生成[13]。

        BIST 也被應(yīng)用于IR 測試中。

        6 BRAM 測試

        BRAM 模塊是FPGA 中集成度較高的資源, 可被配置為單端口RAM、 雙端口RAM、 內(nèi)容地址存儲器和FIFO 等常用的存儲結(jié)構(gòu), 可以根據(jù)設(shè)計需求改變存儲位寬和深度[14]。 常出現(xiàn)SRAM 故障、雙端口讀寫故障、 位寬模式故障、 級聯(lián)功能故障、 ECC 功能故障、 FIFO 功能及標(biāo)志位故障和初始化功能故障等7 種故障[9]。 其核心電路SRAM 存儲序列可能出現(xiàn)的故障有地址譯碼故障、 固定型故障、 開路故障、 轉(zhuǎn)換故障、 寫破壞、 讀破壞和耦合故障等, 被統(tǒng)稱為SRAM 故障。

        在BRAM 功能的測試中, 采用多種測試算法對各種故障進行全覆蓋測試。 常用的算法有MSCAN、 GALPAT、 步進碼序列、 棋盤法、 蝴蝶法、 March 及其改進算法 (March SS、 March s2df 和March d2pf 等)、 ATS 及其改進的MATS 和MATS+等。 比如: 使 用MSCAN 算法對BRAM 的初始化功能進行驗證, 算法對SRAM 陣列中的故障進行測試,使用算法對BRAM 雙端口讀寫故障進行測試, MATS+算法對各種位寬模式故障及Cascade 功能ECC 功能故障進行測試。

        6.1 MSCAN 算法

        MSCAN 算法形成固定的存儲器掃描序列, 對所有的單元進行全0/1 的讀寫, 用于檢測固定型故障。 后續(xù)測試需在BRAM 初始化功能無誤的情況下進行。

        6.2 March SS 算法

        March SS 算法用于覆蓋SRAM 故障及最大位寬模式的BRAM 讀寫功能故障, 在實際的使用中,March SS 算法前經(jīng)常先通過初始化算法排除了固定型故障。 March SS 算法對于1 位寬度數(shù)據(jù)之間的讀寫破壞故障、 地址譯碼故障及耦合故障已實現(xiàn)100%覆蓋, 當(dāng)將其擴展到多位位寬時, 需考慮讀寫數(shù)據(jù)字內(nèi)的耦合故障。 由于FPGA BRAM 模塊不同位寬模式使用相同的存儲陣列, 所有的SRAM 故障測試中不需要擴展算法到多位位寬, 但在BRAM多位位寬讀寫功能測試中需考慮字內(nèi)耦合故障。

        6.3 MATS+算法

        MATS+算法用于ECC 功能測試中, 即升序?qū)?→升序讀0→升序?qū)?→降序讀1→降序?qū)?。 在FPGA 中需將兩個BRAM 組合成72 位位寬模式才能使用ECC 功能。

        如果電路規(guī)模為N, 部分算法的復(fù)雜度和可檢測的故障如表1 所示。

        表1 存儲器測試幾種常用算法對比情況

        7 其余資源測試

        FPGA內(nèi)部還集成有DSP、 乘法器和CMT 等功能模塊, DSP 和乘法器的測試類同CLB, 主要采用邊界掃描和位流回讀技術(shù)。 FPGA 中DCM、 PMCD等時鐘管理單元數(shù)量少, 集成度高且原始輸入信號少, 測試中可直接在其輸入引腳輸入10~200 M 頻率范圍內(nèi)的時鐘信號, 測試其輸出時鐘的頻率相位。 PMCD 模塊四輸入時鐘信號CLKA、 CLKB、CLKC 和CLKD 之間保持45°的相位關(guān)系以測試模塊的相位匹配功能。

        8 結(jié)束語

        FPGA 高度集成化, 內(nèi)部資源結(jié)構(gòu)復(fù)雜, 各個功能模塊的故障表現(xiàn)不一, 在測試過程中需要大量的配置文件, 測試成本高。 本文從FPGA 的基本結(jié)構(gòu)出發(fā), 簡要地總結(jié)和概述了CLB 模塊、 IOB 模塊、 IR 模塊、 BRAM 模塊和內(nèi)部其余功能模塊的常見故障, 在此基礎(chǔ)上根據(jù)分塊測試的原理, 針對每個模塊梳理了目前常見的測試方法并適當(dāng)?shù)丶右员容^和歸納。 本文的研究成果可用于市場上主流FPGA 的測試工作中。

        猜你喜歡
        故障功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        故障一點通
        關(guān)于非首都功能疏解的幾點思考
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達功能
        奔馳R320車ABS、ESP故障燈異常點亮
        故障一點通
        故障一點通
        故障一點通
        江淮車故障3例
        少妇被粗大的猛烈进出免费视频| 日韩肥臀人妻中文字幕一区| 老妇高潮潮喷到猛进猛出| 末发育娇小性色xxxx| 亚洲综合色一区二区三区小说| 99久久精品国产亚洲av天| 国产高清一区二区三区三州| 人妻 偷拍 无码 中文字幕| 人妻无码一区二区三区四区| 国产在线欧美日韩精品一区二区 | 男女午夜视频一区二区三区| 中文字幕免费人成在线网站| 日本一本之道高清不卡免费| 在线观看免费a∨网站| 淫妇日韩中文字幕在线| 国产亚洲成人精品久久久| 熟女少妇内射日韩亚洲| 日韩一级特黄毛片在线看| 亚洲福利av一区二区| 精品国产a一区二区三区v| 正在播放东北夫妻内射| 国内精品人妻无码久久久影院94| 亚洲国产线茬精品成av| 国产亚洲av无码av男人的天堂| 亚洲色丰满少妇高潮18p| 久久这里只精品国产2| 高清不卡av在线播放| 午夜天堂精品久久久久| 蜜臀av一区二区| 激情综合五月天开心久久| 视频一区二区三区黄色| 插b内射18免费视频| 91情侣视频| 亚洲永久免费中文字幕| 国产精品三级av及在线观看| 国产人成精品综合欧美成人| 国产成人夜色在线视频观看| 天堂一区二区三区在线观看视频| 日本公妇在线观看中文版| 99久久这里只精品国产免费| 日本免费精品一区二区|