《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 星載固態(tài)存儲(chǔ)控制器標(biāo)準(zhǔn)化通用仿真測(cè)試平臺(tái)設(shè)計(jì)
星載固態(tài)存儲(chǔ)控制器標(biāo)準(zhǔn)化通用仿真測(cè)試平臺(tái)設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第7期
張偉東1,2,3,董振興1,2,朱 巖1,2,安軍社1,2
1.中國(guó)科學(xué)院 復(fù)雜航天系統(tǒng)電子信息技術(shù)國(guó)防科技創(chuàng)新重點(diǎn)實(shí)驗(yàn)室,北京100190; 2.中國(guó)科學(xué)院 國(guó)家空間科學(xué)中心,北京 100190;3.中國(guó)科學(xué)院大學(xué),北京100190
摘要: 電子系統(tǒng)功能與復(fù)雜度的日益增加,對(duì)系統(tǒng)驗(yàn)證測(cè)試的效率提出了更高要求。傳統(tǒng)衛(wèi)星測(cè)試平臺(tái)依據(jù)特定型號(hào)任務(wù)進(jìn)行定制式設(shè)計(jì),其設(shè)計(jì)開發(fā)周期長(zhǎng)、綜合成本高,難以適應(yīng)當(dāng)前任務(wù)需求。為此,提出了一種基于System Verilog語(yǔ)言開發(fā)的星載固態(tài)存儲(chǔ)控制器通用仿真測(cè)試平臺(tái)架構(gòu),其內(nèi)部采用層次化模型,信號(hào)接口統(tǒng)一采用APB總線標(biāo)準(zhǔn),可以通過(guò)配置測(cè)試平臺(tái)數(shù)據(jù)源及格式及來(lái)適配不同容量、不同速率以及不同構(gòu)型的星載固態(tài)存儲(chǔ)控制器。實(shí)驗(yàn)表明,本文設(shè)計(jì)的測(cè)試平臺(tái)具有一定的通用性,相比于傳統(tǒng)測(cè)試平臺(tái)可以有效地節(jié)省測(cè)試時(shí)間并提高測(cè)試覆蓋率。
中圖分類號(hào): TN919.5
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190327
中文引用格式: 張偉東,董振興,朱巖,等. 星載固態(tài)存儲(chǔ)控制器標(biāo)準(zhǔn)化通用仿真測(cè)試平臺(tái)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(7):117-120.
英文引用格式: Zhang Weidong,Dong Zhenxing,Zhu Yan,et al. Design of standardized universal simulation test platform for onboard solid state memory controllers[J]. Application of Electronic Technique,2019,45(7):117-120.
Design of standardized universal simulation test platform for onboard solid state memory controllers
Zhang Weidong1,2,3,Dong Zhenxing1,2,Zhu Yan1,2,An Junshe1,2
1.Key Laboratory of Electronics and Information Technology for Space Systems,Chinese Academy of Sciences, Beijing 100190,China; 2.National Space Sciences Center,Chinese Academy of Sciences,Beijing 100190,China; 3.University of Chinese Academy of Science,Beijing 100190,China
Abstract: The increasing functionality and complexity of electronic systems places higher demands on the efficiency of system verification tests. The traditional satellite test platform is customized according to the specific model task. Its design and development cycle is long, and the comprehensive cost is difficult to adapt to the current task requirements. To this end, this paper proposes a general simulation test platform architecture for on-board solid-state storage controller based on System Verilog. It uses a hierarchical model internally, and the signal interface uses APB bus standard uniformly. It can be configured by testing the platform data source and format to adapt to onboard solid-state storage controllers of different capacities, different rates and different configurations. Experiments show that the test platform designed in this paper has certain versatility, which can effectively save test time and improve test coverage compared with traditional test platform.
Key words : onboard;solid state memory controllers;test platform;System Verilog

