狠狠干影院/欧美午夜电影在线观看/高黄文/国产精品一区二区在线观看完整版

IP軟核測試策略及驗(yàn)證方案研究

| 瀏覽次數(shù):

摘要 近年來,芯片的設(shè)計(jì)不斷向著功能增強(qiáng)和集成度提高的方向發(fā)展,SoC(System on Chip, 片上系統(tǒng))開發(fā)模式逐漸成為主流,芯片性能增強(qiáng)、規(guī)模增大以及產(chǎn)品設(shè)計(jì)的周期縮短使得設(shè)計(jì)難度逐漸增加。在此情況下,IP軟核應(yīng)運(yùn)而生,至 2005年基于IP核設(shè)計(jì)的集成電路已經(jīng)占總設(shè)計(jì)的80%,IP核成為SoC開發(fā)的主流途徑已勢不可擋。

IP(Intellectual Property)核,也稱集成電路知識產(chǎn)權(quán)核。指ASIC、PLD等當(dāng)中預(yù)先設(shè)計(jì)好的電路功能模塊,它靈活性大,具有良好復(fù)用性與可移植性,接口靈活。本項(xiàng)目即選擇單片機(jī)芯片中具有代表性的1750 IP軟核作為研究對象。

為確保IP軟核的可靠性,對IP軟核進(jìn)行系統(tǒng)驗(yàn)證具有十分深遠(yuǎn)而重要的意義。本文根據(jù)IP軟核的特點(diǎn)與現(xiàn)狀,總結(jié)IP軟核的驗(yàn)證方法,分析IP軟核的驗(yàn)證策略,提出完整的1750IP軟核驗(yàn)證方法。并采用腳本驗(yàn)證與自動日志比對的方法以提高驗(yàn)證效率。

關(guān)鍵詞 IP軟核;指令測試;仿真;驗(yàn)證系統(tǒng)

中圖分類號TP311文獻(xiàn)標(biāo)識碼A文章編號 1674-6708(2011)55-0200-02

1 概述

某16位CPU是一款實(shí)現(xiàn)了全部1750指令集的單芯片處理器,該處理器實(shí)現(xiàn)了所有必要的指令并增加了 多可選擇的特色功能,還支持中斷、故障處理、存儲器擴(kuò)展、控制臺、定時器以及一些相關(guān)的可選指令。

為保證被測試芯片的可靠性與安全性、保證后續(xù)設(shè)計(jì),驗(yàn)證測試系統(tǒng)極為重要。本文介紹了1750軟核仿真測試的過程,基本原理和測試策略。

對于指令分析和測試,將所有指令分為12個不同的驗(yàn)證類別,對每一類指令進(jìn)行針對性驗(yàn)證,并且保證完備性。本項(xiàng)目的測試計(jì)劃按照指令、數(shù)據(jù)、環(huán)境參數(shù)三項(xiàng)因素的交叉組合來設(shè)計(jì)測試方案,具體分為對指令不同操作數(shù)的測試、不同寄存器的測試和指令異常情況的測試。

測試結(jié)果分析表明測試能夠完備覆蓋到指令的各種情況,測試用例的覆蓋率基本上能夠達(dá)到100%。

2 測試策略

2.1 總體測試策略

一般測試策略包括自頂向下測試、自底向上測試及增量測試等,本項(xiàng)目是一款全新的設(shè)計(jì),而且設(shè)計(jì)方法也是基于自底向上的,所以綜合個方面因素選用自底向上的測試策略,通過在底層模塊執(zhí)行完全測試開始,當(dāng)達(dá)到一個適當(dāng)?shù)臐M意度后,將這些模塊集成為更大的模塊進(jìn)行新一輪測試,迭代進(jìn)行直到完整的系統(tǒng)集成完成。

測試系統(tǒng)按實(shí)現(xiàn)方式分為仿真測試,形式測試及物理測試,由于軟核測試的目的在于保證IP軟核功能和時序的正確性,故采用仿真測試的方法。在仿真軟件的支持下,在設(shè)計(jì)結(jié)果的輸入端施加多組測試矢量信號,計(jì)算得到中間結(jié)果和輸出結(jié)果。再對這些結(jié)果進(jìn)行分析和對比,從而得出結(jié)論。

