[发明专利]一种RISCV架构多核CPU CoSim比对方法及系统在审
| 申请号: | 202110683919.5 | 申请日: | 2021-06-21 |
| 公开(公告)号: | CN113656067A | 公开(公告)日: | 2021-11-16 |
| 发明(设计)人: | 郑丰翔;王仕文;张炜;余红斌 | 申请(专利权)人: | 广东赛昉科技有限公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30 |
| 代理公司: | 上海邦德专利代理事务所(普通合伙) 31312 | 代理人: | 袁步兰 |
| 地址: | 528300 广东省佛山市顺德*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 riscv 架构 多核 cpu cosim 方法 系统 | ||
1.一种RISCV架构多核CPU CoSim比对方法,其特征在于,所述方法依次定义函数mcc_item_create、函数mcc_item_exec、函数mcc_item_commit和函数mcc_store_perform进行维护Model的load和store指令状态,将load和store指令拆分为多个动作,通过采集DUT动作的时刻,进行控制model执行的时间,使得执行DUT CPU的执行流水线时与DUT完全匹配,进而完成多核CPU CoSim比对。
2.根据权利要求1所述的RISCV架构多核CPU CoSim比对方法,其特征在于,所述方法定义函数mcc_item_create时,当指令走到dispatch stage的时候,判断为load/store指令,则调用该函数申请一个item,存入mcc_global_q相应core的队列中,并将该item的状态置为INIT状态。
3.根据权利要求1所述的RISCV架构多核CPU CoSim比对方法,其特征在于,所述方法定义函数mcc_item_exec时,当指令走到ex2stage的时候,取出DUT的paddr/vaddr/data,并根据id匹配一笔load/store,将其存入队列,并将该item的状态改为EXEC状态。
4.根据权利要求3所述的RISCV架构多核CPU CoSim比对方法,其特征在于,所述方法定义函数mcc_item_exec时,如果该指令是load,则将model的值与DUT load的值进行比较,如果不一致,则DUT错误,此时model的值,先搜索该core的mcc_global_q,如果找到匹配的地址,则优先用mcc_global_q中的值,如果mcc_global_q中没有,则从memory中读取。
5.根据权利要求1所述的RISCV架构多核CPU CoSim比对方法,其特征在于,所述方法定义函数mcc_item_commit时,当指令走到commit stage的时候,遍历mcc_global_q,检查当前需要commit的指令,再找到id匹配的当前指令item,之后将item的state置为COMMITTED。
6.根据权利要求5所述的RISCV架构多核CPU CoSim比对方法,其特征在于,所述方法定义函数mcc_item_commit时,如果当前指令是store,则先将该store操作的地址的值临时保存起来,再让model执行一步,再将model的执行结果与DUT的data进行比较,并在执行完之后将前面临时保存起来的值反向注入到model里面,将该地址的值还原;
如果当前指令是load,则直接让model执行一步,再将DUT的值反向注入model的GPR中,修改model的GPR,将其从mcc_global_q中删除。
7.根据权利要求1所述的RISCV架构多核CPU CoSim比对方法,其特征在于,所述方法定义函数mcc_store_perform时,当一条store指令真正写memory的时候,搜索mcc_global_q将匹配的store item,真正写入memory,并把该store从mcc_global_q中删除,从而完成整个store的流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东赛昉科技有限公司,未经广东赛昉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110683919.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种MPLSVPN业务故障定位方法及装置
- 下一篇:高压充放电二级保护电路





