一种指令流寄存器的映射方法、结构、存储介质及芯片技术

技术编号:38753316 阅读:18 留言:0更新日期:2023-09-10 09:37
本发明专利技术提供一种指令流寄存器的映射方法、存储介质及芯片,对指令流进行分组,并设置同时处于执行操作的指令组数;将每一条指令内的逻辑源寄存器进行比较,找出相同的逻辑源寄存器,并将相同的逻辑源寄存器设置标识符;将每一组内最后一条指令的各个逻辑源寄存器分别与该组内其他指令的逻辑源寄存器进行比较,找出指令之间相同的逻辑源寄存器并设置识别符;将所有指令中没有设置标识符与识别符的逻辑源寄存器进行映射操作。通过指令内逻辑源寄存器的比较设置标识符,通过指令之间的比较设置识别符,基于标识符与识别符以确定真正需要遍历寄存器映射表的逻辑源寄存器,极大地节约芯片资源,提高验证效率,缩短验证的时间,具有广泛地适用性。泛地适用性。泛地适用性。

【技术实现步骤摘要】
一种指令流寄存器的映射方法、结构、存储介质及芯片


[0001]本专利技术涉及芯片验证
,特别是涉及一种指令流寄存器的映射方法、结构、存储介质及芯片。

技术介绍

[0002]随着集成电路向微观化发展,芯片验证的复杂度越来越高,验证所消耗的时间越来越长,为了降低验证的复杂度并缩短验证时间,通常采用分层验证平台去实施验证过程,以避免在单元级的设计缺陷流入到下一级验证流程当中,从而导致整个芯片数据流的紊乱,同时在芯片测试的流程中,单元级的测试用例可以复用至下一级验证流程当中。芯片内核的功能验证也采用了分层验证平台,通过寄存器映射的方式实施功能验证,而寄存器在映射之前往往需要遍历寄存器映射表,会存在相同寄存器重复遍历的现象,重复遍历会极大地消耗芯片资源,降低功能验证的效率,使验证时间大幅度增加。
[0003]应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的
技术介绍
部分进行了阐述而认为上述技术方案为本领域技术人员所公知。

技术实现思路

