基于字典压缩算法的数字波形压缩方法、装置和设备制造方法及图纸

技术编号:36405094 阅读:10 留言:0更新日期:2023-01-18 10:13
本申请涉及一种基于字典压缩算法的数字波形压缩方法、装置和设备。所述方法包括:解析原始待压缩数字波形的结构,得到辅助信息和所述原始待压缩数字波形的每一跳变块中的时间戳、多个信号id和多个信号值;根据待压缩数字波形的时间戳对待压缩数字波形进行分割处理,得到多个时钟域以及每一时钟域对应的时钟周期;分别根据待压缩数字波形的每一跳变块中的时间戳、信号id和信号值,得到属于每一时钟域的时间戳表、id表和信号值表;根据辅助信息和多个时钟域,得到重组后的待压缩数字波形;采用字典压缩算法压缩重组后的待压缩数字波形。采用本方法能够在更短的压缩、解压缩耗时下提高数字波形压缩的压缩率,并保持波形精度。并保持波形精度。并保持波形精度。

【技术实现步骤摘要】
基于字典压缩算法的数字波形压缩方法、装置和设备


[0001]本申请涉及数据处理
,特别是涉及一种基于字典压缩算法的数字波形压缩方法、装置和设备。

技术介绍

[0002]集成电路逻辑仿真的对象是由门和功能块等元件组成的逻辑电路,逻辑仿真是对硬件描述语言所定义的数字电路行为的预测与检验,其基本原理是使用计算机软件模拟一个激励信号,然后观察所设计电路的响应行为并判断是否满足预期的功能。逻辑仿真采用的是事件驱动的仿真方法,仿真结果波形仅当事件发生的某些时刻才产生变化。
[0003]逻辑仿真是数字集成电路设计中最重要的步骤之一,其得到的数字波形是功能和时序验证与优化、功耗以及功耗分析的基础。随着电路规模不断变大,逻辑仿真生成的数字波形数量不断增多,这导致需要大量的存储空间存储波形。对于集成电路逻辑仿真过程,仿真时间节点的数量达到数十亿规模,而一个时间点上可能包含了数十万规模的数字信号值变化。针对集成电路逻辑仿真生成的大规模数字波形文件,需要设计一个高效且无精度损失的数字波形压缩存储格式和相应算法以减少波形数据的存储以及传播开销。
[0004]数字波形的压缩要求无损,一些通用的无损压缩方法,如gzip和bzip2压缩算法,也可用于减少波形数据的大小,但是这些算法没有考虑数字波形数据的数据特性以及前后波形信号变化的相关性,因此不能实现较高的压缩率。文献1:谢雨洋,李凌劼,喻文健,面向集成电路逻辑仿真的高效数字波形压缩方法[J],计算机辅助设计与图形学学报,2021,33(11):9进一步通过动态字典减小了内存使用,改进了数据结构并引入了二次压缩方法,从而达到更高的压缩率,还有学者提出了一种专用于数字波形的压缩技术,通过构建字典压缩信号ID,通过值预测压缩值数据,其不足是其字典的内存开销过大,还有学者研究了模拟波形和测试波形的压缩,但这些技术并不能应用于数字波形的压缩。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种基于字典压缩算法的数字波形压缩方法、装置、计算机设备和存储介质。
[0006]一种基于字典压缩算法的数字波形压缩方法,所述方法包括:解析原始待压缩数字波形的结构,得到辅助信息以及所述原始待压缩数字波形的每一跳变块中的时间戳、多个信号id和多个信号值;分别根据每一跳变块中的时间戳、多个信号id和多个信号值,得到所述原始待压缩数字波形对应的时间戳表、id表和信号值表;所述时间戳表中的时间戳对应于所述id表中的一组信号id;所述id表中的信号id与所述信号值表中的信号值一一对应;当所述原始待压缩数字波形存在多个时钟域时,采用预先设置的多时钟域分割算法对每一所述时间戳按照对应的时钟周期进行划分,得到多个时钟域;根据所述辅助信息和每一时钟域对应的时间戳表、id表和信号值表,对所述原始
待压缩数字波形进行重组,得到重组后的待压缩数字波形;采用字典压缩算法压缩所述重组后的待压缩数字波形。
[0007]在其中一个实施例中,还包括:根据每一跳变块中的时间戳,得到时间戳表;所述时间戳表包括按从小到大的顺序逐行存放的时间戳;根据每一跳变块中的多个信号id,得到id表;所述id表包括按所述原始待压缩数字波形中的信号id顺序存放的信号id;所述信号id按照所属的跳变块分组存放,每组信号id之间用空行隔开;根据每一跳变块中的多个信号值,得到信号值表;所述信号值表包括按所述原始待压缩数字波形中的信号值顺序存放的信号值。
[0008]在其中一个实施例中,还包括:将所述信号值表中的每一信号值按信号值对应的信号id分类,得到以id为键值的值链表。
[0009]在其中一个实施例中,还包括:将所述时间戳表中第一个时间戳表示为绝对时间,排在所述绝对时间后的时间戳表示为时间增量;所述时间增量的字符长度小于所述绝对时间的字符长度。
[0010]在其中一个实施例中,还包括:获取所述时间戳对应的时间戳集合;将所述时间戳集合中的时间戳两两作差,得到候选时钟周期;将每一所述候选时钟周期分别与多个时间戳进行匹配,得到多个时钟周期;根据所述时钟周期对每一所述时间戳进行划分,得到多个时钟域。
[0011]在其中一个实施例中,还包括:将每一所述候选时钟周期分别与多个时间戳相加,若相加后得到的和在所述时间戳集合中,则所述候选时钟周期与对应的时间戳匹配成功;根据匹配次数最多的多个所述候选时钟周期,得到多个时钟周期。
[0012]在其中一个实施例中,还包括:将不属于所述多个时钟域的时间戳划分到杂项时钟域。
[0013]在其中一个实施例中,还包括:所述字典压缩算法包括LZMA2。
[0014]一种基于字典压缩算法的数字波形压缩装置,所述装置包括:波形解析模块,用于解析原始待压缩数字波形的结构,得到辅助信息以及所述原始待压缩数字波形的每一跳变块中的时间戳、多个信号id和多个信号值;数据分离模块,用于分别根据每一跳变块中的时间戳、多个信号id和多个信号值,得到所述原始待压缩数字波形对应的时间戳表、id表和信号值表;所述时间戳表中的时间戳对应于所述id表中的一组信号id;所述id表中的信号id与所述信号值表中的信号值一一对应;多时钟域分割模块,用于当所述原始待压缩数字波形存在多个时钟域时,采用预先设置的多时钟域分割算法对每一所述时间戳按照对应的时钟周期进行划分,得到多个时钟域;重组模块,用于根据所述辅助信息和每一时钟域对应的时间戳表、id表和信号值表,对所述原始待压缩数字波形进行重组,得到重组后的待压缩数字波形;字典压缩模块,用于采用字典压缩算法压缩所述重组后的待压缩数字波形。
[0015]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:解析原始待压缩数字波形的结构,得到辅助信息以及所述原始待压缩数字波形的
每一跳变块中的时间戳、多个信号id和多个信号值;分别根据每一跳变块中的时间戳、多个信号id和多个信号值,得到所述原始待压缩数字波形对应的时间戳表、id表和信号值表;所述时间戳表中的时间戳对应于所述id表中的一组信号id;所述id表中的信号id与所述信号值表中的信号值一一对应;当所述原始待压缩数字波形存在多个时钟域时,采用预先设置的多时钟域分割算法对每一所述时间戳按照对应的时钟周期进行划分,得到多个时钟域;根据所述辅助信息和每一时钟域对应的时间戳表、id表和信号值表,对所述原始待压缩数字波形进行重组,得到重组后的待压缩数字波形;采用字典压缩算法压缩所述重组后的待压缩数字波形。
[0016]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:解析原始待压缩数字波形的结构,得到辅助信息以及所述原始待压缩数字波形的每一跳变块中的时间戳、多个信号id和多个信号值;分别根据每一跳变块中的时间戳、多个信号id和多个信号值,得到所述原始待压缩数字波形对应的时间戳表、id表和信号值表;所述时间戳表中的时间戳对应于所述id表中的一组信号id;所述id表中的信号id与所述信号值表中的信号值一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于字典压缩算法的数字波形压缩方法,其特征在于,所述方法包括:解析原始待压缩数字波形的结构,得到辅助信息以及所述原始待压缩数字波形的每一跳变块中的时间戳、多个信号id和多个信号值;分别根据每一跳变块中的时间戳、多个信号id和多个信号值,得到所述原始待压缩数字波形对应的时间戳表、id表和信号值表;所述时间戳表中的时间戳对应于所述id表中的一组信号id;所述id表中的信号id与所述信号值表中的信号值一一对应;当所述原始待压缩数字波形存在多个时钟域时,采用预先设置的多时钟域分割算法对每一所述时间戳按照对应的时钟周期进行划分,得到多个时钟域;根据所述辅助信息和每一时钟域对应的时间戳表、id表和信号值表,对所述原始待压缩数字波形进行重组,得到重组后的待压缩数字波形;采用字典压缩算法压缩所述重组后的待压缩数字波形。2.根据权利要求1所述的方法,其特征在于,所述分别根据每一跳变块中的时间戳、多个信号id和多个信号值,得到所述原始待压缩数字波形对应的时间戳表、id表和信号值表包括:根据每一跳变块中的时间戳,得到时间戳表;所述时间戳表包括按从小到大的顺序逐行存放的时间戳;根据每一跳变块中的多个信号id,得到id表;所述id表包括按所述原始待压缩数字波形中的信号id顺序存放的信号id;所述信号id按照所属的跳变块分组存放,每组信号id之间用空行隔开;根据每一跳变块中的多个信号值,得到信号值表;所述信号值表包括按所述原始待压缩数字波形中的信号值顺序存放的信号值。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述信号值表中的每一信号值按信号值对应的信号id分类,得到以id为键值的值链表。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述时间戳表中第一个时间戳表示为绝对时间,排在所述绝对时间后的时间戳表示为时间增量;所述时间增量的字符长度小于所述绝对时间的字符长度。5.根据权利要求1所述的方法,其特征在于,所述多时钟域分割算法包括:获取所述时...

【专利技术属性】
技术研发人员:刘必慰赵振宇周杰施嘉庚蒋汶乘
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1