另外,IP軟核測試分為功能和時序的測試以及電路測試兩個階段。而功能和時序測試的方法可以分為黑盒、灰盒和白盒3種形式。即使提供源代碼,了解IP軟核細(xì)節(jié)的白盒測試系統(tǒng)對使用者來說難度仍然大,也不實(shí)際。而加密形式的IP軟核,只能檢測到IP軟核的信號和寄存器,就只能用黑盒的方式測試。

2.2 模塊級測試與系統(tǒng)級測試

IP軟核測試策略與被測模塊的功能和實(shí)現(xiàn)方式有關(guān)。本項(xiàng)目將IP軟核測試策略分為模塊級的直接測試和系統(tǒng)級的軟硬件協(xié)同測試。模塊級的直接測試采用直接施加激勵的形式,適合于測試功能相對簡單的模塊。圖1為模塊級直接測試的形式框圖。

直接測試即直接對IP軟核模塊的輸入端施加激勵,并將輸出端響應(yīng)通過比較模型判斷結(jié)果,該比較可以是人工手動判斷形式,也可是自動與理想模型對比,自動產(chǎn)生差異文件的形式。

由于SOC設(shè)計(jì)中包含一定的軟件設(shè)計(jì),因此系統(tǒng)測試需要軟硬件協(xié)同測試,該測試主要測試軟件能否在期望的硬件電路上正確運(yùn)行。將編譯后的測試用目標(biāo)代碼通過存儲控制器讀入并由CPU執(zhí)行,從而產(chǎn)生期望的系統(tǒng)行為。

2.3 測試模型和軟件環(huán)境

1750 IP軟核的仿真驗(yàn)證、綜合與實(shí)現(xiàn)主要是靠EDA工具來完成的。本文采ModelSim 6.5軟件,是由Model Tech公司開發(fā)的目前業(yè)界最通用的仿真器之一,支持Verilog HDL和VHDL混合仿真。

比較模型采用GCC編譯器和模擬器,模擬器提供了類似于UNIX標(biāo)準(zhǔn)I/O 庫(stdio)的支持,程序中可以直接調(diào)用標(biāo)準(zhǔn)的printf類函數(shù),為程序的調(diào)試帶來極大方便。標(biāo)準(zhǔn)輸入是由模擬器生成的,采用逐條指令比較的方法,每條指令執(zhí)行完成后內(nèi)存、各個寄存器和狀態(tài)字會發(fā)生改變,在文本中暫時記錄下來,并在另一個文本中讀取模擬器執(zhí)行完的狀態(tài),將兩者相比對,如果不一致則記錄相應(yīng)的指令代碼、指令助記符和指令的地址,并在diff.txt文件中輸出,接著比較下一條,以此類推直到驗(yàn)證完所有指令。

3 測試方案設(shè)計(jì)與分析

3.1 指令測試方案設(shè)計(jì)

首先將所有指令分為12個不同的驗(yàn)證類別(數(shù)據(jù)傳送、算術(shù)邏輯運(yùn)算、位操作、跳轉(zhuǎn)、移位操作、比較操作、出棧和入棧操作、空操作、斷點(diǎn)操作、浮點(diǎn)、IO指令、控制臺指令,分屬于8個類別13種尋址方式。

制定測試方案所需考慮的一個關(guān)鍵問題是保證測試的完備性。本項(xiàng)目的測方案按照指令、數(shù)據(jù)、環(huán)境參數(shù)三項(xiàng)因素的交叉組合來設(shè)計(jì)。

首先選用不同的數(shù)據(jù)進(jìn)行測試,考察指令和各個功能塊對數(shù)據(jù)變化的響應(yīng)能力。以移位指令為例,當(dāng)設(shè)計(jì)存在問題時,指令執(zhí)行結(jié)果仍有可能正確,尤其是對一些特殊數(shù)的計(jì)算,通常的調(diào)試是無法做到的,而這些區(qū)域恰好又易出錯,所以必須專門測試。此外,人為選擇的數(shù)據(jù)一般達(dá)不到完備性要求。因此用隨機(jī)生成數(shù)作為操作數(shù),只要隨機(jī)的次數(shù)足夠就可以排除某些規(guī)律性錯誤。另可以用規(guī)律變化的數(shù)據(jù)對所有數(shù)據(jù)進(jìn)行遍歷,用特殊數(shù)(0x0000、0xFFFF等)測試特殊數(shù)據(jù)的操作能力。

其次在編寫測試用例時使用到了所有的寄存器,不僅可以測試指令執(zhí)行的結(jié)果是否正確,還可以測試所有的寄存器是否能夠正常工作。

芯片具有異常情況處理的特性。針對它的內(nèi)部特性需要進(jìn)行異常情況的測試有,包括:非法指令的測試、死循環(huán)的測試、非法地址的測試等。

中斷行為是芯片功能的重要組成部分,對中斷行為的測試主要包括:外部中斷測試、內(nèi)部中斷測試以及中斷處理程序測試。外部中斷測試主要通過對軟核給予各種激勵,觀察是否將各中斷對應(yīng)的PI(Pending Interrupt,中斷懸掛)位置位;內(nèi)部中斷測試主要通過執(zhí)行測試腳本,輸出結(jié)果的日志,然后通過觀察輸出沒有正確產(chǎn)生中斷的指令;中斷處理測試是將中斷向量與中斷處理程序?qū)懭雰?nèi)存,通過對特殊寄存器的讀寫來反饋是否正確的進(jìn)入中斷處理程序,是否正確返回測試點(diǎn)進(jìn)行波形觀察。