0 引言

    星載固態(tài)存儲(chǔ)控制器是衛(wèi)星的數(shù)據(jù)處理中心,負(fù)責(zé)衛(wèi)星工程參數(shù)和有效載荷科學(xué)數(shù)據(jù)的接收、存儲(chǔ)與傳輸。星載固態(tài)存儲(chǔ)控制器使用現(xiàn)場(chǎng)可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)作為處理核心。FPGA是一種可編程的信息處理器件,可通過(guò)改變其配置信息實(shí)現(xiàn)不同功能,具有高集成度、高速、高可靠性等特點(diǎn),在航天領(lǐng)域內(nèi)得到了廣泛應(yīng)用。但是當(dāng)FPGA中的程序存在隱性缺陷時(shí),如因外部異常輸入導(dǎo)致的內(nèi)部功能模塊狀態(tài)機(jī)運(yùn)行異常時(shí),會(huì)導(dǎo)致FPGA輸出錯(cuò)誤信號(hào),進(jìn)而導(dǎo)致整個(gè)系統(tǒng)功能紊亂。因此需要對(duì)FPGA設(shè)計(jì)進(jìn)行功能測(cè)試和時(shí)序測(cè)試。此外,由于航天任務(wù)對(duì)可靠性和安全性的特殊要求,還需要對(duì)其進(jìn)行余量測(cè)試、安全性測(cè)試、恢復(fù)性測(cè)試以及邊界測(cè)試等[1]。

    圖1所示為傳統(tǒng)功能仿真測(cè)試平臺(tái)模型。傳統(tǒng)功能仿真測(cè)試平臺(tái)由激勵(lì)模塊、待測(cè)設(shè)計(jì)和接收模塊三部分組成。其特點(diǎn)是結(jié)構(gòu)簡(jiǎn)單、功能單一,沒(méi)有統(tǒng)一的架構(gòu)和標(biāo)準(zhǔn),且大都是基于特定的型號(hào)任務(wù)所開發(fā)的。這種“定制式”的測(cè)試平臺(tái)存在很多弊端,如通用性和可移植性差、可讀性差、不利于管理等。為解決上述問(wèn)題,提出了一種基于System Verilog語(yǔ)言編寫的星載固態(tài)存儲(chǔ)控制器通用仿真測(cè)試平臺(tái)架構(gòu),其內(nèi)部設(shè)計(jì)采用層次化模型,內(nèi)部接口與總線均采用由ARM公司提出的高級(jí)外設(shè)總線標(biāo)準(zhǔn)(Advanced Peripheral Bus,APB)。

qrs4-t1.gif

1 標(biāo)準(zhǔn)化通用測(cè)試平臺(tái)設(shè)計(jì)

1.1 測(cè)試平臺(tái)概述

    基于Verilog HDL和VHDL語(yǔ)言開發(fā)的測(cè)試平臺(tái)存在重復(fù)利用率差、開發(fā)效率低等問(wèn)題,而采用面向?qū)ο蟮膶S抿?yàn)證語(yǔ)言System Verilog可以有效地解決這些問(wèn)題。System Verilog充分吸收和借鑒了Verilog HDL、VHDL、System C和C++等語(yǔ)言的特性,使其可以在更高的抽象層級(jí)上對(duì)高度復(fù)雜的設(shè)計(jì)進(jìn)行測(cè)試驗(yàn)證[2]。此外,測(cè)試平臺(tái)架構(gòu)應(yīng)采用模塊化和標(biāo)準(zhǔn)化設(shè)計(jì),從而使測(cè)試平臺(tái)具有更好的通用性,還應(yīng)采用層次化結(jié)構(gòu)設(shè)計(jì),以有效增強(qiáng)測(cè)試平臺(tái)的靈活性和穩(wěn)定性。明確的層次設(shè)計(jì)可以有效地定義各層之間的接口,層與層之間的獨(dú)立性也使得每一層可以采用其最合適的技術(shù)去實(shí)現(xiàn)而不影響其他層。

1.2 層次化結(jié)構(gòu)設(shè)計(jì)

    星載固態(tài)存儲(chǔ)控制器設(shè)計(jì)的標(biāo)準(zhǔn)化通用仿真測(cè)試平臺(tái)包含5個(gè)層次:測(cè)試層、場(chǎng)景層、功能層、命令層和信號(hào)層,層次化結(jié)構(gòu)通用測(cè)試平臺(tái)架構(gòu)見圖2。 

