[发明专利]使用多个协同仿真器的并行仿真在审
申请号: | 201210022446.5 | 申请日: | 2012-02-01 |
公开(公告)号: | CN102736942A | 公开(公告)日: | 2012-10-17 |
发明(设计)人: | S·密茨拉希;U·泰;T·本-戴维;I·盖勒;I·凯舍 | 申请(专利权)人: | 洛克泰克科技有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京北翔知识产权代理有限公司 11285 | 代理人: | 徐燕;杨勇 |
地址: | 以色列*** | 国省代码: | 以色列;IL |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 协同 仿真器 并行 仿真 | ||
技术领域
本发明总体涉及仿真系统,具体地涉及使用协同仿真器进行仿真的方法和系统。
背景技术
计算机化仿真技术被用于分析和解决不同领域中的复杂计算问题,例如验证复杂电子硬件设计的性能。现有技术中已知许多仿真技术。一些技术使用并行处理来减少仿真时间。
例如,PCT国际公开WO 2009/118731(该公开内容以参引方式纳入本文)描述了一种用于设计仿真的方法,该方法包括将一个设计的验证任务划分(partition)成具有执行依赖性的第一多个原子处理单元(PE)。该方法还包括计算用于在一个多处理器设备上执行PE的顺序,所述多处理器设备包括并行运行的第二多个处理器,并根据内置的调度策略调度由处理器执行的PE。不考虑调度策略,所述顺序通过不同的处理器与执行依赖性不冲突地并发执行PE。根据计算的顺序和调度策略,PE在处理器上执行,以得出仿真结果。该设计的性能根据仿真结果而被验证。
作为另一个实施例,PCT国际公开WO 2010/004474(该公开内容以参引方式纳入本文)描述了一种包括接受计算任务的定义的计算方法,该计算任务包括多个具有执行依赖性的原子处理单元(PE)。所述计算任务被编译,以在多处理器设备上并发地执行,所述多处理器设备包括多个处理器,该多个处理器通过在一个包括一个第二数量的执行序列的调用数据结构中与执行依赖性不冲突地布置所述PE而能够同时地执行第一数量的PE,所述第二数量大于1且不超过第一数量。所述多处理器设备被调用以运行软件代码,该软件代码响应于所述调用数据结构而并行地执行所述执行序列,以得出计算任务的结果。
发明内容
下文描述的一个实施方案提供一种方法,包括:由控制多个协同仿真器的一个仿真器接受一个用于仿真的仿真任务。所述多个协同仿真器中的每一个被分配执行所述仿真任务中的一个或多个相应的子任务。通过调用每个协同仿真器执行所述分配的相应的子任务来执行所述仿真任务。
在一些实施方案中,所述仿真任务在任何给定的时间由一个仿真状态所定义,所述仿真状态由所述仿真器保持;以及,每个子任务在任何给定的时间由一个相应的协同仿真状态所定义,所述协同仿真状态由被分配执行所述子任务的所述协同仿真器独立于所述仿真器保持。
在一些实施方案中,执行所述仿真任务包括:由一个给定的协同仿真器执行一个给定的子任务,该给定的子任务包含一个赋值语句;如果所述赋值语句是一个阻塞赋值,则在执行任何非阻塞赋值之前将所述赋值语句的结果从所述给定的协同仿真器返回至所述仿真器;以及如果所述赋值语句是一个非阻塞赋值,则在执行所有阻塞赋值之后返回所述结果。在一个实施方案中,返回所述结果包括调度所述仿真器在一延迟时间呼叫所述给定的协同仿真器,以接受所述赋值语句的结果。
在一些实施方案中,所述方法包括在一个给定的协同仿真器执行的一个给定的子任务执行完成之前,将所述仿真任务的控制从所述给定的协同仿真器返回至所述仿真器,以使得至少一个其他协同仿真器与所述给定的协同仿真器并发运行。返回所述控制可包括调度所述仿真器在一延迟时间呼叫所述给定的协同仿真器,以接受所述给定的子任务的结果。
在一个公开的实施方案中,执行所述仿真任务包括由所述仿真器执行所述仿真任务的至少一个子任务。执行所述至少一个子任务可包括使用由所述仿真器执行的所述至少一个子任务同步两个或更多个子任务,所述两个或更多个子任务由两个或更多个相应的协同仿真器执行。
在一些实施方案中,所述方法包括将所述仿真任务表示为一个分层树结构,并通过递归遍历所述分层树结构将所述仿真任务划分为所述子任务。所述方法可包括使用一个或多个编译器编译所述子任务。在一个实施方案中,编译所述子任务包括使用两个或更多个相应的分立编译器编译两个或更多个所述子任务。
在一个公开的实施方案中,接受所述仿真任务包括接受硬件设计的定义,以及执行所述仿真任务包括验证所述硬件设计。所述方法可包括在一个给定的协同仿真器中使用一个图形处理单元(GPU)执行给定的子任务的至少一部分。
根据本发明的一个实施方案,还提供一种方法,该方法包括:由一个仿真器调用一个协同仿真器,以执行一个仿真任务的一个子任务,其中所述子任务包括至少一个赋值语句。如果所述赋值语句是一个阻塞赋值,则在执行任何非阻塞赋值之前将所述赋值语句的结果从所述协同仿真器返回至所述仿真器。如果所述赋值语句是一个非阻塞赋值,则在执行所有阻塞赋值之后返回所述结果。所述仿真任务是由所述仿真器使用所述子任务的结果来执行的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于洛克泰克科技有限公司,未经洛克泰克科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210022446.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种连续式散纤维加工设备
- 下一篇:一种簇绒机针杆密封装置