VVP文件的预分析方法、计算机可读存储介质技术

技术编号:30405363 阅读:22 留言:0更新日期:2021-10-20 11:08
本发明专利技术公开了一种VVP文件的预分析方法、计算机可读存储介质。其中VVP文件的预分析方法,包括:对VVP文件的官方文档进行解析,以生成VVP文件的识别规则;根据所述识别规则对VVP文件的语句进行语法分析,将经过语法分析识别出来的字段根据其类别备注相应的类别标签并存储为索引;根据所述索引读取所述VVP文件的语句,找到所述VVP文件所有逻辑门以及逻辑门之间的驱动与被驱动关系并输出。本发明专利技术可以对VVP文件进行预分析,从中提取出重要的逻辑信息并自动生成对应的具有逻辑依赖关系的文件,提高仿真效率。提高仿真效率。提高仿真效率。

【技术实现步骤摘要】
VVP文件的预分析方法、计算机可读存储介质


[0001]本专利技术涉及VVP文件内容的分析技术,尤其涉及一种VVP文件的预分析方法。

技术介绍

[0002]在对门级电路进行仿真处理的过程中,对Verilog(Verilog HDL,一种硬件描述语言,可以表示逻辑电路图)的分析必不可少。
[0003]VVP文件作为iVerilog(icarus Verilog的简称,号称“全球第四大”数字芯片仿真器,也是一个完全开源的仿真器)独有的文件,具有独特的分析价值。VVP是该开源通用EDA工具中所生成的一种类汇编可执行格式,其程序本身是一种解释器,只是以.vvp文件作为输入。VVP输入文件的生成由 /tgt

vvp 负责。因此,尽管语法可读,但是对于使用者来说,读起来并不是很方便,在这一环节会导致仿真效率较低。

技术实现思路