qrs4-t2.gif

    最底層為信號(hào)層,負(fù)責(zé)將待測(cè)設(shè)計(jì)連接到測(cè)試平臺(tái),完成模塊信號(hào)對(duì)接。信號(hào)層上層是命令層,驅(qū)動(dòng)單元接收來(lái)自功能層的命令信息后將總線上的命令驅(qū)動(dòng)到待測(cè)設(shè)計(jì)的輸入上;接收單元負(fù)責(zé)收集待測(cè)設(shè)計(jì)的激勵(lì)響應(yīng)輸出,并且按照命令進(jìn)行分組;監(jiān)視單元負(fù)責(zé)監(jiān)視那些不受命令信號(hào)約束的獨(dú)立信號(hào),其可穿越整個(gè)命令的周期來(lái)搜尋這些信號(hào)的變化[3]。另外,如果當(dāng)程序中 “不應(yīng)發(fā)生”的事情的確發(fā)生的時(shí)候,監(jiān)視單元將進(jìn)行報(bào)警。因此,監(jiān)視單元和接收單元的共同作用可以更加全面地監(jiān)控測(cè)試過(guò)程中的狀態(tài)變化,從而提高測(cè)試結(jié)果的可靠性。

    功能層向下面對(duì)命令層。任務(wù)調(diào)度單元接收來(lái)自場(chǎng)景層的任務(wù)后,將任務(wù)分解成若干獨(dú)立的命令。這些命令在被送往驅(qū)動(dòng)單元的同時(shí)也會(huì)被送往檢驗(yàn)單元。檢驗(yàn)單元負(fù)責(zé)對(duì)比實(shí)際待測(cè)設(shè)計(jì)的激勵(lì)響應(yīng)與預(yù)測(cè)單元理想的響應(yīng)結(jié)果。通過(guò)對(duì)檢驗(yàn)單元中數(shù)據(jù)進(jìn)行分析就可以判斷當(dāng)前任務(wù)下待測(cè)設(shè)計(jì)是否符合預(yù)期設(shè)計(jì)要求。

    場(chǎng)景層根據(jù)來(lái)自測(cè)試層的激勵(lì)約束,模擬實(shí)際任務(wù)中的各種場(chǎng)景。發(fā)生單元的組成部分根據(jù)不同的待測(cè)設(shè)計(jì)進(jìn)行不同適應(yīng)性更改,但基本模塊均由信號(hào)源和數(shù)據(jù)源組成。信號(hào)源根據(jù)上層的約束信息產(chǎn)生相應(yīng)激勵(lì)信號(hào),并控制數(shù)據(jù)源開始向待測(cè)設(shè)計(jì)發(fā)送數(shù)據(jù)。

    測(cè)試層為整個(gè)測(cè)試平臺(tái)的頂層,其中輸入單元用來(lái)向測(cè)試平臺(tái)發(fā)送創(chuàng)建激勵(lì)的約束。功能覆蓋率可以衡量所有測(cè)試在測(cè)試計(jì)劃中的進(jìn)展。

2 星載固態(tài)存儲(chǔ)控制器通用測(cè)試平臺(tái)實(shí)現(xiàn)

2.1 測(cè)試平臺(tái)架構(gòu)設(shè)計(jì)

    基于層次化結(jié)構(gòu)通用測(cè)試平臺(tái)架構(gòu),結(jié)合工程型號(hào)任務(wù)需求,搭建星載固態(tài)存儲(chǔ)控制器通用仿真測(cè)試平臺(tái),見圖3。

