用于生成和存储电路仿真过程中的波形数据的方法、电子设备和存储介质技术

技术编号:39181214 阅读:10 留言:0更新日期:2023-10-27 08:29
本公开涉及一种用于生成和存储电路仿真过程中的波形数据的方法。该方法包括:对用于表示电路的电路文件进行编译,以在编译数据库中生成针对电路的层级数据集。该方法还包括基于层级数据集和电路文件,对电路进行仿真,以在波形数据库中选择性地生成目标波形数据集。波形数据库被配置为提供接口以对编译数据库进行访问。该方法还包括在存储器中存储目标波形数据集的至少一部分。由于在编译阶段设置专用的编译数据库以存储层级数据集,并且在仿真阶段可以通过专用的波形数据库访问编译数据库来基于数字电路业务特征在仿真过程中选择性地生成相应波形数据并且选择性地存储波形数据,因此可以减少仿真过程中所生成和保存的波形数据量并且相应地减少仿真时间。波形数据量并且相应地减少仿真时间。波形数据量并且相应地减少仿真时间。

【技术实现步骤摘要】
用于生成和存储电路仿真过程中的波形数据的方法、电子设备和存储介质


[0001]本公开涉及电子领域,更具体而言涉及用于生成和存储电路仿真过程中的波形数据的方法、电子设备、计算机程序和存储介质。

技术介绍

[0002]在电路设计过程中,通常需要验证电路设计的正确性。在一些情形下,需要使用数字电路仿真器来满足仿真调试的功能。为了满足仿真调试,通常需要生成一些精确高效的波形信号。波形的产生需要在仿真过程中监控相关信号,并保存其值的变化过程,这将产生大量的参数传递和事件记录,极大影响仿真性能。
[0003]电气电子工程师学会(institute of electrical and electronics engineers,IEEE)在IEEE1364标准中定义了值改变转存(value change dump,VCD)格式的文件。VCD文件包括头信息、变量的预定义和变量值的变化信息。由于VCD文件包含了信号的变化信息,相当于记录了整个仿真的信息,因此其可以用这个文件来再现仿真,也就能够显示波形。此外,由于VCD文件是Verilog硬件描述语言标准的一部分,因此所有的Verilog仿真器都要能够实现这个功能,也要允许用户在Verilog代码中通过系统函数来转存(dump)VCD文件。
[0004]在一些常规方案中,针对VCD文件进行了有效信息提取,去除了冗余信息。这类似于对VCD数据进行霍夫曼(huffman)编码。因此其数据文件大小会有一定下降,但在实际仿真过程中,由于编解码能力有限,实际的波形数据量还是相对较大。此外,仿真时间还是较长。

技术实现思路