[0004]鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种指令流寄存器的映射方法、结构、存储介质及芯片,用于解决现有技术中对芯片进行功能验证时,芯片资源消耗过大、验证效率不足以及验证时间过大的问题。
[0005]为实现上述目的及其他相关目的,本专利技术提供一种指令流寄存器的映射方法,所述映射方法至少包括:
[0006]步骤1:基于芯片的内核体系结构与资源对指令流进行分组,并设置同时处于执行操作的指令组数;
[0007]步骤2:将每一条指令内的逻辑源寄存器进行比较,找出相同的逻辑源寄存器,并将相同的逻辑源寄存器设置标识符;
[0008]步骤3:将每一组内最后一条指令的各个逻辑源寄存器分别与该组内其他指令的逻辑源寄存器进行比较,找出指令之间相同的逻辑源寄存器并设置识别符;
[0009]步骤4:将所有指令中没有设置标识符与识别符的逻辑源寄存器进行映射操作。
[0010]可选地,每一组指令的种类包括:分支指令、读写寄存器指令、定点指令及浮点指令;组内每一类指令的条数小于等于2。
[0011]可选地,所述基于芯片的内核体系结构与资源对指令流进行分组包括:
[0012]步骤11:判断指令是否为分支指令,如果是分支指令则继续判断分支指令计数器是否大于预设数值;如果大于预设数值,则为指令指定的组号递增1;如果小于等于预设数值,则指令指定的组号不变;当组资源使用完毕,则等待指令执行完毕,对组资源进行释放;如果指令不是分支指令,则执行步骤12;
[0013]步骤12:判断指令是否为读写寄存器指令,如果是读写寄存器指令则继续判断读写寄存器指令计数器是否大于预设数值;如果大于预设数值,则为指令指定的组号递增1;如果小于等于预设数值,则指令指定的组号不变;当组资源使用完毕,则等待指令执行完毕,对组资源进行释放;如果指令不是读写寄存器指令,则执行步骤13;
[0014]步骤13:判断指令是否为定点指令,如果是定点指令则继续判断定点指令计数器是否大于预设数值;如果大于预设数值,则为指令指定的组号递增1;如果小于等于预设数值,则指令指定的组号不变;当组资源使用完毕,则等待指令执行完毕,对组资源进行释放;如果指令不是定点指令,则执行步骤14;
[0015]步骤14:判断指令是否为浮点指令,如果是浮点指令则继续判断浮点指令计数器是否大于预设数值;如果大于预设数值,则为指令指定的组号递增1;如果小于等于预设数值,则指令指定的组号不变;当组资源使用完毕,则等待指令执行完毕,对组资源进行释放;如果指令不是浮点指令,则执行步骤15;
[0016]步骤15:判断指令是否为指令流中的最后一条指令,如果不是,则重复执行步骤11至步骤14;如果是,则结束分组的流程。可选地,所述将每一条指令内的逻辑源寄存器进行比较包括:
[0017]步骤21:从指令流中取出一条指令,判断该指令中第一逻辑源寄存器与第二逻辑源寄存器是否有效;如果无效,则执行步骤24;如果有效,则判断第一逻辑源寄存器与第二逻辑源寄存器是否相等;如果第一逻辑源寄存器与第二逻辑源寄存器相等,则设置第一逻辑源寄存器与第二逻辑源寄存器相等的标识符,然后进入步骤22;如果第一逻辑源寄存器与第二逻辑源寄存器不相等,则直接进入步骤22;
[0018]步骤22:判断该指令中第一逻辑源寄存器与第三逻辑源寄存器是否有效;如果无效,则执行步骤24;如果有效,则判断第一逻辑源寄存器与第三逻辑源寄存器是否相等;如果第一逻辑源寄存器与第三逻辑源寄存器相等,则设置第一逻辑源寄存器与第三逻辑源寄存器相等的标识符,然后进入步骤23;如果第一逻辑源寄存器与第三逻辑源寄存器不相等,则直接进入步骤23;
[0019]步骤23:判断该指令中第二逻辑源寄存器与第三逻辑源寄存器是否有效;如果无效,则执行步骤24;如果有效,则判断第二逻辑源寄存器与第三逻辑源寄存器是否相等;如果第二逻辑源寄存器与第三逻辑源寄存器相等,则设置第二逻辑源寄存器与第三逻辑源寄存器相等的标识符,然后进入步骤24;如果第二逻辑源寄存器与第三逻辑源寄存器不相等,则直接进入步骤24;
[0020]步骤24:判断该指令是否是指令流中最后一条指令,如果不是,则重复执行步骤21至步骤23;如果是,则结束指令内的逻辑源寄存器的比较过程。
[0021]可选地,所述将每一组内最后一条指令的各个逻辑源寄存器分别与该组内其他指令的逻辑源寄存器进行比较包括:
[0022]步骤31:从指令流中取出一组指令,找出组内全部的有效指令,找出从第一条指令到最后一条指令中有效的逻辑源寄存器;
[0023]步骤32:判断第一条指令的逻辑源寄存器与第二条指令的逻辑源寄存器是否分别相同,如果相同,则设置识别符;如果不同,判断第一条指令的逻辑源寄存器与第三条指令的逻辑源寄存器是否分别相同,如果相同,则设置识别符;如果不同,则判断第一条指令的
逻辑源寄存器与第四条指令的逻辑源寄存器是否分别相同;以此类推,直到第一条指令的逻辑源寄存器与最后一条指令的逻辑源寄存器进行对比;
[0024]步骤33:参照步骤32的操作,将第二条指令的逻辑源寄存器分别与第三条指令的逻辑源寄存器、第四条指令的逻辑源寄存器直至最后一条指令的逻辑源寄存器进行对比;
[0025]步骤34:判断是否执行到组内最后一条指令,如果否,则从指令流中取出下一组指令依据步骤31至步骤33的过程执行操作;如果是,则结束指令之间的逻辑源寄存器的比较过程。
[0026]可选地,所述将所有指令中没有设置标识符与识别符的逻辑源寄存器进行映射操作包括:
[0027]步骤41:从指令流中取出一条指令,从该指令中取出逻辑源寄存器,判断逻辑源寄存器是否为目的寄存器,如果不是目的寄存器则进入步骤42;如果是目的寄存器,则进入步骤46;
[0028]步骤42:查找每一条指令内的逻辑本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令流寄存器的映射方法,其特征在于,所述映射方法至少包括:步骤1:基于芯片的内核体系结构与资源对指令流进行分组,并设置同时处于执行操作的指令组数;步骤2:将每一条指令内的逻辑源寄存器进行比较,找出相同的逻辑源寄存器,并将相同的逻辑源寄存器设置标识符;步骤3:将每一组内最后一条指令的各个逻辑源寄存器分别与该组内其他指令的逻辑源寄存器进行比较,找出指令之间相同的逻辑源寄存器并设置识别符;步骤4:将所有指令中没有设置标识符与识别符的逻辑源寄存器进行映射操作。2.根据权利要求1所述的映射方法,其特征在于:每一组指令的种类包括:分支指令、读写寄存器指令、定点指令及浮点指令。3.根据权利要求2所述的映射方法,其特征在于:所述基于芯片的内核体系结构与资源对指令流进行分组包括:步骤11:判断指令是否为分支指令,如果是分支指令则继续判断分支指令计数器是否大于预设数值;如果大于预设数值,则为指令指定的组号递增1;如果小于等于预设数值,则指令指定的组号不变;当组资源使用完毕,则等待指令执行完毕,对组资源进行释放;如果指令不是分支指令,则执行步骤12;步骤12:判断指令是否为读写寄存器指令,如果是读写寄存器指令则继续判断读写寄存器指令计数器是否大于预设数值;如果大于预设数值,则为指令指定的组号递增1;如果小于等于预设数值,则指令指定的组号不变;当组资源使用完毕,则等待指令执行完毕,对组资源进行释放;如果指令不是读写寄存器指令,则执行步骤13;步骤13:判断指令是否为定点指令,如果是定点指令则继续判断定点指令计数器是否大于预设数值;如果大于预设数值,则为指令指定的组号递增1;如果小于等于预设数值,则指令指定的组号不变;当组资源使用完毕,则等待指令执行完毕,对组资源进行释放;如果指令不是定点指令,则执行步骤14;步骤14:判断指令是否为浮点指令,如果是浮点指令则继续判断浮点指令计数器是否大于预设数值;如果大于预设数值,则为指令指定的组号递增1;如果小于等于预设数值,则指令指定的组号不变;当组资源使用完毕,则等待指令执行完毕,对组资源进行释放;如果指令不是浮点指令,则执行步骤15;步骤15:判断指令是否为指令流中的最后一条指令,如果不是,则重复执行步骤11至步骤14;如果是,则结束分组的流程。4.根据权利要求1所述的映射方法,其特征在于:所述将每一条指令内的逻辑源寄存器进行比较包括:步骤21:从指令流中取出一条指令,判断该指令中第一逻辑源寄存器与第二逻辑源寄存器是否有效;如果无效,则执行步骤24;如果有效,则判断第一逻辑源寄存器与第二逻辑源寄存器是否相等;如果第一逻辑源寄存器与第二逻辑源寄存器相等,则设置第一逻辑源寄存器与第二逻辑源寄存器相等的标识符,然后进入步骤22;如果第一逻辑源寄存器与第二逻辑源寄存器不相等,则直接进入步骤22;步骤22:判断该指令中第一逻辑源寄存器与第三逻辑源寄存器是否有效;如果无效,则执行步骤24;如果有效,则判断第一逻辑源寄存器与第三逻辑源寄存器是否相等;如果第一
逻辑源寄存器与第三逻辑源寄存器相等,则设置第一逻辑源寄存器与第三逻辑源寄存器相等的标识符,然后进入步骤23;如果第一逻辑源寄存器与第三逻辑源寄存器不相等,则直接进入步骤23;步骤23:判断该指令中第二逻辑源寄存器与第三逻辑源寄存器是否有效;如果无效,则执行步骤24;如果有效,则判断第二逻辑源寄存器与第三逻辑源寄存器是否相等;如果第二逻辑源寄存器与第三逻辑源寄存器相等,则设置第二逻辑源寄存器与第三逻辑源寄存器相等的标识符,然后进入步骤24;如果第二逻辑源寄存器与第三逻辑源寄存器不相等,则直接进入步骤24;步骤24:判断该指令是否是指令流中最后一条指令,如果不是,则重复执行步骤2...

【专利技术属性】
技术研发人员:黄晶冯春阳刘刚
申请(专利权)人:北京市合芯数字科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1