qrs4-t3.gif

    通用測(cè)試平臺(tái)中各模塊接口均使用APB總線標(biāo)準(zhǔn)進(jìn)行封裝,并增加APB總線接口模塊進(jìn)行平臺(tái)內(nèi)各模塊及測(cè)試平臺(tái)與待測(cè)設(shè)計(jì)間通信。此外,增加參數(shù)配置模塊,其可對(duì)發(fā)生單元中的數(shù)據(jù)源和激勵(lì)源以及驅(qū)動(dòng)單元中的時(shí)鐘和復(fù)位模塊進(jìn)行配置。測(cè)試平臺(tái)內(nèi)嵌有參數(shù)可配置的Flash模型、SDRAM模型以及MRAM模型。通過(guò)參數(shù)配置模塊可以對(duì)Flash模塊等進(jìn)行配置。其中,F(xiàn)lash模型設(shè)計(jì)采用分層結(jié)構(gòu),最底層由8 Gbit的基本單元組成,支持主存儲(chǔ)區(qū)和空余區(qū)的讀寫,支持讀、寫和擦除等時(shí)間參數(shù)設(shè)置和初始?jí)膲K設(shè)置,以該基本單元為基礎(chǔ)進(jìn)行級(jí)聯(lián)擴(kuò)展,可實(shí)現(xiàn)不同存儲(chǔ)容量、存儲(chǔ)速率以及疊裝構(gòu)型的Flash器件的陣列模擬。

    測(cè)試平臺(tái)的各項(xiàng)參數(shù)配置需在測(cè)試開始前完成,即測(cè)試前向參數(shù)配置模塊輸入配置參數(shù),完成對(duì)Flash陣列模型及其他模塊的配置。對(duì)待測(cè)設(shè)計(jì)進(jìn)行測(cè)試時(shí),由測(cè)試輸入模塊向測(cè)試平臺(tái)注入約束條件,發(fā)生單元根據(jù)收到的約束條件產(chǎn)生相應(yīng)的激勵(lì)源,激勵(lì)信號(hào)經(jīng)任務(wù)調(diào)度單元分別加載到檢驗(yàn)單元和待測(cè)設(shè)計(jì)。同時(shí)數(shù)據(jù)源根據(jù)約束條件開始向任務(wù)調(diào)度單元發(fā)送數(shù)據(jù)。任務(wù)調(diào)度單元接收到待測(cè)任務(wù)信息后將待測(cè)任務(wù)信息下發(fā)到驅(qū)動(dòng)單元。驅(qū)動(dòng)單元生成驅(qū)動(dòng)配置文件,調(diào)配各個(gè)模塊向待測(cè)設(shè)計(jì)輸入數(shù)據(jù)及相應(yīng)的時(shí)鐘復(fù)位信號(hào)。待測(cè)設(shè)計(jì)在接收到激勵(lì)輸入和數(shù)據(jù)后產(chǎn)生激勵(lì)響應(yīng),接收單元對(duì)激勵(lì)響應(yīng)進(jìn)行分類,隨后將其送入到檢驗(yàn)單元中的比較器。檢驗(yàn)單元收到的激勵(lì)輸入被加載到參考模型中產(chǎn)生理想激勵(lì),隨后比較器將理想激勵(lì)與實(shí)際激勵(lì)響應(yīng)進(jìn)行比較。通過(guò)對(duì)檢驗(yàn)單元輸出結(jié)果的分析就可以判斷在當(dāng)前約束條件下待測(cè)設(shè)計(jì)是否符合預(yù)期設(shè)計(jì)目標(biāo)。功能覆蓋率模塊收集整個(gè)測(cè)試過(guò)程中的信息作為評(píng)價(jià)測(cè)試的充分性證據(jù)。

2.2 工程組織架構(gòu)

    通用仿真測(cè)試平臺(tái)運(yùn)行在仿真工具QuestaSim10.4c上,使用System Verilog語(yǔ)言開發(fā)。測(cè)試平臺(tái)采用層次化組織架構(gòu),工程組織架構(gòu)見圖4。