[0004]为了解决现有技术中处理的VVP文件让使用者读起来不方便的技术问题,本专利技术提出一种VVP文件的预分析方法、计算机可读存储介质。
[0005]本专利技术提出的VVP文件的预分析方法,包括:步骤1,对VVP文件的官方文档进行解析,以生成VVP文件的识别规则;步骤2,根据所述识别规则对VVP文件的语句进行语法分析,将经过语法分析识别出来的字段根据其类别备注相应的类别标签并存储为索引;步骤3,根据所述索引读取所述VVP文件的语句,找到所述VVP文件所有逻辑门以及逻辑门之间的驱动与被驱动关系并输出。
[0006]进一步,所述步骤1中对VVP文件的官方文档进行解析具体为将VVP文件划分为执行器路径、头语句、多个模块以及文件列表。
[0007]进一步,所述步骤3包括:步骤3.1,根据所述索引找到包含逻辑门的一条语句,将该语句作为当前语句,该逻辑门作为当前逻辑门;步骤3.2,在当前语句中查找当前逻辑门的输入信息;步骤3.3,在当前语句以外的其他语句中查找当前逻辑门的输出信息;步骤3.4,查看当前语句所在的模块;步骤3.5,将步骤3.2至步骤3.4所查找到的内容整理形成当前逻辑门的逻辑单元并输出至Json文件,返回步骤3.1读取所述VVP文件的下一条语句,直至所有逻辑门的逻辑单元被输出。
[0008]进一步,所述类别标签包括:Header、Label、Opcode、Operand、Comment、Filename。
[0009]进一步,所述步骤3.5中将步骤3.2至步骤3.4所查找到的内容整理形成当前逻辑门的逻辑单元并输出具体包括:当找到类别标签为Opcode且字段的内容为.functor的语句时将其作为包含逻辑
门的一条语句,且该语句为当前语句,.functor所指向的逻辑门为当前逻辑门;读取当前逻辑门的label,并按预设格式输出到Json文件;读取当前语句的第一个Operand,在该Operand中空格之前的内容按预设格式输出当前逻辑门的functor类型,然后按预设格式输出第一个Operand中空格之后的内容为所对应的输入位宽;读取当前语句的第二个Operand一直到分号前的内容作为当前逻辑门的输入并按预设格式输出到Json文件;在其他含有.functor的语句的Operand列表中搜索当前逻辑门的label,若匹配,则该匹配的逻辑门作为被驱动的逻辑门,取出被驱动的逻辑门的label,输出到Json文件中当前逻辑门的驱动列表中;查看当前语句所在的模块,并按预设格式输出到Json文件中。
[0010]进一步,所述索引具体为将所述识别出来的字段与其对应的类别标签通过键值对进行存储。
[0011]进一步,所述识别规则包括:构成Label的语法规则,构成Opcode的语法规则,构成Operand的语法规则,构成VVP文件中每一条语句的语法规则,构成头语句的语法规则。
[0012]进一步,所述识别规则分别采用铁路图表示。
[0013]本专利技术提出的计算机可读存储介质,用于存储计算机程序,当所述计算机程序被至少一个处理器运行时,执行上述技术方案所述的VVP文件的预分析方法。
[0014]本专利技术实现了自动VVP文件的解析,并生成带有逻辑关系的Json文件输出,使得使用者可以清楚门级电路的每一个逻辑单元的驱动与被驱动关系,解决了Verilog HDL文件的RTL级描述转化为门级电路网格表达的难题。
附图说明
[0015]下面结合实施例和附图对本专利技术进行详细说明,其中:图1是本专利技术所分析得到的VVP文件结构。
[0016]图2是本专利技术构成Label的语法规则的铁路图。
[0017]图3是本专利技术构成Opcode的语法规则的铁路图。
[0018]图4是本专利技术构成Operand的语法规则的铁路图。
[0019]图5是本专利技术构成VVP文件中每一条语句的语法规则的铁路图。
[0020]图6是本专利技术构成头语句的语法规则的铁路图。
[0021]图7是本专利技术的逻辑单元的输出示例。
[0022]图8是本专利技术的索引存储示意图。
具体实施方式
[0023]为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0024]由此,本说明书中所指出的一个特征将用于说明本专利技术的一个实施方式的其中一个特征,而不是暗示本专利技术的每个实施方式必须具有所说明的特征。此外,应当注意的是本
说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。
[0025]下面结合附图以及实施例对本专利技术的原理进行详细说明。
[0026]本专利技术提出的VVP文件预分析方法,需要先基于对VVP文件的官方文档进行解析,生成相应的VVP文件的识别规则。不同的VVP文件具有不同的官方文档,通过对VVP文件的官方文档的分析,本专利技术发现可以将VVP文件的内容进行分类划分,如图1所示,VVP文件的内容可以划分为四个部分,第一行为执行器路径,之后是头语句,以冒号开头;后面是各个模块(Scope),每一个模块中包含各种功能语句,文件末尾存在文件列表,用来存放原始文件信息。
[0027]VVP文件中的各个模块是由多条语句所组成,每个scope块中包含变量定义、端口信息、功能语句以及事件族语句等,然后本专利技术发现每条语句的组成成分可以分为标签(Label)、指令(Opcode)、运算(Operand)、注释(Comment)、文件列表(Filename)等。基于本专利技术对VVP官方文档的解析所发现的规律,生成相应的VVP文件的识别规则,在本实施例中,识别规则包含了构成Label的语法规则、构成Opcode的语法规则、构成Operand的语法规则、构成VVP文件中每一条语句的语法规则,构成头语句的语法规则。并且本专利技术把这些语法规则通过语法的铁路图来进行表示,使得VV本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种VVP文件的预分析方法,其特征在于,包括:步骤1,对VVP文件的官方文档进行解析,以生成VVP文件的识别规则;步骤2,根据所述识别规则对VVP文件的语句进行语法分析,将经过语法分析识别出来的字段根据其类别备注相应的类别标签并存储为索引;步骤3,根据所述索引读取所述VVP文件的语句,找到所述VVP文件所有逻辑门以及逻辑门之间的驱动与被驱动关系并输出。2.如权利要求1所述的VVP文件的预分析方法,其特征在于,所述步骤1中对VVP文件的官方文档进行解析具体为将VVP文件划分为执行器路径、头语句、多个模块以及文件列表。3.如权利要求1所述的VVP文件的预分析方法,其特征在于,所述步骤3包括:步骤3.1,根据所述索引找到包含逻辑门的一条语句,将该语句作为当前语句,该逻辑门作为当前逻辑门;步骤3.2,在当前语句中查找当前逻辑门的输入信息;步骤3.3,在当前语句以外的其他语句中查找当前逻辑门的输出信息;步骤3.4,查看当前语句所在的模块;步骤3.5,将步骤3.2至步骤3.4所查找到的内容整理形成当前逻辑门的逻辑单元并输出至Json文件,返回步骤3.1读取所述VVP文件的下一条语句,直至所有逻辑门的逻辑单元被输出。4.如权利要求3所述的VVP文件的预分析方法,其特征在于,所述类别标签包括:Header、Label、Opcode、Operand、Comment、Filename。5.如权利要求4所述的VVP文件的预分析方法,其特征在于,所述步骤3.5中将步骤3.2至步骤3.4所查找到的内容整理形成当前逻辑门的逻辑单元并输出具体包括:当找到类别标签为Opcode...

【专利技术属性】
技术研发人员:王玉皞罗雨桑徐子晨刘智毅彭鑫江润民汤湘波黄国勇
申请(专利权)人:国微集团深圳有限公司
类型:发明
国别省市:

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

1