欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

面向兼容設計的微處理器硅后驗證裝置與驗證方法_6

文檔序號:8259099閱讀:來源:國知局
為ADDR3的存儲空間,轉(zhuǎn)步驟10 ;否則,轉(zhuǎn)步驟9 ; 步驟10.從控程序根據(jù)RADDR7重載地址ADDR7的初始值并跳轉(zhuǎn)到地址ADDR7,順序執(zhí)行從控程序生成的IN個第二測試激勵程序,然后跳轉(zhuǎn)到地址ADDR8,順序執(zhí)行主控程序生成的IN個第一測試激勵程序,第一測試激勵執(zhí)行結果和第二測試激勵程序執(zhí)行結果分別記錄在起始地址為ADDR9和ADDRlO的存儲空間; 步驟11.將第一測試激勵執(zhí)行結果發(fā)送到主控芯片地址為ADDRlI的存儲空間,第二測試激勵程序執(zhí)行結果發(fā)送到主控芯片地址為ADDR12的存儲空間,并將從控程序執(zhí)行結果已返回標志位ResultFlag置I ; 步驟12.LoopNum2增1,若LoopNum2〈MAXLOOP2,表示從控程序尚未達到程序預定的循環(huán)次數(shù),轉(zhuǎn)步驟4 ;若L00pNum2 ^ MAXLOOP2,表示從控程序已經(jīng)達到程序預定的循環(huán)次數(shù),從控程序結束。
3.如權利要求2所述的面向兼容設計的微處理器硅后驗證裝置,其特征在于,所述KN取值范圍為100?1000,所述固定值取敏感點浮點表示中尾數(shù)變化范圍內(nèi)的任意值。
4.如權利要求2所述的面向兼容設計的微處理器硅后驗證裝置,其特征在于,所述正態(tài)分布隨機數(shù)生成函數(shù)包含兩步:第一步利用C語言庫函數(shù)中隨機數(shù)生成器生成符合均勻分布的隨機數(shù);第二步使用經(jīng)典的BoxMuller算法將這些均勻分布的隨機數(shù)轉(zhuǎn)換為符合正態(tài)分布的隨機數(shù)。
5.如權利要求2所述的面向兼容設計的微處理器硅后驗證裝置,其特征在于,所述主控程序和從控程序中定義指令模型和測試激勵模板的方法是:通過面向?qū)ο蟮姆椒▽Υ郎y功能指令進行抽象建模,定義指令模型,過程是:根據(jù)指令內(nèi)部不同指令位的作用將指令劃分為若干字段,包括操作碼字段、操作數(shù)字段、條件執(zhí)行位字段、平行位字段,每個字段均為一個有約束條件的隨機變量,約束條件規(guī)定了隨機變量字段的類型、取值范圍和隨機分布的比例;為不同結構類型的指令建立不同的指令模型,包括雙操作數(shù)指令、單操作數(shù)指令和無操作數(shù)指令,令指令操作數(shù)的個數(shù)為OpNum,雙操作數(shù)指令的OpNum等于2,單操作數(shù)指令的OpNum等于1,無操作數(shù)指令的OpNum等于0,令指令模型個數(shù)為InsNum,InsNum為正整數(shù);在指令模型的基礎上,為運算類指令和控制類指令分別建立測試激勵模板;運算類指令測試激勵模板包含三部分:并行地將OpNum個操作數(shù)搬移至OpNum個寄存器中、執(zhí)行指令、將結果寫回到存儲空間;控制類指令測試激勵模板包括三部分:存儲當前狀態(tài)寄存器值、執(zhí)行指令、存儲執(zhí)行后狀態(tài)寄存器值;根據(jù)執(zhí)行控制類指令的類型選擇需要保存的狀態(tài)寄存器,控制類指令功能包括:改變程序執(zhí)行順序、改變流水線狀態(tài)、改變執(zhí)行權限和改變緩存狀態(tài)。
6.如權利要求2所述的面向兼容設計的微處理器硅后驗證裝置,其特征在于,所述MAXLOOP I和MAXL00P2設置為運算空間的I %。
7.如權利要求2所述的面向兼容設計的微處理器硅后驗證裝置,其特征在于,所述主控程序或從控程序中第一測試數(shù)據(jù)集DataSetl或第二測試數(shù)據(jù)集DataSet2生成過程如下: 7.1定義變量i = O ; 7.2對敏感點集中的第i個敏感點,生成KN個以敏感點為中心、固定值為方差、符合正態(tài)分布的測試數(shù)據(jù),將生成的測試數(shù)據(jù)添加到DataSetl或DataSet2中,i增I ;7.3 若 i〈KpNum,車專 7.2 ;若 i ^ KpNum, DataSetl 或 DataSet2 生成結束。
8.一種采用權利要求1?7中任一權利要求所述的微處理器硅后驗證裝置對待驗證的兼容性芯片進行功能驗證的方法,其特征在于包括以下步驟: 步驟一,調(diào)試主機通過CCS集成開發(fā)環(huán)境將編譯好的主控程序和從控程序分別通過JTAGl和JTAG2下載到主控芯片和從控芯片,并啟動和分別執(zhí)行主控程序和從控程序;步驟二,主控芯片運行主控程序,同時從控芯片運行從控程序,主控程序負責生成主控芯片測試激勵、控制主控芯片執(zhí)行測試激勵、比對主控芯片與從控芯片執(zhí)行測試激勵結果和處理從控芯片執(zhí)行結果錯誤,從控程序負責生成從控芯片測試激勵、控制從控芯片執(zhí)行測試激勵: .2.1)主控程序和從控程序同時分別定義各自的敏感點集,定義敏感點集中敏感點個數(shù)均為KpNum ;在主控芯片地址空間中分別定義以ADDR1、ADDR2、ADDR3、ADDR4、ADDR5、ADDR11和ADDR12為起始地址的存儲空間,用于存放主控程序在后續(xù)執(zhí)行過程中臨時產(chǎn)生的數(shù)據(jù)和代碼,定義RADDR2等于ADDR2,用于對地址ADDR2進行重載;在從控芯片地址空間中分別定義以ADDR6、ADDR7、ADDR8、ADDR9和ADDRlO為起始地址的存儲空間,用于存放從控程序在后續(xù)執(zhí)行過程中臨時產(chǎn)生的數(shù)據(jù)和代碼,定義RADDR7等于ADDR7,用于對地址ADDR7進行重載; .2.2)主控程序和從控程序同時分別定義各自的指令模型和測試激勵模板; .2.3)主控程序定義程序循環(huán)變量LoopNuml = 0,LoopNuml控制驗證過程中主控程序隨機生成測試數(shù)據(jù)的循環(huán)遍數(shù),定義主控程序預定循環(huán)次數(shù)MAXL00P1,主控程序定義臨時變量j = 0,定義主控程序同步標志位MFlag ;同時從控程序定義程序循環(huán)變量LoopNum2 =.0,LoopNum2控制驗證過程中從控程序隨機生成測試數(shù)據(jù)的循環(huán)遍數(shù),定義從控程序預定循環(huán)次數(shù)MAXL00P2,MAXL00P2 = MAXL00P1,從控程序定義臨時變量k = 0,定義從控程序同步標志位SFlag,從控程序定義執(zhí)行結果已返回標志位ResultFlag ; .2.4)主控程序復位主控程序同步標志位,即MFlag置O ;從控程序復位從控程序同步標志位,即 SFlag 置 0,ResultFlag 置 O ; .2.5)主控程序和從控程序同時生成第一測試數(shù)據(jù)和第二測試數(shù)據(jù),構成測試激勵敏感空間,方法如下:主控程序和從控程序生成測試數(shù)據(jù)的過程相同,利用正態(tài)分布隨機數(shù)生成函數(shù)生成KN個以敏感點為中心、固定值為方差、符合正態(tài)分布的測試數(shù)據(jù);主控程序敏感點集中KpNum個敏感點生成出的KpNum*KN個第一測試數(shù)據(jù);從控程序敏感點集中KpNum個敏感點生成出的KpNum*KN個第二測試數(shù)據(jù);主控程序生成的第一測試數(shù)據(jù)構成第一測試數(shù)據(jù)集DataSetl,DataSetl存放在主控芯片中以ADDRl為起始地址的存儲空間,從控程序生成的第二測試數(shù)據(jù)構成第二測試數(shù)據(jù)集DataSet2,DataSet2存放在從控芯片中以ADDR6為起始地址的存儲空間; . 2.6)主控程序和從控程序同時分別按照2.2)定義的指令模型生成IN條待測試指令;主控程序轉(zhuǎn)2.6.1),生成IN個第一測試激勵程序;同時,從控程序轉(zhuǎn)2.6.P ),生成IN個第二測試激勵程序; .2.6.1)主控程序串行地為IN條待測試指令生成IN個第一測試激勵程序,為每條待測指令生成第一測試激勵程序的過程均相同,均包括以下步驟: .2.6.1.1)若待測試指令為運算類指令,首先從測試數(shù)據(jù)集DataSetl中隨機選擇OpNum個操作數(shù);然后在待測試指令前生成搬移指令,搬移指令作用為將操作數(shù)搬移到對應的寄存器中;在待測試指令后生成第一存儲指令,第一存儲指令作用為將運算結果存儲到主控芯片地址為ADDR4的存儲空間;最后將第一測試激勵程序存儲到主控芯片地址為ADDR2的存儲空間,轉(zhuǎn)2.6.1.3); . 2.6.1.2)若待測試指令為控制類指令,首先在待測試指令前生成第二存儲指令,第二存儲指令作用為將當前狀態(tài)寄存器值存儲到主控芯片地址為ADDR4的存儲空間;然后在待測試指令后生成第三存儲指令,第三存儲指令作用為將執(zhí)行后狀態(tài)寄存器值存儲到主控芯片地址為ADDR4的存儲空間;最后將第一測試激勵程序存儲到主控芯片地址為ADDR2的存儲空間,轉(zhuǎn)2.6.1.3); .2.6.1.3)ADDR2增加一個地址位,ADDR4增加一個地址位,j增1,若j〈InsNum,表示所述待測試指令尚有指令模型沒有生成第一測試激勵程序,主控程序轉(zhuǎn)2.6.1),若j多InsNum,表示主控程序已經(jīng)為該待測試指令的所有指令模型生成第一測試激勵程序,若已經(jīng)為IN條待測試指令生成IN段第一測試激勵程序,轉(zhuǎn)2.7),否則,主控程序轉(zhuǎn)2.6.1),主控程序為下一條待測試指令生成第一測試激勵程序; .2.6.2)從控程序串行地為IN條待測試指令生成IN個第二測試激勵程序,為每條待測指令生成第二測試激勵程序的過程均相同,均包括以下步驟: .2.6.2.1)若待測試指令為運算類指令,首先從DataSet2中隨機選擇OpNum個操作數(shù);然后在待測試指令前生成搬移指令,搬移指令作用為將操作數(shù)搬移到對應的寄存器中;在待測試指令后生成第四存儲指令,第四存儲指令作用為將運算結果存儲到從控芯片地址為ADDRlO的存儲空間;最后將第二測試激勵程序存儲到從控芯片地址為ADDR7的存儲空間,轉(zhuǎn) 2.6.2.3); .2.6.2.2)若待測試指令為控制類指令,首先在待測試指令前生成第五存儲指令,第五存儲指令作用為將當前狀態(tài)寄存器值存儲到從控芯片地址為ADDRlO的存儲空間;然后在待測試指令后生成第第六存儲指令,第六存儲指令作用為將執(zhí)行后狀態(tài)寄存器值存儲到從控芯片地址為ADDRlO的存儲空間;最后將第二測試激勵程序存儲到從控芯片地址為ADDR7的存儲空間,轉(zhuǎn)2.6.2.3); .2.6.2.3)ADDR7增加一個地址位,ADDRlO增加一個地址位,k增1,若KInsNum,表示所述待測試指令尚有指令模型沒有生成第二測試激勵程序,從控程序轉(zhuǎn)2.6.2),若k ^ InsNum,表示從控程序已經(jīng)為該待測試指令的所有指令模型生成第二測試激勵程序,若已經(jīng)為IN條待測試指令生成IN段第二測試激勵程序,轉(zhuǎn)2.7);否則,從控程序轉(zhuǎn).2.6.2),為下一條待測試指令生成第二測試激勵程序; .2.7)從控程序?qū)⑼綐酥疚籗Flag置1,表示從控芯片已經(jīng)處于等待接收主控芯片發(fā)送IN個第一測試激勵程序的狀態(tài),轉(zhuǎn)2.8);同時,主控程序檢測從控程序同步標志位SFlag,如果SFlag = 1,表示從控程序處于等待狀態(tài),主控程序?qū)⑸傻腎N個第一測試激勵程序全部發(fā)送到從控芯片地址為ADDR8的存儲空間,主控程序轉(zhuǎn)2.8);否則,主控程序轉(zhuǎn).2.7); .2.8)主控程序?qū)Flag置1,表示主控芯片進入等待狀態(tài),主控程序轉(zhuǎn)2.9);同時從控程序檢測主控程序同步標志位MFlag,如果MFlag = 1,即主控程序處于等待狀態(tài),從控程序轉(zhuǎn)2.9);否則,從控程序轉(zhuǎn)2.8); .2.9)從控程序?qū)⑸傻腎N個第二測試激勵程序發(fā)送到主控芯片起始地址為ADDR3的存儲空間,同時主控程序接收從控程序發(fā)過來的IN個第二測試激勵程序; .2.10)主控程序根據(jù)RADDR2重載地址ADDR2的初始值并跳轉(zhuǎn)到地址ADDR2,順序執(zhí)行主控程序生成的IN個第一測試激勵程序,然后跳轉(zhuǎn)到地址ADDR3,順序執(zhí)行從控程序生成的IN個第二測試激勵程序,第一測試激勵程序執(zhí)行結果記錄在起始地址為ADDR4的存儲空間,第二測試激勵程序執(zhí)行結果記錄在起始地址為ADDR5的存儲空間;同時從控程序根據(jù)RADDR7重載地址ADDR7的初始值并跳轉(zhuǎn)到地址ADDR7,順序執(zhí)行從控程序生成的IN個第二測試激勵程序,然后跳轉(zhuǎn)到地址ADDR8,順序執(zhí)行主控程序生成的IN個第一測試激勵程序,第一測試激勵執(zhí)行結果和第二測試激勵程序執(zhí)行結果分別記錄在起始地址為ADDR9和ADDRlO的存儲空間; .2.11)從控程序?qū)⒌谝粶y試激勵執(zhí)行結果發(fā)送到主控芯片地址為ADDRll的存儲空間,將第二測試激勵程序執(zhí)行結果發(fā)送到主控芯片地址為ADDR12的存儲空間,并將從控程序執(zhí)行結果已返回標志位ResultFlag置1,從控程序轉(zhuǎn)2.12);同時主控程序檢測從控程序執(zhí)行結果已返回標志位ResultFlag,若ResultFlag = 1,表示從控程序已經(jīng)將從控芯片執(zhí)行IN個第一測試激勵程序和IN個第二測試激勵程序執(zhí)行結果返回給主控芯片,主控程序轉(zhuǎn)2.12);若ResultFlag = 0,表示從控程序還未將從控芯片執(zhí)行IN個第一測試激勵程序和IN個第二測試激勵程序執(zhí)行結果返回給主控芯片,主控程序轉(zhuǎn)2.11); .2.12)主控程序?qū)Ρ戎骺匦酒蛷目匦酒謩e執(zhí)行IN個第一測試激勵程序和IN個第二測試激勵程序的結果,如執(zhí)行結果不同,轉(zhuǎn)2.13);否則,LoopNuml增l,LoopNum2增1,主控程序轉(zhuǎn)2.12.1),同時從控程序轉(zhuǎn)2.12.2); . 2.12.1)主控程序比較LoopNuml和MAXL00P1的大小,若LoopNumKMAXLOOPl,表示主控程序尚未達到程序預定的循環(huán)次數(shù),主控程序轉(zhuǎn)2.4);若LoopNuml ^ MAXL00P1,表示主控程序已經(jīng)達到程序預定的循環(huán)次數(shù),向調(diào)試主機返回完成信號,主控程序轉(zhuǎn)2.14); . 2.12.2)從控程序比較LoopNum2和MAXL00P2的大小,若LoopNum2〈MAXL00P2,表示從控程序尚未達到程序預定的循環(huán)次數(shù),從控程序轉(zhuǎn)2.4);若LoopNum2 ^ MAXL00P2,表示從控程序已經(jīng)達到程序預定的循環(huán)次數(shù),結束從控程序; .2.13)主控程序記錄發(fā)生錯誤的第一測試激勵程序或第二測試激勵程序以及主控芯片和從控芯片執(zhí)行第一測試激勵程序或第二測試激勵程序的結果,并將記錄內(nèi)容通過JTAGl傳給調(diào)試主機; .2.14)結束主控程序,轉(zhuǎn)步驟三; 步驟三,如果調(diào)試主機接收到主控芯片通過JTAGl傳回的完成信號,驗證過程結束;如果調(diào)試主機收到主控芯片通過JTAGl傳回發(fā)生錯誤的第一測試激勵程序或第二測試激勵程序以及主控芯片和從控芯片執(zhí)行第一測試激勵程序或第二測試激勵程序的結果,調(diào)試主機顯示發(fā)生錯誤的第一測試激勵程序或第二測試激勵程序以及主控芯片和從控芯片執(zhí)行第一測試激勵程序或第二測試激勵程序的結果,驗證過程結束。
【專利摘要】本發(fā)明公開了一種面向兼容設計的微處理器硅后驗證裝置與驗證方法,目的是解決已有微處理器硅后功能兼容驗證技術存在的測試激勵生成速度慢、驗證結果檢查效率低和控制復雜等問題。本發(fā)明為“主‐從”雙芯片結構,由調(diào)試主機、開發(fā)板、主控芯片和從控芯片組成。調(diào)試主機上有主控程序和從控程序,主控芯片和從控芯片分別通過下載并運行主控程序和從控程序,在主控芯片和從控芯片上生成、運行測試激勵,并由主控程序負責將主控芯片和從控芯片對測試激勵程序的運行結果進行比對,最后在調(diào)試主機上顯示驗證結果。本發(fā)明無需人工干涉驗證過程,硬件平臺控制簡單,可有效提高硅后驗證的準確性和驗證效率。
【IPC分類】G06F17-50
【公開號】CN104573228
【申請?zhí)枴緾N201510004794
【發(fā)明人】郭陽, 劉暢, 扈嘯, 陳書明, 陳躍躍, 孫永節(jié), 魯建壯, 劉宗林
【申請人】中國人民解放軍國防科學技術大學
【公開日】2015年4月29日
【申請日】2015年1月6日
當前第6頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
北辰区| 深州市| 新沂市| 长子县| 洛浦县| 灯塔市| 星座| 富蕴县| 雷州市| 天柱县| 德庆县| 清水县| 阿坝县| 盐边县| 湘潭市| 收藏| 静海县| 怀仁县| 商城县| 金川县| 增城市| 车险| 西乌| 澎湖县| 定州市| 游戏| 密山市| 吴忠市| 怀宁县| 黄浦区| 濮阳县| 平安县| 桓台县| 拜城县| 晋城| 彭州市| 铁力市| 区。| 淮南市| 东光县| 同江市|