對于其他非置PI的指令,采用腳本隨機(jī)測試。將運(yùn)行結(jié)果與模擬器運(yùn)行結(jié)果進(jìn)行比對,以保證不應(yīng)該產(chǎn)生中斷的指令不會錯誤地產(chǎn)生中斷。

中斷測試的第一部分進(jìn)行PI置位測試,即對于中斷能否在正確的觸發(fā)條件與時刻置PI中正確位;第二部分進(jìn)行中斷處理跳轉(zhuǎn)與返回測試,即PI某位被置位后,軟核能否正確進(jìn)入對應(yīng)的中斷處理程序,保存并替換當(dāng)前IC寄存器值、中斷優(yōu)先級向量,SW寄存器的值,跳轉(zhuǎn)至正確地址執(zhí)行,執(zhí)行完成能否正確返回原地址。

3.2 指令測試方案分析

激勵的產(chǎn)生主要采用以下三種策略:隨機(jī)測試,直接測試以及應(yīng)用程序測試。

隨機(jī)測試:為了加強(qiáng)測試強(qiáng)度,發(fā)現(xiàn)隱藏的設(shè)計(jì)錯誤,開發(fā)自動偽隨機(jī)測試程序生成器,對于每條指令以及不同的指令組合進(jìn)行偽隨機(jī)測試。過程為首先產(chǎn)生指令序列,內(nèi)存中除去代碼部分,其余單元由隨機(jī)數(shù)序列初始化;其次分別由仿真軟核和模擬器執(zhí)行,并分別記錄指令執(zhí)行的狀態(tài);最后比較上述兩者差別,給出報告。該方式測試數(shù)據(jù)量將會非常大,所以同時要開發(fā)比較對應(yīng)的自動結(jié)果檢測模塊。自動測試系統(tǒng)具有可回歸測試、工作量小、資源利用率高、可重用性高的優(yōu)點(diǎn)。但它并不能取代人工測試,只是一種反復(fù)運(yùn)行的工具,需要再配合以人工測試,包括直接測試和應(yīng)用程序測試。

隨機(jī)測試的測試向量主要是由自動化測試系統(tǒng)隨機(jī)生成的,根據(jù)指令生成的生成方式能夠確定生成的指令必定包含指令集的每種尋址方式,但是生成的指令不能保證完全覆蓋指令的各種情況,因此按照匯編指令中的助記符類型不同嘗試將要替換的符號設(shè)置為合適的個數(shù),本指令系統(tǒng)采用的是16位的狀態(tài)字寄存器,除了RX的取值為15種,BR的取值為4種之外,其他符號均取值為16個隨機(jī)數(shù)。以異或指令為例,現(xiàn)在RA寄存器和RB寄存器的取值格式為16個,那么生成異或的測試用例為256條,試驗(yàn)表明,這時候異或指令的各種情況是完全覆蓋的。

直接測試針對特定的一個或者一些功能測試。如運(yùn)算指令中的符號擴(kuò)展、溢出等邊界情況以及跳轉(zhuǎn)及復(fù)雜的跳轉(zhuǎn)嵌套等,需要針對性手動編寫大量匯編代碼,用于測試指令的邊界情況。MIL-STD-1750A中主要是針對運(yùn)算指令的邊界情況和不同標(biāo)志位情況,以及流水線沖突處理的多指令組合序列的定向測試,使得測試更加全面,覆蓋率更高,并且可以觀察到指令的執(zhí)行過程。