[0005]根据上述问题,本公开的实施例旨在提供一种用于生成和存储电路仿真过程中的波形数据的方法、电子设备、计算机程序和存储介质,用于降低电路仿真产生的数据量和仿真时间。
[0006]根据本公开第一方面,提供一种用于生成和存储电路仿真过程中的波形数据的方法。该方法包括:对用于表示电路的电路文件进行编译,以在编译数据库中生成针对电路的层级(hierarchy)数据集,层级数据集与电路中的多个节点处的多个信号相关联。该方法还包括基于层级数据集和电路文件,对电路进行仿真,以在波形数据库中选择性地生成目标波形数据集。波形数据库被配置为提供接口以对编译数据库进行访问。该方法还包括在存储器中存储目标波形数据集的至少一部分。由于在编译阶段设置专用的编译数据库以存储层级数据集,并且在仿真阶段可以通过专用的波形数据库访问编译数据库来基于数字电路业务特征来选择性地生成相应波形数据并且进一步地选择性存储波形数据,因此可以减少仿真过程中所生成和保存的波形数据的量并且相应地减少仿真时间。相比于常规数字仿真工具直接在仿真阶段调度执行过程进行构建信号连接关系、记录波形信息等操作并且进行全波形文件输出,本公开的技术方案通过在编译阶段的预处理,可以在进行波形文件压缩
和存储之前已经大大减小了需要保存的文件大小。结合业务级别的特征提取可以在编译阶段实现去除冗余信息。在避免有效信息缺失的前提下,在进行压缩算法之前就已经从源头减少了波形文件大小,从而减小了编解码对于仿真时间的压力并且相应减少了仿真时间。在第一方面的一种实现方式中,该方法还包括在存储器中存储目标波形数据集的全部数据。
[0007]在第一方面的一种实现方式中,用于表示电路的电路文件包括寄存器传输级描述文件。在第一方面的一种实现方式中,层级数据集以层级树形式被组织,并且层级数据集包括以下至少一项:用于表示多个信号的序列化的序列信息、用于表示多个信号的传输路径的路径信息、与多个信号对应的地址信息、用于驱动多个信号的驱动信息和用于被多个信号驱动的负载信息。通过将层级数据集以层级树的形式组织,可以便于基于各个属性(诸如驱动关系、负载关系、内存地址、模块调用等)来查找、修改和保存层级数据,并且相应地更易于选择性地进行信号生成和存储。
[0008]在第一方面的一种实现方式中,多个信号包括第一信号和第二信号,层级数据集包括在第一信号和第二信号之间的层级映射关系。在编译数据库中生成针对电路的层级数据集包括:将第一信号和第二信号与寄存器传输级描述文件中的电路模型集中的信号进行匹配以确定在第一信号和第二信号之间的层级映射关系。
[0009]在第一方面的一种实现方式中,在波形数据库中选择性地生成目标波形数据集包括:基于层级映射关系,确定目标信号集,目标信号集包括第一信号,并且目标信号集不包括第二信号;基于所确定的目标信号集,对电路进行仿真,以在波形数据库中选择性地生成目标波形数据集,目标波形数据集包括第一信号的仿真波形数据,并且目标波形数据集不包括第二信号的仿真波形数据。通过在多个关联信号之间建立层级映射关系,可以基于单个信号来确定另一信号的关系,这可以避免多个信号的波形数据集的计算和存储,从而进一步减少仿真时间并且减小仿真信号的存储容量。
[0010]在第一方面的一种实现方式中,该方法还包括:接收针对目标信号的存储时间指示。在存储器中存储目标波形数据集的至少一部分包括:在存储器中存储目标波形数据集中的目标信号的仿真波形数据中的、与存储时间指示对应的时间段的数据部分。通过由用户设定需要处理和保存波形的时间段,相比于全部时段的仿真和数据存储,可以进一步减少波形数据处理量和时间。
[0011]在第一方面的一种实现方式中,多个信号包括第三信号。在波形数据库中选择性地生成目标波形数据集包括:基于层级数据集和电路文件,对电路进行仿真,以在波形数据库中生成针对第三信号的仿真波形数据,其中针对第三信号的仿真波形数据包括毛刺数据。在第一方面的一种实现方式中,毛刺数据包括在单位时间段内的针对第三信号的多个毛刺值;以及在存储器中存储目标波形数据集的至少一部分包括:将多个毛刺值按时间顺序存储在存储器中。通过提供毛刺信号记录功能,可以为电路设计人员提供更为准确和详细的波形信息,以便于确定电路设计的准确性。
[0012]在第一方面的一种实现方式中,将多个毛刺值按时间顺序存储在存储器中包括:确定多个毛刺值中的相邻毛刺值是否相同;以及如果相邻毛刺值相同,则将相邻毛刺值中的任一毛刺值存储在存储器中,而不存储相邻毛刺值中的另一毛刺值。通过将多个相邻的毛刺值合并为单个毛刺值,可以进一步减少波形数据量。
[0013]在第一方面的一种实现方式中,该方法还包括:基于用户输入,对层级数据集进行调整。通过对层级数据集进行调整,可以为设计人员赋予电路验证的灵活性。此外,在设计人员将层级数据集调整以仅保留自己所关注的信号的情形下,可以进一步减少电路仿真的时间和波形信号的数据量。
[0014]根据本公开第二方面,提供一种计算机可读存储介质,存储多个程序。多个程序被配置为一个或多个处理器执行,多个程序包括用于执行第一方面的方法的指令。
[0015]根据本公开第三方面,提供一种计算机程序产品。计算机程序产品包括多个程序,多个程序被配置为一个或多个处理器执行,多个程序包括用于执行第一方面的方法的指令。
[0016]根据本公开第四方面,提供本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于生成和存储电路仿真过程中的波形数据的方法,包括:对用于表示电路的电路文件进行编译,以在编译数据库中生成针对所述电路的层级数据集,所述层级数据集与所述电路中的多个节点处的多个信号相关联;基于所述层级数据集和所述电路文件,对所述电路进行仿真,以在波形数据库中选择性地生成目标波形数据集,所述波形数据库被配置为提供接口以对所述编译数据库进行访问;以及在存储器中存储所述目标波形数据集的至少一部分。2.根据权利要求1所述的方法,其中所述层级数据集以层级树形式被组织,并且所述层级数据集包括以下至少一项:用于表示所述多个信号的序列化的序列信息、用于表示所述多个信号的传输路径的路径信息、与所述多个信号对应的地址信息、用于驱动所述多个信号的驱动信息和用于被所述多个信号驱动的负载信息。3.根据权利要求1或2所述的方法,其中所述多个信号包括第一信号和第二信号,所述层级数据集包括在所述第一信号和所述第二信号之间的层级映射关系;以及在编译数据库中生成针对所述电路的层级数据集包括:将所述第一信号和所述第二信号与寄存器传输级描述文件中的电路模型集中的信号进行匹配以确定在所述第一信号和所述第二信号之间的所述映射关系。4.根据权利要求3所述的方法,其中在波形数据库中选择性地生成目标波形数据集包括:基于所述映射关系,确定目标信号集,所述目标信号集包括所述第一信号,并且所述目标信号集不包括所述第二信号;以及基于所确定的目标信号集,对所述电路进行仿真,以在波形数据库中选择性地生成目标波形数据集,所述目标波形数据集包括所述第一信号的仿真波形数据,并且所述目标波形数据集不包括所述第二信号的仿真波形数据。5.根据权利要求1

