SoC處理器指令驗(yàn)證方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種SoC處理器指令驗(yàn)證方法,包括如下的步驟:1)根據(jù)指令格式Format3,建立指令數(shù)據(jù)組合<rs1,rs2,rd>,其中rs1,rs2,rd∈r寄存器或f寄存器;2)依據(jù)SPARC?V8寄存器組織結(jié)構(gòu),建立數(shù)據(jù)rd和rs1、rs2的數(shù)據(jù)相關(guān)性,得到交互數(shù)據(jù)組合集合Rdom={<rsi,rsj,rd>|rd=rsi或rd=rsj,i,j=0,…,31};3)將Rdom集合中的數(shù)據(jù)填入Format3格式的指令碼中,得到數(shù)據(jù)交互指令集合Idom;4)依據(jù)指令流水線級(jí)數(shù),從Idom中任意選取流水線級(jí)數(shù)個(gè)指令組成交叉指令進(jìn)行驗(yàn)證。本發(fā)明SoC處理器指令驗(yàn)證方法,可以實(shí)現(xiàn)對(duì)具有數(shù)據(jù)交互功能的指令進(jìn)行驗(yàn)證,可以大大提高測(cè)試驗(yàn)證的覆蓋率,使SoC處理器可靠性指數(shù)級(jí)提高。
【專(zhuān)利說(shuō)明】SoC處理器指令驗(yàn)證方法
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及一種基于SPARC V8架構(gòu)的SoC指令集交叉驗(yàn)證方法,具體涉及一種SoC處理器指令驗(yàn)證方法。
【【背景技術(shù)】】
[0002]SPARC V8架構(gòu)廣泛應(yīng)用于國(guó)產(chǎn)SoC處理器的設(shè)計(jì)和應(yīng)用。SPARC V8架構(gòu)提供開(kāi)源的開(kāi)源微處理器IP軟核,包含整數(shù)硬件乘法和除法單元、雙協(xié)處理器接口(FPU浮點(diǎn)處理單元和Co-processor協(xié)處理器),分離的指令和數(shù)據(jù)總線;提供高速的AMBA-AHB總線實(shí)現(xiàn)指令緩存和數(shù)據(jù)緩存分別和內(nèi)存控制器及高速的外部接口相互傳輸數(shù)據(jù);提供低速的AMBA-APB總線實(shí)現(xiàn)片上外設(shè)的接口。該軟核具有非常良好的可配置性和可移植性,在VHDL源代碼的基礎(chǔ)上,結(jié)合具體需求加入定制的運(yùn)算單元和外設(shè)接口便可以建立國(guó)產(chǎn)的SoC系統(tǒng)。但是,國(guó)產(chǎn)SoC要想獲得國(guó)內(nèi)業(yè)界的認(rèn)可和進(jìn)一步的應(yīng)用仍需在功能可靠性方面做系統(tǒng)性的測(cè)試驗(yàn)證,尤其要將作為SoC芯片實(shí)現(xiàn)運(yùn)算和控制功能核心的微處理器指令集功能的驗(yàn)證放在可靠性驗(yàn)證工作的第一位。
[0003]現(xiàn)有的指令驗(yàn)證并沒(méi)有系統(tǒng)的驗(yàn)證方法,基本都是依據(jù)SPARC V8手冊(cè)中列出的IU和FPU指令進(jìn)行單條指令功能的驗(yàn)證,忽略了指令與存儲(chǔ)器等高速接口交互數(shù)據(jù)易受到設(shè)計(jì)時(shí)序和邏輯不嚴(yán)謹(jǐn)、不規(guī)范的不利影響,存在測(cè)試驗(yàn)證覆蓋性不足的缺點(diǎn)。
【
【發(fā)明內(nèi)容】
】
[0004]本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供了一種SoC處理器指令驗(yàn)證方法。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明采用如下的技術(shù)方案:
[0006]SoC處理器指令驗(yàn)證方法,其特征在于,包括如下的步驟:
[0007]I)根據(jù)指令格式Format3,建立指令數(shù)據(jù)組合〈rsl, rs2, rd>,其中rsl, rs2, rd e r寄存器或f寄存器;
[0008]2)依據(jù)SPARC V8寄存器組織結(jié)構(gòu),建立數(shù)據(jù)rd和rsl、rs2的數(shù)據(jù)相關(guān)性,得到交互數(shù)據(jù)組合集合 Rdrail = Krsi, rsj, rd> | rd = rSi 或 rd = rsj, i, j = 0,…,31};
[0009]3)將Rd(M集合中的數(shù)據(jù)填入Format3格式的指令碼中,得到數(shù)據(jù)交互指令集合
I dom ?
[0010]4)依據(jù)指令流水線級(jí)數(shù),從Idrail中任意選取流水線級(jí)數(shù)個(gè)指令組成交叉指令進(jìn)行驗(yàn)證。
[0011]本發(fā)明進(jìn)一步改進(jìn)在于,針對(duì)浮點(diǎn)單精度數(shù)據(jù)操作指令(fmuls rsl, rs2, rd),其指令驗(yàn)證方法包括如下的步驟:
[0012]a)建立數(shù)據(jù)組合〈rsl, rs2, rd>,其中 rsl, rs2, rd e f 寄存器;
[0013]b)根據(jù)f寄存器組織結(jié)構(gòu),得到交互數(shù)據(jù)組合集合Rd? ;
[0014]c)將Rdran進(jìn)行指令碼填充,得到浮點(diǎn)單精度懲罰指令集合;
[0015]d)從浮點(diǎn)單精度指令集合中,任意選取5條指令進(jìn)行組合得到交叉指令;
[0016]至此,完成對(duì)浮點(diǎn)單精度數(shù)據(jù)操作指令(fmuls rsl,rs2,rd)的驗(yàn)證。
[0017]本發(fā)明進(jìn)一步改進(jìn)在于,步驟b)中,根據(jù)f寄存器組織結(jié)構(gòu),得到交互數(shù)據(jù)組合集合Rdtjm,部分組合如下:
[0018]<f0, fO, f0>, <f0, fl, f0>, <f0, f2, f0>,......
[0019]<fl, fO, f0>, <f2, fO, f0>, <f3, fO, f0>,......
[0020]......
[0021]<fl, f31, f31>, <f2, f31, f31>, <f3, f31, f31>,......。
[0022]本發(fā)明進(jìn)一步改進(jìn)在于,步驟c)中,將Rdrail進(jìn)行指令碼填充,得到浮點(diǎn)單精度懲罰指令集合的部分指令如下:
[0023]
【權(quán)利要求】
1.SoC處理器指令驗(yàn)證方法,其特征在于,包括如下的步驟: 1)根據(jù)指令格式Format3,建立指令數(shù)據(jù)組合〈rsl,rs2, rd>,其中rsl, rs2, rd e r寄存器或f寄存器; 2)依據(jù)SPARCV8寄存器組織結(jié)構(gòu),建立數(shù)據(jù)rd和rsl、rs2的數(shù)據(jù)相關(guān)性,得到交互數(shù)據(jù)組合集合 Rdom = Krsi, rsj, rd> | rd = rSi 或 rd = rsj, i, j = 0,…,31};3)將Rd?集合中的數(shù)據(jù)填入Format3格式的指令碼中,得到數(shù)據(jù)交互指令集合Idrail; 4)依據(jù)指令流水線級(jí)數(shù),從1-中任意選取流水線級(jí)數(shù)個(gè)指令組成交叉指令進(jìn)行驗(yàn)證。
2.根據(jù)權(quán)利要求1所述的SoC處理器指令驗(yàn)證方法,其特征在于,針對(duì)浮點(diǎn)單精度數(shù)據(jù)操作指令,其指令驗(yàn)證方法包括如下的步驟: a)建立數(shù)據(jù)組合〈rsl,rs2, rd>,其中rsl, rs2, rd e f寄存器; b)根據(jù)f寄存器組織結(jié)構(gòu),得到交互數(shù)據(jù)組合集合R-; c)將R-進(jìn)行指令碼填充,得到浮點(diǎn)單精度懲罰指令集合; d)從浮點(diǎn)單精度指 令集合中,任意選取5條指令進(jìn)行組合得到交叉指令; 至此,完成對(duì)浮點(diǎn)單精度數(shù)據(jù)操作指令的驗(yàn)證。
3.根據(jù)權(quán)利要求2所述的SoC處理器指令驗(yàn)證方法,其特征在于,步驟b)中,根據(jù)f寄存器組織結(jié)構(gòu),得到交互數(shù)據(jù)組合集合R-,部分組合如下:
<f0, fO, f0>, <f0, fl, f0>, <f0, f2, f0>,......<fl, fO, f0>, <f2, fO, f0>, <f3, fO, f0>,......<fl, f31, f31>, <f2, f31, f31>, <f3, f31, f31>,......。
4.根據(jù)權(quán)利要求2所述的SoC處理器指令驗(yàn)證方法,其特征在于,步驟c)中,將R-進(jìn)行指令碼填充,得到浮點(diǎn)單精度懲罰指令集合的部分指令如下:
5.根據(jù)權(quán)利要求2所述的SoC處理器指令驗(yàn)證方法,其特征在于,步驟d)中,從浮點(diǎn)單精度指令集合中,任意選取5條指令進(jìn)行組合得到交叉指令如下:
【文檔編號(hào)】G06F9/30GK104182205SQ201410406272
【公開(kāi)日】2014年12月3日 申請(qǐng)日期:2014年8月18日 優(yōu)先權(quán)日:2014年8月18日
【發(fā)明者】寧寧 申請(qǐng)人:中國(guó)航天科技集團(tuán)公司第九研究院第七七一研究所