发明名称 随机测试程序生成方法和系统以及设计验证方法
摘要 本发明提供一种随机测试程序生成方法,包括下列步骤:1)编写并解析指令模板,并构建约束网络;2)利用小桶间的相容度计算小桶的计数函数;3)基于所述计数函数根据所述约束网络来计算随机变量的随机解;4)利用所述随机解设置指令的操作数,生成由所述指令构成的随机测试程序。利用该方法生成的测试程序更广,减少了实际RTL仿真时的时间消耗,同时也降低了出错时的调试难度。
申请公布号 CN101551749B 申请公布日期 2012.08.22
申请号 CN200910083767.4 申请日期 2009.05.11
申请人 中国科学院计算技术研究所 发明人 王玲;沈海华;李潮激
分类号 G06F9/44(2006.01)I;G06F17/50(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 北京泛华伟业知识产权代理有限公司 11280 代理人 王勇;姜华
主权项 1.一种用于微处理器的指令级功能验证的随机测试程序生成方法,包括下列步骤:1)编写并解析指令模板,并构建约束网络;2)用小桶间的相容度计算小桶的计数函数,其中:根据公式<img file="FSB00000818172600011.GIF" wi="490" he="84" />生成桶bucket<sub>p</sub>中的小桶bucket<sub>pi</sub>的初始计数函数<img file="FSB00000818172600012.GIF" wi="97" he="66" />其中1≤p≤桶个数,1≤i≤桶bucket<sub>p</sub>中小桶个数t,X<sub>p</sub>是所述桶bucket<sub>p</sub>中的随机变量,N<sub>l</sub>是分到所述小桶bucket<sub>pi</sub>的计数函数或约束条件,1≤l≤小桶bucket<sub>pi</sub>中的计数函数和约束条件个数;根据<maths num="0001"><![CDATA[<math><mrow><msub><mi>&rho;</mi><mi>i</mi></msub><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>j</mi><mo>&NotEqual;</mo><mi>i</mi></mrow><mi>t</mi></munderover><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><mi>s</mi><mo>&Element;</mo><msub><mi>S</mi><mi>pj</mi></msub></mrow></msub><mi>min</mi><mrow><mo>(</mo><msubsup><mi>N</mi><mi>j</mi><msup><mi>p</mi><mo>*</mo></msup></msubsup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mo>|</mo><msub><mi>S</mi><mi>pj</mi></msub><mo>|</mo></mrow></mfrac></mrow></math>]]></maths>估算在所述小桶bucket<sub>pi</sub>中对变量X<sub>p</sub>取不同值时所述小桶bucket<sub>pi</sub>与所述桶bucket<sub>p</sub>中其它小桶bucket<sub>pj</sub>的相容度ρ<sub>i</sub>,其中1≤j≤小桶个数t,S<sub>pj</sub>为所述小桶bucket<sub>pj</sub>中除X<sub>p</sub>外的随机变量集合,s表示S<sub>pj</sub>中的变量,<img file="FSB00000818172600014.GIF" wi="69" he="71" />表示小桶bucket<sub>pj</sub>的计数函数;根据<img file="FSB00000818172600015.GIF" wi="525" he="80" />计算所述小桶bucket<sub>pi</sub>的计数函数<img file="FSB00000818172600016.GIF" wi="88" he="53" />并把所述计数函数<img file="FSB00000818172600017.GIF" wi="63" he="53" />分到S<sub>pi</sub>中序号数最大的随机变量对应的小桶中;3)基于所述计数函数根据所述约束网络来计算随机变量的随机解;4)利用所述随机解设置指令的操作数,生成由所述指令构成的随机测试程序。
地址 100190 北京市海淀区中关村科学院南路6号