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

        ?

        一種具備MBIST 功能的Flash 型FPGA 配置芯片設(shè)計

        2022-12-03 08:24:18柯志鳴黨堃原單寶琛叢紅艷
        電子與封裝 2022年11期
        關(guān)鍵詞:信號功能檢測

        柯志鳴,黨堃原,單寶琛,叢紅艷

        (中微億芯有限公司,江蘇無錫 214072)

        1 引言

        FPGA 是一種可編程的數(shù)字集成電路,20 世紀80年代由Xilinx 公司推出后逐漸進入大眾視野[1]。FPGA從誕生到現(xiàn)在已蓬勃發(fā)展了30 余年,被廣泛應(yīng)用于消費電子、汽車電子、航空航天、武器裝備等領(lǐng)域[2]。目前主流的FPGA 配置芯片大致可以分為3 種類型,分別為Flash 型、可擦除可編程只讀存儲器(EPROM)型和反熔絲型[3-7],在航空航天等對可靠性要求較嚴苛的領(lǐng)域中,EPROM 型FPGA 由于穩(wěn)定性及靈活性較差,無法適應(yīng)惡劣的環(huán)境[8];反熔絲FPGA 可靠性高但卻只能單次編程[9],靈活性不足;而Flash 型FPGA 兼具前2者的優(yōu)勢,在可靠性高的同時可重復(fù)編程[10],具有開關(guān)性能優(yōu)異、面積小、非易失性、低功耗等特性[11]。隨著Flash 型存儲器的不斷發(fā)展和應(yīng)用,其內(nèi)部存儲器密度不斷增加,可能存在的故障類型不斷增多。因此,具備更全面測試算法的存儲器內(nèi)建自測試(MBIST)就顯得尤為重要。

        本文設(shè)計了一款具備MBIST 功能的Flash 型FPGA 配置芯片,提出了一種更全面的測試算法,該算法可以有效提高故障覆蓋率,并通過功能仿真及原型驗證保證了設(shè)計的正確性。

        2 整體方案設(shè)計

        配置芯片模塊如圖1 所示,本文主要介紹Flash控制器eFlash_top 數(shù)字模塊的功能邏輯設(shè)計,其余外圍電路為模擬定制。本文主要完成RTL 代碼的實現(xiàn)及驗證,整個設(shè)計將采用拼接的方法完成。

        圖1 配置芯片模塊

        eFlash_top 模塊包括命令處理模塊(燒寫控制模塊、配置控制模塊、串并轉(zhuǎn)換模塊、并串轉(zhuǎn)換模塊)、Flash 基本操作模塊(讀、寫、擦操作模塊)、Flash IP 等。I/O 模塊將從芯片外輸入的待配置芯片初始化完成信號OE、燒寫配置模式選擇信號NC、全局時鐘信號CCLK、數(shù)據(jù)輸入/輸出(I/O)端口信號DATA 和配置完成信號CE 轉(zhuǎn)化成eFlash_top 模塊所需的端口信號。命令處理模塊對來自于I/O 模塊的命令進行處理并生成讀、寫、擦等基本命令?;静僮髂K接收來自命令處理模塊的命令,生成對Flash IP 單元的基本控制信號,完成對Flash IP 的操作。

        Xilinx 公司的FPGA 芯片配置有JTAG、主串、從串、主并、從并共5 種方式的訪問接口[12]。本文設(shè)計的Flash 型FPGA 配置芯片采用主串模式完成對芯片的配置,主串模式使用最少的管腳,具有靈活的I/O 電平,支持10 MHz 以下的時鐘配置比特流。本設(shè)計的配置芯片應(yīng)用場景空間復(fù)雜但對速度要求并不高,因此采用主串的配置方式。

        3 系統(tǒng)設(shè)計

        基于Flash 的FPGA 配置芯片系統(tǒng)如圖2 所示。單個Flash 的容量為32 kbit,本設(shè)計搭載2 塊32 kbit Flash 并進行拼接,使此配置芯片容量達到64 kbit,電路設(shè)計的最高時鐘頻率為25 MHz,串行配置最大速率為10MHz,設(shè)計MBIST 功能以確保Flash 功能正常。

        圖2 基于Flash 的FPGA 配置芯片系統(tǒng)

        由圖2 可知,eFlash_top 模塊由2 個子模塊組成。1)命令處理模塊,即Flash_IF 模塊,處理外界命令的同時向Flash 基本操作模塊Flash_CTRL 輸出讀、寫、擦命令和地址(rd_cmd、wr_cmd、er_cmd 和flash_din);實現(xiàn)并串轉(zhuǎn)換,將來自Flash_CTRL 的64 位并行信號flash_dout 變?yōu)榇行盘杁out,并輸出給需要配置的FPGA 芯片;實現(xiàn)串并轉(zhuǎn)換,將來自燒寫器件的串行信號din 轉(zhuǎn)換為64 位并行信號flash_din,并發(fā)給Flash_CTRL 模塊;處理從2 片F(xiàn)lash 返回的單地址寫入完成信號tbit0 和tbit1,并生成相應(yīng)的擦結(jié)束信號er_end 和 全 地 址 寫 入 完 成 信 號 tbit_end。 2)Flash_CTRL 模塊接收和處理來自命令處理模塊的存儲命令和地址,產(chǎn)生操作Flash 所需要的基本控制信號和時序,驅(qū)動2 片F(xiàn)lash 工作;輸出讀計數(shù)值信號rd_cnt 給命令處理模塊用于地址的累加,讀過程會持續(xù)循環(huán)讀出Flash 中的值,并以flash_dout 信號輸出,直到FPGA 芯片配置成功,配置完成標(biāo)志信號done 拉高。

        對于eFlash_top 模塊,當(dāng)模式選擇信號mode 上拉,且done 信號拉高時,燒寫流程開啟。進入燒寫流程后,先擦除Flash,再進入MBIST 檢查,然后將輸入的64 位串行數(shù)據(jù)轉(zhuǎn)換為64 位的并行數(shù)據(jù),最后將其寫入Flash。當(dāng)mode 信號下拉,且待配置芯片初始化完成信號init 拉高時,配置流程開啟。在配置過程中,從Flash 中讀出的64 位并行數(shù)據(jù)經(jīng)并串轉(zhuǎn)換模塊轉(zhuǎn)換為串行數(shù)據(jù)輸出。具體操作過程中由狀態(tài)機控制系統(tǒng)工作狀態(tài),并由控制條件控制狀態(tài)的跳轉(zhuǎn),具體分為等待狀態(tài)IDLE、自檢測寫狀態(tài)MBIST_WR、自檢測讀狀態(tài)MBIST_RD、擦除狀態(tài)ERASE、寫入狀態(tài)WRITE、讀出狀態(tài)READ 6 個狀態(tài)。

        圖3 為命令處理狀態(tài)機轉(zhuǎn)移圖。上電完成后,系統(tǒng)首先進入IDLE 狀態(tài),然后在第1 次擦除結(jié)束后(er_end==1)進入MBIST 狀態(tài),包括MBIST_WR 及MBIST_RD,通過自檢測計數(shù)信號pattern_cnt 和無錯誤標(biāo)志信號no_err_sec 控制自檢測過程的轉(zhuǎn)態(tài)跳轉(zhuǎn),如果寫入和讀出的數(shù)據(jù)不相同,則說明Flash 塊有錯點,寫入使能信號wr_sta 拉高進行報警并鎖死系統(tǒng)。MBIST 每次讀出數(shù)據(jù)后都要擦除Flash,方便下一步的操作。

        圖3 命令處理狀態(tài)機轉(zhuǎn)移

        本文設(shè)計的MBIST 采用了基于March C-的一種改進測試算法,該算法共進行9 次自檢測。March C-測試算法是基于目前最流行的March C 算法衍生而來,它具有更高的故障覆蓋率和更少的測試步驟[13],但仍然無法做到最全面的故障覆蓋。

        在Flash 上電初始化完成后,所有地址數(shù)據(jù)均為全0 或者全1,相鄰2 個地址的數(shù)據(jù)相同,數(shù)據(jù)之間缺少01 和10 這2 種數(shù)據(jù)狀態(tài),在這種情況下發(fā)生的故障稱為耦合故障。本文提出的算法可以對該故障進行有效測試。通過深入研究存儲器的故障類型,在算法中對相鄰2 個單元地址位寫入相反的值10、01 和0011、1100,例如4 位的地址寫入16 進制的55,二進制表示為0101,然后寫入16 進制的AA,二進制表示為1010,同理寫入全3 和全C 對地址數(shù)據(jù)0011 和1100狀態(tài)進行測試,這種測試算法可以覆蓋每個相鄰地址的耦合故障,結(jié)合March C-算法可以完整有效地對耦合故障、相鄰單元橋接故障、數(shù)據(jù)保持故障等進行測試。

        具體測試過程為:1)按照地址位的升序?qū)γ總€地址進行寫0 和讀0 操作;2)按照地址位的升序?qū)γ總€地址進行寫1 和讀1 操作;3)按照地址位的升序?qū)γ總€地址進行寫0 操作,然后按照地址位的降序進行讀0 操作;4)按照地址位的降序?qū)γ總€地址進行寫1 和讀1 操作;5)按照地址位的降序?qū)γ總€地址進行寫0操作,然后按照地址位的升序進行讀0 操作;6)按照地址位的升序?qū)γ總€地址進行寫全0101 和讀全0101 操作;7)按照地址位的升序?qū)γ總€地址進行寫全1010 和讀全1010 操作;8)按照地址位的升序?qū)γ總€地址進行寫全0011 和讀全0011 操作;9)按照地址位的升序?qū)γ總€地址進行寫全1100 和讀全1100 操作。

        在自檢測準確無誤后,該Flash 型配置芯片通過檢測FPGA 芯片的init 信號來決定是否可以進入配置模式。本文設(shè)計的具備MBIST 功能的Flash 型FPGA配置芯片在燒寫及配置工作過程中主要完成以下功能。

        1)MBIST 檢測。配置芯片在復(fù)位完成后,首先開始對Flash 進行MBIST 檢測,向其中循環(huán)9 次寫入、讀出數(shù)據(jù)并進行對比,如果對比出錯,將進行系統(tǒng)鎖死并報警。

        2)上位機燒寫配置芯片。在MBIST 檢測無誤后,通過上位機將比特流以25 MHz 的時鐘頻率寫入配置芯片,當(dāng)?shù)刂窞?6’h1FFF 且tbit_end 信號為1,燒寫完成信號wr_end 為1,代表Flash 主區(qū)燒寫結(jié)束。

        3)待配置FPGA 及配置芯片上電。初始化的FPGA 上電后,init 信號會自動產(chǎn)生0 到1 的跳變。若init 信號為高,指示FPGA 內(nèi)部初始化完成,進入數(shù)據(jù)下載過程,同時等待配置芯片電路內(nèi)部復(fù)位完成,之后開始正常工作;若init 信號為低,則一直檢測該信號,直到變?yōu)楦唠娖綖橹?。?dāng)用戶對初始化配置進行操作時,F(xiàn)PGA 可以通過將復(fù)位信號PROGRAM 拉低,并拉抵done 信號開啟配置過程,然后進入存儲擦除階段。

        4)FPGA 配置及循環(huán)冗余校驗(CRC)檢測。一旦init 被拉高,用戶可以開始加載配置數(shù)據(jù)給FPGA,在加載配置數(shù)據(jù)的過程中,嵌入到配置文件中的CRC 值被取出,和FPGA 內(nèi)部用來計算的CRC 值進行檢查比對。如果CRC 值不符合,F(xiàn)PGA 將init 信號拉低,意味著有結(jié)構(gòu)錯誤發(fā)生,配置有問題。若用戶想要重新配置,則必須重新進行初始化,可以拉低PROGRAM 來復(fù)位配置邏輯,或者以重新上電復(fù)位FPGA 的方式進行重新配置。CRC 校驗成功后進入FPGA 開始運行階段(STARTUP)。

        5)STARTUP。該步驟為編程下載的最后一步,完成FPGA 由配置模式到功能模式的切換。在STARTUP 期間,F(xiàn)PGA 正常工作所需要的全局信號置為有效,done 信號拉高,且配置時鐘在該過程結(jié)束后停止輸出時鐘信號,代表該配置芯片配置結(jié)束。

        本文設(shè)計的具備MBIST 功能的Flash 型FPGA配置芯片最高工作時鐘頻率為10 MHz,具備Flash 內(nèi)建自檢測功能,支持快速、有效地對Flash 功能及電路邏輯正確性進行檢查,確保用戶使用過程中該配置芯片正常工作。

        4 應(yīng)用驗證

        本文設(shè)計的基于Flash 的具備MBIST 功能的FPGA 配置芯片通過了RTL 代碼的功能驗證及板級原型驗證測試,均滿足應(yīng)用需求?;诟采w率驅(qū)動搭建并編寫多個測試用例,并通過添加斷言的方式驗證控制Flash 的讀、寫、擦?xí)r序的正確性,如果斷言失敗,立即中斷仿真。板級原型驗證通過一款Xilinx FPGA芯片實現(xiàn)此配置芯片的功能,以確保Flash 型FPGA配置芯片產(chǎn)品的后續(xù)步驟正常進行,避免流片失敗而導(dǎo)致的巨大成本損失。

        4.1 功能驗證

        驗證環(huán)境的搭建是正式開始驗證工作的第一步也是最重要的一步,本設(shè)計中的驗證平臺是基于SystemVerilog 搭建的。利用搭建好的FPGA 配置芯片驗證環(huán)境進行本方案中的RTL 代碼驗證,通過VCS仿真驗證該芯片的邏輯功能,確保設(shè)計能實現(xiàn)預(yù)期的目標(biāo)。

        在上電過程完成后,系統(tǒng)進入MBIST 過程,MBIST 過程仿真驗證波形如圖4 所示。系統(tǒng)將從IDLE 狀態(tài)自動跳入自檢測的寫、讀狀態(tài),并在自檢測讀出完成后將讀出數(shù)據(jù)與寫入數(shù)據(jù)進行對比,共計進行9 次自檢測過程。對比成功后則進入擦除狀態(tài),為下一次自檢測寫入做好準備。仿真中前8 次自檢測正確且系統(tǒng)狀態(tài)跳轉(zhuǎn)無誤,對比失敗時則通過拉高wr_sta 信號進行報警并鎖死系統(tǒng),仿真中通過強制改變讀出數(shù)據(jù)使第9 次自檢測失敗時,成功報警并鎖死系統(tǒng)。

        圖4 MBIST 過程仿真驗證波形

        配置芯片寫入Flash 隨機值的仿真波形如圖5 所示,在每次自檢測完成后會進行擦除操作,擦除完成后當(dāng)系統(tǒng)狀態(tài)滿足寫入條件時,系統(tǒng)從自檢測狀態(tài)成功跳轉(zhuǎn)為寫入狀態(tài),將串行輸入數(shù)據(jù)din 通過串轉(zhuǎn)并模塊轉(zhuǎn)為并行數(shù)據(jù)flash_din,并正確地寫入Flash。配置芯片讀出的Flash 數(shù)據(jù)仿真波形如圖6 所示,當(dāng)滿足讀出條件時,系統(tǒng)從自檢測狀態(tài)成功跳轉(zhuǎn)為讀出狀態(tài),將讀出的并行數(shù)據(jù)flash_dout 通過并轉(zhuǎn)串模塊轉(zhuǎn)為串行數(shù)據(jù)dout,并正確地輸出。由圖5、6 中的flash_din 和flash_dout 數(shù)據(jù)可知,寫入與讀出數(shù)據(jù)一致。

        圖5 寫入Flash 隨機值的仿真波形

        圖6 讀出的Flash 數(shù)據(jù)仿真波形

        針對本方案設(shè)計的所有功能驗證點,進行了行覆蓋率、翻轉(zhuǎn)覆蓋率、條件覆蓋率、分支覆蓋率的收集和分析,并通過增加定向的測試用例使覆蓋率達到100%,覆蓋率情況如圖7 所示。驗證結(jié)果表明,本方案設(shè)計切實可行,滿足設(shè)計需求。

        圖7 Flash 型FPGA 配置芯片仿真覆蓋率

        4.2 板級原型驗證

        通過建立基于FPGA 的高性能原型驗證系統(tǒng),可及時發(fā)現(xiàn)芯片設(shè)計中的錯誤和不足,進而縮短芯片研發(fā)周期[14]。原型驗證板的整體系統(tǒng)結(jié)構(gòu)如圖8 所示,用于配置FPGA 芯片的比特文件經(jīng)上位機軟件發(fā)送給燒寫器,經(jīng)燒寫器進行處理后,送至塊隨機存取存儲器(BRAM)進行存儲,配置芯片會根據(jù)FPGA 芯片的接口命令將儲存在其中的比特流配置到該芯片中,該FPGA 芯片則會根據(jù)配置的比特流實現(xiàn)相應(yīng)的功能。

        圖8 原型驗證板的整體系統(tǒng)結(jié)構(gòu)

        原型驗證板搭載2 片Xilinx 公司Virtex5 系列的SX95T 芯片,一片用于實現(xiàn)燒寫器功能,另一片用于實現(xiàn)本設(shè)計配置芯片功能,配置比特流經(jīng)2 片SX95T下載到FPGA 后,搭載1 塊待配置FPGA 芯片作為目標(biāo)配置芯片,根據(jù)其行為來驗證本設(shè)計配置芯片邏輯功能的正確性,本設(shè)計的板級原型驗證功能為通過按鍵控制LED 燈的點亮和關(guān)閉,最終通過觀察LED 燈的狀態(tài)判斷是否配置成功。

        測試結(jié)論為FPGA 芯片功能啟動正常,LED 燈成功點亮,按鍵控制正常,證明設(shè)計的Flash 型FPGA 配置芯片功能邏輯正確,主串模式配置功能正確。

        5 結(jié)論

        本文提出了一種具備MBIST 功能的Flash 型FPGA 配置芯片的可行性設(shè)計方案,通過完整的數(shù)字化流程設(shè)計并驗證了配置芯片的邏輯功能,該配置芯片通過設(shè)計MBIST 功能可以快速有效地檢查Flash功能的正確性。方案通過了RTL 代碼功能驗證和板級原型驗證,確保功能設(shè)計正確無誤。本應(yīng)用研究大大提高了Flash 型配置芯片的可靠性,縮短了出現(xiàn)故障時定位問題所需的時間。該配置芯片可以應(yīng)用于各種復(fù)雜場景,具有廣泛的應(yīng)用需求。

        猜你喜歡
        信號功能檢測
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        基于FPGA的多功能信號發(fā)生器的設(shè)計
        電子制作(2018年11期)2018-08-04 03:25:42
        關(guān)于非首都功能疏解的幾點思考
        小波變換在PCB缺陷檢測中的應(yīng)用
        基于LabVIEW的力加載信號采集與PID控制
        一区二区三区视频偷拍| 亚洲av有码在线天堂| 91性视频| 色妞一区二区三区免费视频| 色婷婷精品久久二区二区蜜桃| 曰本无码人妻丰满熟妇啪啪| 日韩专区欧美专区| 亚洲国产av中文字幕| 亚洲天堂丰满人妻av| 欧美精品videossex少妇| 国产成人美女AV| 亚洲伊人av综合福利| 日本道色综合久久影院| 又爽又黄又无遮挡网站动态图| 国产极品美女高潮抽搐免费网站| 日韩熟女精品一区二区三区视频| 亚洲中文字幕国产视频| 少妇高潮惨叫正在播放对白| 91亚洲精品福利在线播放| 日韩女优一区二区在线观看| 国产av精品一区二区三| 老湿机香蕉久久久久久| 超级碰碰人妻中文字幕| 亚洲不卡免费观看av一区二区| 久久久亚洲av成人网站| 亚洲第一网站免费视频| 二区三区视频在线观看| 精品人妻码一区二区三区剧情| 亚洲av之男人的天堂网站| 国产精品白浆视频免费观看| 日本韩国亚洲三级在线| 国产精品美女久久久久av福利 | 免费大片黄在线观看| 人妻丰满少妇一二三区| 国产一级一片内射视频播放| 偷拍一区二区三区黄片| 欧美激欧美啪啪片| 亚洲综合久久成人a片| 亚洲国产一区二区三区在观看| 色久悠悠婷婷综合在线| 亚洲第一页综合图片自拍|