4中任一项所述的方法,还包括:接收针对目标信号的存储时间指示;以及其中在所述存储器中存储所述目标波形数据集的所述至少一部分包括:在所述存储器中存储所述目标波形数据集中的所述目标信号的仿真波形数据中的、与所述存储时间指示对应的时间段的数据部分。6.根据权利要求1

5中任一项所述的方法,其中所述多个信号包括第三信号;以及其中在波形数据库中选择性地生成目标波形数据集包括:基于所述层级数据集和所述电路文件,对所述电路进行仿真,以在波形数据库中生成针对所述第三信号的仿真波形数据,其中针对所述第三信号的仿真波形数据包括毛刺数据。7.根据权利要求6所述的方法,其中所述毛刺数据包括在单位时间段内的针对第三信号的多个毛刺值;以及在存储器中存储所述目标波形数据集的至少一部分包括:将所述多个毛刺值按时间顺序存储在所述存储器中。8.根据权利要求7所述的方法,其中将所述多个毛刺值按时间顺序存储在所述存储器中包括:
确定所述多个毛刺值中的相邻毛刺值是否相同;以及如果所述相邻毛刺值相同,则将所述相邻毛刺值中的任一毛刺值存储在所述存储器中,而不存储所述相邻毛刺值中的另一毛刺值。9.根据权利要求1

8中任一项所述的方法,还包括:基于用户输入,对所述层级数据集进行调整。10.根据权利要求1

9中任一项所述的方法,其中所述用于表示电路的电路文件包括寄存器传输级描述文件。11.一种计算机可读存储介质,存储多个程序,所述多个程序被配置为一个或多个处理器执行,所述多个程序包括用于执行权利要求1

10中任一项所述的方法的指令。12.一种计算机程序产品,所述计算机程序产品包括...

【专利技术属性】
技术研发人员:詹宏邵宸晟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1