應(yīng)用程序測試是根據(jù)待測試MIL-STD-1750A的典型系統(tǒng)應(yīng)用,選取常用程序來進(jìn)行仿真,以此來保證測試的完備性。項(xiàng)目主要選用一些典型的C語言程序進(jìn)行測試。包括循環(huán)算術(shù)計(jì)算、遞歸方式求階乘、全排列、快速排序、隨機(jī)抽樣、素?cái)?shù)輸出等常用程序來進(jìn)行仿真。

經(jīng)過試驗(yàn)的統(tǒng)計(jì)分析,我們發(fā)現(xiàn)在這三種激勵生成方式的共同作用下,我們的測試用例是能完全覆蓋到指令的各種情況的,并且能保證效率。該方法能夠有效提高測試效率和覆蓋率,縮短測試的周期。

綜上,我們采用的激勵生成策略和測試向量策略能夠非常完備的覆蓋到指令的各種情況,測試用例的覆蓋率基本上能夠達(dá)到100%。

4 結(jié)果分析

我們將MIL-STD-1750A指令集按照第4節(jié)中的分類進(jìn)行了測試。對于數(shù)據(jù)流指令(包括算術(shù)邏輯運(yùn)算指令和訪存指令),采取手工編寫激勵直接測試和隨機(jī)測試相結(jié)合的方法,手工編寫的向量主要針對邊界情況(如符號擴(kuò)展,溢出等)進(jìn)行測試,隨機(jī)測試用來保證覆蓋率和可靠性。對于控制流指令(跳轉(zhuǎn),子程序調(diào)用等),由于目前的偽隨機(jī)測試指令生成器還不能完全兼容這部分指令,主要采取手工編寫激勵直接測試。

實(shí)際的驗(yàn)證結(jié)果表明,大部分錯誤都是在手動直接測試部分發(fā)現(xiàn)的,不過隨機(jī)測試部分對覆蓋率的補(bǔ)充作用很明顯,在進(jìn)行測試的時候主要發(fā)現(xiàn)了存儲器間多字傳送、減1并轉(zhuǎn)移、多寄存器入棧、比較指令、移位指令、擴(kuò)展精度浮點(diǎn)數(shù)加載指令、浮點(diǎn)數(shù)運(yùn)算指令、IO指令的錯誤。

并且在回歸測試當(dāng)中這些錯誤均已得到改正,測試結(jié)束后,所有指令和中斷行為的測試結(jié)果都是正確的。

5 結(jié)論

本文的主要研究內(nèi)容是根據(jù)IP驗(yàn)證技術(shù)的現(xiàn)狀,總結(jié)IP軟核的驗(yàn)證系統(tǒng),分析IP軟核驗(yàn)證策略;完成對1750 IP軟核的指令驗(yàn)證并得出驗(yàn)證結(jié)果。并對1750包括中斷指令、XIO/VIO指令、控制臺指令在內(nèi)的全部指令設(shè)計(jì)了完整的驗(yàn)證方法,給推廣復(fù)用自動化驗(yàn)證留下了寶貴的經(jīng)驗(yàn)與供參考的資料。但也存在自動驗(yàn)證腳本運(yùn)行效率較低和主要針對單條指令,生成某一個特定的指令序列的能力不夠的問題。

參考文獻(xiàn)

[1]張振軍.微處理器功能驗(yàn)證自動化方法的研究和實(shí)現(xiàn)[D].上海:上海交通大學(xué),2008.

[2]王健健. 80C51 IP軟核測試與應(yīng)用技術(shù)研究[D].北京:北京交通大學(xué),2007.

[3]陸思安,余龍理,陳必龍,等.面向系統(tǒng)芯片的驗(yàn)證策略[J].微電子學(xué),2002(4):265-268.

[4]何葉東.IP芯核設(shè)計(jì)和驗(yàn)證的研究[DB/OL].萬方數(shù)據(jù)庫.

[5]王曉紅,王旭,王雷,金茂忠.指令集仿真器自動生成技術(shù)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2003(2):129-131.

