logo好方法网

集成电路仿真同步处理的方法、模块、存储介质及系统


技术摘要:
本发明公开了集成电路仿真同步处理的方法、模块、存储介质及系统,通讯器采用分组并行通讯方式,将待仿真芯片的时钟树与通讯器之间形成映射关系,使一个通讯器负责一个时钟信号;时钟树包括实施控制作用的时钟信号;将受同一时钟信号控制的逻辑模块归属于同一通讯器之  全部
背景技术:
数字集成电路由时钟控制下的逻辑门电路组成,具有天然的并行性。随着高速局 域网及超级计算机专用互联互通网络硬件技术的发展,集群中计算节点的互联互通性能在 近些年获得显著的提高。因此使用大规模计算集群做数字集成电路的逻辑仿真是一个合理 的技术演进。通过不同计算节点同时并行的对集成电路逻辑模块进行仿真提高速度。 MPI,Message  Passing  Interface,信息传递多点接口,是一项成熟的并行编程技 术函数库,是大规模并行处理事实上的行业标准。MPI是一个跨语言的通讯协议,用于编写 并行计算机。支持点对点和广播。MPI是一个信息传递应用程序接口,包括协议和和语义说 明,他们指明其如何在各种实现中发挥其特性。MPI的目标是高性能,大规模性,和可移植 性。MPI在今天仍为高性能计算的主要模型。 数字集成电路模块之间使用时钟信号进行同步,而目前市场上的集成电路的软件 逻辑仿真程序通常使用一个大循环语句来模拟时钟信号。为了模拟集成电路芯片内的整个 时钟树上的各个分时钟,程序里必然会是大循环套小循环的方式。此种方式编程复杂,容易 出错,并且仅仅适用于单台服务器上的逻辑仿真程序。 时钟树,是个由许多缓冲单元(buffer  cell)平衡搭建的网状结构,它有一个源 点,一般是时钟输入端(clock  input  port),也有可能是design内部某一个单元输出脚 (cell  output  pin),然后就是由一级一级的缓冲单元搭建而成,具体的多少级,根据设置 以及所使用的单元而定。
技术实现要素:
本发明提供了集成电路仿真同步处理的方法,解决了集成电路仿真时同步控制的 问题。 本发明所采用的技术方案为: 集成电路仿真同步处理的方法,通讯器采用分组并行通讯方式,将待仿真芯片的时钟 树与通讯器之间形成映射关系,使一个通讯器负责一个时钟信号;所述时钟树包括实施控 制作用的时钟信号; 将受同一所述时钟信号控制的逻辑模块归属于同一通讯器之下; 然后进行仿真; 在同一通讯器之下的所有逻辑模块的仿真进程完成后再继续下一循环。 数字集成电路逻辑仿真的主要技术瓶颈就是仿真速度,仿真速度制约了软件仿真 的应用范围;通过利用大规模并行处理来提高仿真速度,再通过将待仿真芯片的时钟树与 通讯器之间形成映射关系,使一个通讯器负责一个时钟信号,然后将受同一所述时钟信号 控制的逻辑模块归属于同一通讯器之下,该通讯器通过并行处理,实现同一所述时钟信号 3 CN 111553122 A 说 明 书 2/6 页 控制的逻辑模块可以同时接收时钟信号,然后同步开始仿真进程;然后在同一通讯器之下 的所有逻辑模块的仿真进程完成后再继续下一循环,即下一调用或下一进程,有效的实现 不同逻辑模块之间的同步控制。 进一步的,所述在同一通讯器之下的所有仿真进程完成后再继续下一循环的方法 是,当时钟信号通过通讯器同时将时钟信号传输给归属在该通讯器的逻辑模块后,仿真开 始,同时接收到时钟信号的逻辑模块开始仿真进程并开始启动阻止调用直到归属在该通讯 器的逻辑模块所有仿真进程完成后,再模拟时钟脉冲信号实现下一事件驱动。通过在采用 阻止调用在所有进程完成后,利用模拟的时钟脉冲信号实现下一事件驱动,等同于与产生 了一次同步事件,实现不同逻辑模块之间的同步控制。 进一步的,所述通讯器采用MPI进行通讯。MPI,Message  Passing  Interface,信息 传递多点接口,是一项成熟的并行编程技术函数库,是大规模并行处理事实上的行业标准; MPI是一个跨语言的通讯协议,用于编写并行计算机;支持点对点和广播;MPI是一个信息传 递应用程序接口,包括协议和和语义说明,他们指明其如何在各种实现中发挥其特性;MPI 的可提供高性能,大规模性,和可移植性以及高性能计算的主要模型。 进一步的,所述将待仿真芯片的时钟树与通讯器之间形成映射关系的方法是; 遍历所有时钟信号并为每一个时钟信号编号; 遍历每个逻辑模块并将所述时钟信号编号设置为所述逻辑模块的属性; 然后加载仿真程序; 根据所述时钟信号编号对待仿真的逻辑模块划分通讯器。 通过将时钟信号编号设置为逻辑模块的属性,再根据时钟信号编号对待仿真的逻 辑模块划分通讯器,实现对逻辑模块划分归属的通讯器,由此实现待仿真芯片的时钟树与 通讯器之间形成映射关系。 进一步的,所述根据时钟编号对待仿真逻辑模块划分通讯器是通过调用MPI  Commsplit  函数并将待仿真逻辑模块的时钟编号作为所述MPI  Commsplit  函数的color参 数传入。MPI_Comm_split函数用于划分通信子域;参数color代表相同的color的节点会被 划分成同一个子域,该子域对应一个通讯器;由此实现根据时钟编号对待仿真逻辑模块划 分通讯器。 进一步的,所述所有仿真进程完成后再继续下一循环的实现方法是,当同一通讯 器之下的所有仿真的各进程启动之后调用MPI  Barrier函数或者  MPI  IBarrier函数;使得 该通讯器之下的所有仿真进程完成后再继续下一循环。MPI  Barrier是MPI中的一个函数接 口,函数定义形式为int  MPI  Barrier;表示阻止调用直到当前通讯器对应的逻辑模块中所 有进程完成调用;阻止调用直到当前子域中所有进程已经完成调用,就是说,任意一次进程 的调用只能在所有当前子域中的成员已经开始调用之后进行。 进一步的,所述受同一所述时钟信号控制的模块具有n个,n为大于2的整数且n小 于等于所述通讯器的通讯点数。 一种集成电路仿真模块,包括处理器,所述处理器被配置为可执行上述的方法。 一种可读取存储介质,所述可读取存储介质存储有程序,所述程序被处理器执行 时实现上述的方法。 一种集成电路仿真系统,包括多个上述的集成电路仿真模块。 4 CN 111553122 A 说 明 书 3/6 页 本发明具有如下的优点和有益效果: 1、数字集成电路逻辑仿真的主要技术瓶颈就是仿真速度,仿真速度制约了软件仿真的 应用范围;本发明通过利用大规模并行处理来提高仿真速度,再通过将待仿真芯片的时钟 树与通讯器之间形成映射关系,使一个通讯器负责一个时钟信号,然后将受同一所述时钟 信号控制的逻辑模块归属于同一通讯器之下,该通讯器通过并行处理,实现同一所述时钟 信号控制的逻辑模块可以同时接收时钟信号,然后同步开始仿真进程;然后在同一通讯器 之下的所有逻辑模块的仿真进程完成后再继续下一循环,即下一调用或下一进程,有效的 实现不同逻辑模块之间的同步控制; 2、本发明通过将时钟信号编号设置为逻辑模块的属性,再根据时钟信号编号对待仿真 的逻辑模块划分通讯器,实现对逻辑模块划分归属的通讯器,由此实现待仿真芯片的时钟 树与通讯器之间形成映射关系;通过在采用阻止调用在所有进程完成后,利用模拟的时钟 脉冲信号实现下一事件驱动,等同于与产生了一次同步事件,实现不同逻辑模块之间的同 步控制; 3、本发明采用MPI提供通讯器用于分组通讯;分布在不同计算节点的进程通过调用MPI  Commsplit函数将本身注册到不同的通讯器组中,再应用MPI  Barrier函数实现数字逻辑仿 真中的事件驱动;这在代码级别保证的多进程的同步,在逻辑上等价于数字集成电路的时 钟同步控制的同时,实现了事件驱动机制;当所有进程都进入MPI  Barrier调用时,相当于 产生了一个同步事件;通过利用MPI提供的同步函数很好的解决了大规模并行集成电路仿 真中的核心技术问题;数字集成电路逻辑仿真的主要技术瓶颈就是仿真速度,仿真速度制 约了软件仿真的应用范围。利用大规模并行处理来提高仿真速度的主要技术难点之一是如 何有效的实现不同逻辑模块之间的同步控制。本发明利用成熟的软件技术解决了这一技术 难点。 附图说明 此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部 分,并不构成对本发明实施例的限定。在附图中: 图1是本发明时钟树与通讯器之间映射算法流程示意图。 图2是本发明中利用Barrier函数实现仿真过程的流程示意图。
下载此资料需消耗2积分,
分享到:
收藏