qrs4-t4.gif

    測(cè)試工程組織架構(gòu)為樹狀結(jié)構(gòu),頂層文件名為“Top_sim”,其中包含兩個(gè)主要的一級(jí)結(jié)構(gòu):約束文件(Constri_files)和參數(shù)配置文件(Para_cfg)。約束文件包含數(shù)據(jù)輸入約束(Data_in)和激勵(lì)輸入約束(Drive_in)兩個(gè)二級(jí)結(jié)構(gòu)。激勵(lì)輸入約束下分為直接測(cè)試(Direct)和隨機(jī)測(cè)試(Random)兩個(gè)三級(jí)結(jié)構(gòu)[4]。直接測(cè)試可以保證測(cè)試驗(yàn)證過(guò)程有一定的復(fù)現(xiàn)性,而隨機(jī)測(cè)試可以對(duì)待測(cè)設(shè)計(jì)進(jìn)行更為充分的驗(yàn)證。參數(shù)配置文件(Para_cfg)用于對(duì)測(cè)試平臺(tái)中相關(guān)模塊進(jìn)行配置以滿足待測(cè)設(shè)計(jì)的要求。測(cè)試平臺(tái)的執(zhí)行腳本文件是采用TCL語(yǔ)言編寫的擴(kuò)展名為.do的文件,用于在測(cè)試時(shí)對(duì)工程文件進(jìn)行自動(dòng)組織與控制。

3 實(shí)驗(yàn)與應(yīng)用

    基于上述設(shè)計(jì)所開發(fā)的通用仿真測(cè)試平臺(tái)已成功應(yīng)用于XX-09型號(hào)衛(wèi)星和XX-5A型號(hào)衛(wèi)星數(shù)傳FPGA的仿真測(cè)試。根據(jù)開發(fā)方提供的源程序以及《XX型號(hào)衛(wèi)星數(shù)傳FPGA需求規(guī)格說(shuō)明》開展測(cè)試,測(cè)試流程圖見圖5。

qrs4-t5.gif

    首先運(yùn)用代碼檢查工具對(duì)RTL級(jí)代碼進(jìn)行編碼規(guī)則檢查和代碼審查,隨后使用測(cè)試平臺(tái)分別對(duì)待測(cè)設(shè)計(jì)進(jìn)行功能仿真測(cè)試、對(duì)邏輯綜合后網(wǎng)表文件開展門級(jí)仿真測(cè)試以及對(duì)布局布線后網(wǎng)表文件開展時(shí)序仿真測(cè)試。最后,使用靜態(tài)時(shí)序分析工具和邏輯等效性檢查工具對(duì)待測(cè)設(shè)計(jì)進(jìn)行靜態(tài)時(shí)序分析和邏輯等效性檢查[5]。其中,功能仿真測(cè)試和門級(jí)仿真測(cè)試均在本文的通用仿真測(cè)試平臺(tái)上完成。

    以XX-09型號(hào)衛(wèi)星為例,存儲(chǔ)單元為兩個(gè)64 Gbit NAND Flash疊裝芯片并聯(lián)構(gòu)成的128 Gbit NAND Flash存儲(chǔ)陣列,每個(gè)64 Gbit NAND Flash由8片8 Gbit的存儲(chǔ)基片組成[6]。根據(jù)XX-09型號(hào)衛(wèi)星任務(wù)數(shù)傳FPGA任務(wù)書與需求規(guī)格說(shuō)明,對(duì)數(shù)傳FPGA開展功能需求分析及接口需求分析,共整理出82個(gè)功能相關(guān)測(cè)試子項(xiàng),設(shè)計(jì)了415個(gè)測(cè)試用例,覆蓋了功能測(cè)試、性能測(cè)試、時(shí)序測(cè)試、接口測(cè)試、安全性測(cè)試、余量測(cè)試、恢復(fù)性測(cè)試、邊界測(cè)試、等效性檢查共9種測(cè)試類型。仿真測(cè)試模塊覆蓋率和總體覆蓋率結(jié)果見圖6。功能仿真中對(duì)語(yǔ)句覆蓋率和分支覆蓋率進(jìn)行分析,語(yǔ)句覆蓋率達(dá)到91.5%,分支覆蓋率達(dá)到97.4%,未覆蓋原因?yàn)閏ase條件語(yǔ)句中default分支不可達(dá),經(jīng)確認(rèn)測(cè)試后功能正常。