[6]劉方海,王曉蕾,奕銘.測試自動化在MCU設(shè)計(jì)中的應(yīng)用[J].微電子學(xué)與計(jì)算機(jī),2001,4:12-14.

推薦訪問: 驗(yàn)證 策略 測試 方案 研究

【IP軟核測試策略及驗(yàn)證方案研究】相關(guān)推薦

工作總結(jié)最新推薦

NEW
  • 為深入學(xué)習(xí)貫徹黨的二十大精神,按照中央和省委的總體部署,結(jié)合我X實(shí)際,制定學(xué)習(xí)貫徹黨的二十大精神集中輪訓(xùn)實(shí)施方案。一、總體要求學(xué)習(xí)貫徹黨的二十大精神是當(dāng)前和今后一個時期的首要政治任務(wù)。認(rèn)真學(xué)習(xí)貫徹黨的

  • 一、背景和目的近年來隨著市場競爭的加劇和企業(yè)之間的惡性競爭,一些公司采取“靠企吃企”的不正當(dāng)競爭手段,危害了市場秩序和公平競爭環(huán)境為了維護(hù)市場秩序,加強(qiáng)市場監(jiān)管,提高企業(yè)競爭力,根據(jù)省紀(jì)委部署要求,公

  • 按照學(xué)習(xí)貫徹習(xí)近平新時代中國特色社會主義思想主題教育總體安排部署,為進(jìn)一步提高調(diào)查研究工作質(zhì)量和水平,確保主題教育活動取得實(shí)際成效,結(jié)合我市實(shí)際,制定本方案。一、總體要求堅(jiān)持以習(xí)近平新時代中國特色社會

  • 幼兒園的任務(wù)為解除家庭在培養(yǎng)兒童時所受時間、空間、環(huán)境的制約,讓幼兒身體、智力和心情得以健康發(fā)展。下面是小編給大家整理的幼兒園教育活動方案策劃,僅供參考希望能夠幫助到大家。幼兒園教育活動方案策劃1一、

  • 舉辦活動是從長遠(yuǎn)著手,出人、出物或出錢贊助和支持某項(xiàng)社會公益事業(yè)的公共關(guān)系實(shí)務(wù)活動。看看幼兒園舉辦方案五篇,歡迎閱讀!幼兒園舉辦方案1一、活動目的:豐富幼兒園兒童們的在園生活,促進(jìn)孩子們的身心健康。為

  • 幼兒園教育作為整個教育體系基礎(chǔ)的基礎(chǔ),是對兒童進(jìn)行預(yù)備教育(性格完整健康、行為習(xí)慣良好、初步的自然與社會常識)。下面是小編給大家整理的幼兒園活動方案策劃,僅供參考希望能夠幫助到大家。幼兒園活動方案策劃

  • 幼兒園畢業(yè)季臨近,每一年幼兒園的畢業(yè)季不僅是送走即將屆畢業(yè)幼兒,同時也是展示豐收成果的時刻。幼兒園的孩子畢業(yè)了,要去到小學(xué)學(xué)習(xí),總有些不舍,舉辦好畢業(yè)典禮,好歡送他們。以下是小編為大家精心準(zhǔn)備的幼兒畢

  • 一、活動目的為豐富我校學(xué)生的課外文化生活,積極開展有利于學(xué)生身心健康的活動,調(diào)節(jié)身心,增強(qiáng)體質(zhì),為教育教學(xué)工作更好的服務(wù),以此增加學(xué)生的凝聚力、向心力及團(tuán)結(jié)協(xié)作的精神。進(jìn)一步加強(qiáng)學(xué)校內(nèi)涵建設(shè),文化育人

  • 世界上最有影響的幼兒園是由德國的教育家福祿培爾創(chuàng)辦的。1837年,福祿培爾在德國勃蘭登堡大膽招收了一批兒童,成立了世界上第一個教育學(xué)齡前兒童的組織。下面是小編給大家整理的幼兒園繪本閱讀方案模板,僅供參

  • 1 增強(qiáng)員工對企業(yè)的歸屬感和凝聚力企業(yè)的人才隊(duì)伍建設(shè)一般有兩種:一是靠引進(jìn),二是靠自己培養(yǎng)。所以企業(yè)應(yīng)不斷地進(jìn)行員工培訓(xùn),向員工灌輸企業(yè)的價值觀,培訓(xùn)良好的行為規(guī)范,使員工能夠自覺地按慣例工作,從而形