一种加快SOC芯片仿真的方法与流程

文档序号:14685854发布日期:2018-06-14 21:41阅读:来源:国知局
技术特征:

1.一种加快SOC芯片仿真的方法,其特征在于:包括:

步骤1、通过一测试激励c代码文件来存储SOC芯片中的CPU在测试中准备运行的所有c程序代码;

步骤2、通过程序编译器读取所述测试激励c代码文件中的c程序代码进行编译,产生汇编程序;

步骤3、通过程序分析修改单元读取所述汇编程序和所有的可访问模块地址区间信息,收集所有汇编代码中的地址操作相关代码,把有进行地址操作的地址进行汇总,然后在每个涉及地址操作的指令后加一条log打印指令,以将每个涉及地址操作的指令涉及的地址变量或者常量打印出来;

步骤4、在rtl仿真平台上使用修改后的汇编代码对rtl设计进行rtl仿真,产生地址操作log文件;且所述rtl仿真平台在进行仿真前的工作流程包括:

S1、cpu在BOOT复位后进入复位跳转处理,会将获取指令地址跳转到指定的boot程序存放地址,也就是测试激励c代码文件的程序对应的存放地址;

S2、从boot地址完成指令读取后,开始执行指令,第一条指令内容为读取当前运行CPU的ID号,如果ID不为零则运行WFI指令;

S3、完成ID判断后,将系统从boot起来时使用的晶振电路产生的低速时钟切换为PLL输出的高速时钟,使仿真时间大幅缩短;

S4、完成上面的操作后,指令跳往主仿真程序的存放地址开始执行仿真激励;

步骤5、涉及IP分析修改单元读取地址操作log文件和所有的可访问模块地址区间信息,收集所有地址操作log文件中的地址值,把有进行地址操作的地址进行汇总;

再根据所有的可访问模块地址区间进行比较,看有哪一些模块没有任何的地址操作,然后把涉及地址操作的模块编号发送到网表组合单元;

步骤6、网表组合单元收到涉及地址操作的模块编号后,到模块网表库中读取模块的网表设计,然后到模块rtl空壳库中读取剩余模块对应的模块rtl空壳,最后合并成一个完整的SOC设计,作为验证对象准备进行验证;

步骤7、在网表验证平台上使用原始测试激励程序对所述验证对象进行仿真,得到仿真波形。

2.根据权利要求1所述的一种加快SOC芯片仿真的方法,其特征在于:所述步骤3的具体过程是:使用vi程序打开汇编代码,然后使用perl的正则表达式找出汇编代码中所有涉及地址操作的汇编指令的位置,然后在每个地址操作指令后面增加一个log打印指令,该指令不影响仿真电路行为,只是将地址指令中操作的地址变量或者常量打印到一个log文件。

3.根据权利要求1所述的一种加快SOC芯片仿真的方法,其特征在于:所述步骤5中根据所有的可访问模块地址区间进行比较,看有哪一些模块没有任何的地址操作,然后把涉及地址操作的模块编号发送到网表组合单元的具体过程是:

使用vi程序打开汇编代码,然后使用perl的正则表达式找出操作地址从属于哪个模块的地址区间,然将对应模块的ID编号记录下来送往网表组合单元。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1