本申请实施例涉及数字验证,具体涉及一种芯片设计仿真方法及相关设备。
背景技术:
1、待测设计是芯片系统在完成设计得到芯片设计之后,在仿真平台上进行仿真验证的设计,以确保芯片设计的功能正确性。在进行芯片设计的仿真验证时,仿真平台上会并行执行多个仿真线程和行为线程。
2、仿真线程用于描述仿真平台的仿真过程,行为线程用于描述待测设计的设计信号对应的电路行为(例如待测设计所描述的逻辑电路中,信号值的传输与更新)。在仿真验证时,仿真线程的启动执行受到行为线程对应的,设计信号的信号值的变化的控制,因此如何实现实时监测行为线程对应的设计信号的信号值的变化情况,提高芯片设计的仿真结果的准确性,成为了本领域技术人员亟需解决的技术问题。
技术实现思路
1、有鉴于此,本发明实施例提供一种芯片设计仿真方法及相关设备,提高总线协议验证可靠性。
2、为实现上述目的,本发明实施例提供如下技术方案。
3、第一方面,本发明实施例提供一种芯片设计仿真方法,应用于仿真平台的硬件程序执行模块,包括:
4、利用获取的仿真线程调用等待任务,并向所述等待任务持续发送待测设计的设计信号;
5、监测所述等待任务持续接收的设计信号的信号值;
6、响应于所述设计信号的信号值发生改变,执行受到信号值发生改变的设计信号对应的行为线程控制的仿真线程,对所述待测设计进行仿真。
7、第二方面,本发明实施例提供一种芯片设计仿真方法,应用于仿真平台的软件程序执行模块,包括:
8、获取待测设计的设计信号,所述待测设计的设计信号基于仿真线程调用的等待任务获取;
9、在所述设计信号的信号值发生改变时,确定出受到信号值发生改变的设计信号对应的行为线程控制的仿真线程,以使硬件程序执行模块执行所确定出的仿真线程。
10、第三方面,本发明实施例提供一种芯片设计仿真平台,包括:
11、硬件程序执行模块,被配置为执行第一方面所述的芯片设计仿真方法;
12、软件程序执行模块,被配置为执行第二方面所述的芯片设计仿真方法,用于根据所述硬件程序执行模块调用等待任务的仿真线程,在行为线程上注册回调函数,所述仿真线程的执行情况由信号值发生改变的设计信号对应的行为线程控制。
13、第四方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有程序,所述处理器调用所述存储器中存储的程序,执行如第一方面所述的芯片设计仿真方法,或执行如第二方面所述的芯片设计仿真方法。
14、第五方面,本发明实施例提供一种存储介质,所述存储介质存储有程序,所述程序被执行时实现如第一方面所述的芯片设计仿真方法,或实现如第二方面所述的芯片设计仿真方法。
15、第六方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的芯片设计仿真方法的步骤,或实现如第二方面所述的芯片设计仿真方法的步骤。
16、本发明实施例提供的芯片设计仿真方法,首先利用获取的仿真线程调用等待任务,并向等待任务持续发送待测设计的设计信号;然后监测所述等待任务持续接收的设计信号的信号值;响应于所述设计信号的信号值发生改变,执行受到信号值发生改变的设计信号对应的行为线程控制的仿真线程,对所述待测设计进行仿真。
17、由于仿真线程是描述仿真平台的仿真过程的,在对待测设计进行仿真验证时,仿真线程的执行需要根据行为线程对应的设计信号的信号值的变化进行确定,但是由于仿真平台所执行的仿真线程的程序语言规则限制,使得硬件程序执行模块执行仿真线程时,无法实时监测行为线程中设计信号的信号值,进而导致设计信号的信号值的监测出现错误,影响芯片设计的仿真准确性。基于此,本发明实施例提供的芯片设计仿真方法,一方面,由于等待任务中可以持续接收(即同步接收)来自硬件程序执行模块传递的待测设计的设计信号,从而可以实现对于硬件程序执行模块上运行的行为线程的设计信号的信号值的实时监测;另一方面,在监测到所述等待任务中接收的设计信号的信号值发生改变时,可以直接响应于设计信号的信号值的改变,执行受到信号值发生改变的设计信号对应的行为线程控制的仿真线程(表示仿真线程为可执行的仿真线程),对所述待测设计进行仿真,可以通过等待任务的调用来实现可执行的仿真线程的确定过程,从而可以避免仿真平台所执行的仿真线程的程序语言规则限制,且可以直接准确的执行受到信号值改变的设计信号对应的行为线程控制的仿真线程,达到提高芯片设计的仿真结果的准确性的目的。
1.一种芯片设计仿真方法,其特征在于,应用于仿真平台的硬件程序执行模块,包括:
2.如权利要求1所述的芯片设计仿真方法,其特征在于,所获取的仿真线程的数量为至少两个,所述方法还包括:
3.如权利要求1或2所述的芯片设计仿真方法,其特征在于,所述响应于所述设计信号的信号值发生改变,执行受到信号值发生改变的设计信号对应的行为线程控制的仿真线程,对所述待测设计进行仿真,包括:
4.如权利要求3所述的芯片设计仿真方法,其特征在于,所述等待任务对应的任务内容包括对设计信号的当前时刻的信号值进行检测,以确定当前时刻的信号值是否与上一时刻的信号值相同,或对设计信号的当前时刻的信号值进行检测,以确定当前时刻的信号值是否与期望的信号值相同。
5.如权利要求4所述的芯片设计仿真方法,其特征在于,所述向所述等待任务持续发送待测设计的设计信号包括:
6.一种芯片设计仿真方法,其特征在于,应用于仿真平台的软件程序执行模块,包括:
7.如权利要求6所述的芯片设计仿真方法,其特征在于,所获取的仿真线程的数量为至少两个,所述在所述设计信号的信号值发生改变时,确定出受到信号值发生改变的设计信号对应的行为线程控制的仿真线程,包括:
8.如权利要求6或7所述的芯片设计仿真方法,其特征在于,在所述获取待测设计的设计信号的步骤之后,还包括:基于所述待测设计的设计信号,利用调用所述等待任务的仿真线程在所述设计信号对应的行为线程上注册回调函数;
9.如权利要求8所述的芯片设计仿真方法,其特征在于,所述在所述设计信号的信号值发生改变时,执行在所述设计信号对应的行为线程上注册的回调函数,得到回调函数的执行结果包括:
10.如权利要求9所述的芯片设计仿真方法,其特征在于,在确定所述仿真线程是受到信号值发生改变的设计信号对应的行为线程控制的仿真线程的步骤之后,还包括:
11.如权利要求10所述的芯片设计仿真方法,其特征在于,还包括:
12.如权利要求11所述的芯片设计仿真方法,其特征在于,所述待测设计的设计信号包括:字符串形式表示的设计信号,所述基于所述待测设计的设计信号,利用调用所述等待任务的仿真线程在所述设计信号对应的行为线程上注册回调函数,包括:
13.如权利要求12所述的芯片设计仿真方法,其特征在于,所述等待任务对应的任务内容包括对设计信号的当前时刻的信号值进行检测,以确定当前时刻的信号值是否与上一时刻的信号值相同,所述利用所述软件程序执行模块中定义的第二函数,以字符串形式传递所述设计信号的指针信息,并利用所传递的设计信号的指针信息,注册回调函数,包括:
14.如权利要求12所述的芯片设计仿真方法,其特征在于,所述等待任务对应的任务内容包括对设计信号的当前时刻的信号值进行检测,以确定当前时刻的信号值是否与期望的信号值相同,所述利用所述软件程序执行模块中定义的第二函数,以字符串形式传递所述设计信号的指针信息,并利用所传递的设计信号的指针信息,注册回调函数,包括:
15.一种芯片设计仿真平台,其特征在于,包括:
16.如权利要求15所述的芯片设计仿真平台,其特征在于,还包括:
17.如权利要求16所述的芯片设计仿真平台,其特征在于,所述软件程序执行模块包括:
18.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有程序,所述处理器调用所述存储器中存储的程序,执行如权利要求1-5任一项所述的芯片设计仿真方法,或执行如权利要求6-14任一项所述的芯片设计仿真方法。
19.一种存储介质,其特征在于,所述存储介质存储有程序,所述程序被执行时实现如权利要求1-5任一项所述的芯片设计仿真方法,或实现如权利要求6-14任一项所述的芯片设计仿真方法。
20.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的芯片设计仿真方法的步骤,或实现如权利要求6-14任一项所述的芯片设计仿真方法的步骤。