qrs4-t6.gif

    對(duì)XX-5A和XX-09型號(hào)衛(wèi)星數(shù)傳FPGA分別采用傳統(tǒng)仿真測(cè)試平臺(tái)與本文仿真測(cè)試平臺(tái)進(jìn)行仿真測(cè)試,統(tǒng)計(jì)覆蓋率與仿真周期數(shù),結(jié)果見表1。

qrs4-b1.gif

    由表1知,傳統(tǒng)仿真測(cè)試平臺(tái)與通用仿真測(cè)試平臺(tái)均可完成100%功能覆蓋率,但通用仿真測(cè)試平臺(tái)的仿真周期數(shù)是傳統(tǒng)仿真測(cè)試平臺(tái)的48%左右,而且具有更好的語(yǔ)句覆蓋率和分支覆蓋率。綜上,本文所設(shè)計(jì)的仿真測(cè)試平臺(tái)覆蓋率性能良好并具有一定的通用性,相較于傳統(tǒng)仿真測(cè)試平臺(tái)可以有效縮短測(cè)試時(shí)間,并可以有效提高測(cè)試覆蓋率。

4 結(jié)論

    為解決傳統(tǒng)測(cè)試平臺(tái)通用性和繼承性差、難升級(jí)、難維護(hù)等問(wèn)題[7],提出了一種基于層次化結(jié)構(gòu)設(shè)計(jì)的仿真測(cè)試平臺(tái)架構(gòu),并在此基礎(chǔ)上結(jié)合APB總線標(biāo)準(zhǔn)開發(fā)了星載固態(tài)存儲(chǔ)控制器的通用仿真測(cè)試平臺(tái)。利用該平臺(tái)對(duì)兩個(gè)衛(wèi)星型號(hào)任務(wù)的數(shù)傳FPGA進(jìn)行了仿真驗(yàn)證測(cè)試,結(jié)果表明測(cè)試平臺(tái)可以有效支持對(duì)不同型號(hào)星載固態(tài)存儲(chǔ)控制器的仿真測(cè)試,相比于傳統(tǒng)測(cè)試平臺(tái)優(yōu)化了測(cè)試流程并提高測(cè)試效率,具有很好的工程應(yīng)用價(jià)值。

參考文獻(xiàn)

[1] 周珊,楊雅雯,王金波.航天高可靠FPGA測(cè)試技術(shù)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2017,27(3):1-5,11.

[2] 高虎,封二強(qiáng),趙剛.基于Testbench的FPGA實(shí)物自動(dòng)化測(cè)試環(huán)境設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,44(4):48-51.

[3] FIERGOLSKI A.Simulation environment based on the universal verification methodology[J].Journal of Instrumentation,2017,12(1):C01001.

[4] 楊志勇,董振興,朱巖,等.星載高速大容量存儲(chǔ)器文件化壞塊管理設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2017,43(6):11-14.

[5] BIRLA S,SHARMA S,SHUKLA N K.UVM-powered hardware/software co-verification[J].Journal of Information and Optimization Sciences,2017,38(6):945-952.

[6] 林天靜,阮翔,劉春.基于Flash控制器的FPGA在線加載功能設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(1):88-91.

[7] 陳琳娜,孟建熠,林志濤.面向串行總線的層次化UVM驗(yàn)證平臺(tái)設(shè)計(jì)[J].傳感器與微系統(tǒng),2018,37(9):84-86,89.



作者信息:

張偉東1,2,3,董振興1,2,朱  巖1,2,安軍社1,2

(1.中國(guó)科學(xué)院 復(fù)雜航天系統(tǒng)電子信息技術(shù)國(guó)防科技創(chuàng)新重點(diǎn)實(shí)驗(yàn)室,北京100190;

2.中國(guó)科學(xué)院 國(guó)家空間科學(xué)中心,北京 100190;3.中國(guó)科學(xué)院大學(xué),北京100190)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。