计算;推算;计数设备的制造及其应用技术1.本发明属于通信领域,特别是涉及一种用于逻辑仿真系统的信号波形存储方法。背景技术:2.信号波形存储的目的就是在逻辑仿真后把结果保存下来,方便用于做详细分析,研究以及再现这次仿真。普通的信号波形存储方法就是把仿真逻辑系统中生成的所有信号波形导出并保存下来,中间并不涉及对于信号波形的处理和存储的优化。相对较优的信号波形存储方法允许用户在仿真前对信号导出进行设定,包括需要记录的信号等。3.对于大型的逻辑仿真项目来说,需要观察的信号波形非常多,仿真时间和密度相对都比较大,这就会导致波形文件非常大,打开非常慢,也会影响后续分析和研究的效率。因此,亟需提供一种优化后的波形存储方法,以大幅降低需要存储的波形文件的大小。技术实现要素:4.针对以上技术问题,本发明提供一种用于逻辑仿真系统的信号波形存储方法。5.本发明解决其技术问题采用的技术方案是:6.一种用于逻辑仿真系统的信号波形存储方法,方法包括以下步骤:7.步骤s100:使用编译器前端对要进行逻辑仿真的硬件描述语言的源代码进行编译,得到对应的抽象语法树;8.步骤s200:基于抽象语法树,遍历树上的所有节点,基于该节点的语义生成对应的控制流和数据流节点,从而得到抽象语法树对应的控制流图和数据流图;9.步骤s300:基于控制流图和数据流图,对逻辑仿真中的所有信号做关联分析,得出信号间的关联转换函数;10.步骤s400:在逻辑仿真的过程中,依次记录所有信号的波形,用以做关联转换函数正确性的确认;11.步骤s500:逻辑仿真完成后,基于记录的所有信号的波形以及关联转换函数,做关联转换函数的正确性分析得到分析结果,根据分析结果标记信号并保存对应的关联转换函数;12.步骤s600:接收用户发起的信号波形存储的请求,根据请求存储对应的信号波形。13.优选地,步骤s200中的节点包括条件语句、控制语句和赋值语句,对应生成流图中的控制条件、分支和数据流。14.优选地,步骤s300包括:15.步骤s310:从控制流图中提取得到仿真所有基本块执行的可能顺序;16.步骤s320:从数据流图中提取得到仿真信号数据所有的可能流向;17.步骤s330:根据仿真所有基本块执行的可能顺序以及仿真信号数据所有的可能流向得到信号间的关联转换函数。18.优选地,步骤s500中根据分析结果标记信号并保存对应的关联转换函数,包括:19.当分析结果为记录的信号波形和通过关联转换函数计算得出的波形一致,则标记该信号为不需要单独记录的信号并保存其关联转换函数;当分析结果为记录的信号波形和通过关联转换函数计算得出的波形不一致,则标记该信号为需要单独记录的信号。20.优选地,步骤s300中还包括:当存在无法通过关联转化函数和其他信号计算得出的信号,或者关联转换函数复杂度大于预设的阈值时,将对应信号视为需要单独记录的信号。21.优选地,步骤s600包括:22.当用户发起的信号波形存储的请求为对所有信号的波形都要进行存储,则波形文件中仅仅记录所有标记为需要单独记录的信号的波形数值以及所有不需要单独记录的信号的关联转换函数;23.当用户发起的信号波形存储的请求为对单独几个信号的波形进行存储,则基于所有关联转换函数的输入的信号个数和直接记录的信号个数间做对比,以满足用户请求的前提下记录的信号个数更少的方式对单独几个信号的波形进行存储。24.上述一种用于逻辑仿真系统的信号波形存储方法,基于数据流图和控制流图分析的信号波形存储方法能够大幅降低需要存储的波形文件的大小。基于信号间的关联关系,理论上能够提供10-50%的空间优化。附图说明25.图1为本发明一种用于逻辑仿真系统的信号波形存储方法流程图。具体实施方式26.为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。27.在一个实施例中,一种用于逻辑仿真系统的信号波形存储方法,方法包括以下步骤:28.步骤s100:使用编译器前端对要进行逻辑仿真的硬件描述语言的源代码进行编译,得到对应的抽象语法树。29.具体地,通过编译器前端工具进行词法和语法分析,词法分析包括:对源代码进行扫描,根据构词规则,采用正则表达式来识别源代码中的有用部分作为词法单元,产生由词法单元构成的序列;语法分析包括:将经过词法分析的源代码按照语法规则转化成语句单元,构建抽象语法树。30.步骤s200:基于抽象语法树,遍历树上的所有节点,基于该节点的语义生成对应的控制流和数据流节点,从而得到抽象语法树对应的控制流图和数据流图。31.进一步地,步骤s200中的节点包括条件语句、控制语句和赋值语句,对应生成流图中的控制条件、分支和数据流。32.步骤s300:基于控制流图和数据流图,对逻辑仿真中的所有信号做关联分析,得出信号间的关联转换函数。33.具体地,比如verilog语言中的assign语句和语句中的运算符,非常明显的揭示了两个信号之间的关联关系。比如,有这样一条语句,assign b=!a,可以明显的看出b是a的逻辑取反。那么,相比于记录a,b两个信号的所有信息,记录信号a以及b=!a这个关联函数,就能节省将近一半的空间。当然,实际情况会比这复杂的多,信号之间的关系可能包括简单逻辑赋值,条件控制赋值和带敏感列表的条件控制赋值等。34.进一步地,步骤s300包括:35.步骤s310:从控制流图中提取得到仿真所有基本块执行的可能顺序;36.步骤s320:从数据流图中提取得到仿真信号数据所有的可能流向;37.步骤s330:根据仿真所有基本块执行的可能顺序以及仿真信号数据所有的可能流向得到信号间的关联转换函数。38.进一步地,步骤s300中还包括:当存在无法通过关联转化函数和其他信号计算得出的信号,或者关联转换函数复杂度大于预设的阈值时,将对应信号视为需要单独记录的信号。39.具体地,并非所有的信号都能通过关联转换函数和其他信号计算得出,也存在关联转换函数复杂度过高的情况,这些情况下将该信号视为需要单独记录的信号。基于所有的关联转换函数,可以得知每个信号的波形是否需要单独记录。进一步地,关联转换函数复杂度是指控制条件过多、计算复杂度过高或者来源数据个数过多等,可以根据实际情况设置预设的阈值来进行判断。40.步骤s400:在逻辑仿真的过程中,依次记录所有信号的波形,用以做关联转换函数正确性的确认。41.步骤s500:逻辑仿真完成后,基于记录的所有信号的波形以及关联转换函数,做关联转换函数的正确性分析得到分析结果,根据分析结果标记信号并保存对应的关联转换函数。42.具体地,当分析结果为记录的信号波形和通过关联转换函数计算得出的波形一致,则标记该信号为不需要单独记录的信号并保存其关联转换函数;当分析结果为记录的信号波形和通过关联转换函数计算得出的波形不一致,则标记该信号为需要单独记录的信号。43.步骤s600:接收用户发起的信号波形存储的请求,根据请求存储对应的信号波形。44.进一步地,步骤s600包括:45.当用户发起的信号波形存储的请求为对所有信号的波形都要进行存储,则波形文件中仅仅记录所有标记为需要单独记录的信号的波形数值以及所有不需要单独记录的信号的关联转换函数;46.当用户发起的信号波形存储的请求为对单独几个信号的波形进行存储,则基于所有关联转换函数的输入的信号个数和直接记录的信号个数间做对比,以满足用户请求的前提下记录的信号个数更少的方式对单独几个信号的波形进行存储。47.具体地,如果是对单独几个信号的波形要进行存储,这个时候要基于所有关联转换函数的输入的信号个数和直接记录的信号个数间做对比,来比较是直接记录信号波形效率更高还是记录信号波形加关联转换函数效率更高。假设有a,b,c三个信号,且存在c=a+b的关联函数。当用户需要所有信号的波形时,则记录a,b以及c=a+b的关联函数表现最好。但当用户指定仅需要c信号时,直接记录c信号的波形就会更加直接方便。比较的方法就是在满足用户的需求,哪种要求记录的信号个数更少则这种方法就更优,原因在于转换函数的消耗相比于完整信号的记录几乎可以忽略不计。48.上述一种用于逻辑仿真系统的信号波形存储方法,基于数据流图和控制流图分析的信号波形存储方法能够大幅降低需要存储的波形文件的大小。基于信号间的关联关系,理论上能够提供10-50%的空间优化。49.以上对本发明所提供的一种用于逻辑仿真系统的信号波形存储方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
一种用于逻辑仿真系统的信号波形存储方法与流程
作者:admin
2022-07-30 08:49:45
666
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术
- 下一篇: 基于磁光腔的频率梳生成系统
- 上一篇: 一种固定支架及汽车的制作方法