CN114548004A - 识别verdi波形中包类型的方法 - Google Patents
识别verdi波形中包类型的方法 Download PDFInfo
- Publication number
- CN114548004A CN114548004A CN202111105002.3A CN202111105002A CN114548004A CN 114548004 A CN114548004 A CN 114548004A CN 202111105002 A CN202111105002 A CN 202111105002A CN 114548004 A CN114548004 A CN 114548004A
- Authority
- CN
- China
- Prior art keywords
- waveform
- serial number
- picture
- signal line
- verdi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种识别verdi波形中包类型的方法,用于对USB包类型的识别,其包括如下步骤:a.在verdi中截取波形图片,并将图片输入计算机软件;b.计算机软件对输入的图片进行解析以获取当前图片的序列号和对应的描述信息,并将序列号保存至计算机软件的记忆库中;c.选择重复步骤a‑b直到获得的所需数量的序列号;d.将待测波形图片输入计算机软件,并获取待测波形图片的序列号;e.将待测序列号与记忆库中的序列号逐一对比,直到待测序列号中含有记忆库中的序列号并输出待测波形的描述信息。本发明的识别verdi波形中包类型的方法可以快速获取关键部分的包信息,减少打印信息,缩短仿真时间,提高了验证效率,同时也提高了验证工程师发现缺陷的能力。
Description
技术领域
本发明涉及电子信息领域,更具体地涉及一种识别verdi波形中包类型的方法。
背景技术
现今数字电路验证的校验方法主要是自动比对,软件打印结果信息。在校验过程中,验证工程师在检查日志文件里没有错误信息后,需要比对波形和日志信息,检查待测设计的行为是否符合预期,通常用synopsys公司旗下的软件—VCS对电路进行仿真,仿真之后产生日志文件和波形数据文件,波形数据文件记载了电路仿真过程中各个信号随时间的数值变化,sysnopsys公司的verdi软件可以读取该波形数据文件,并在图形窗口显示信号数值变化,图形窗口的横坐标为时间,纵坐标为信号的数值变化,可以在verdi的一个窗口中观察多个电路信号的数值变化。但是只有测试用例通过往往不能说明待测设计没有设计缺陷。在对待测设计行为进行检查的过程中,阅读日志信息的时间占比为50%,verdi 波形确认的时间占比为50%。验证工程师想要确认波形上的某个区域是什么类型的包,可采用的方法是:1、通过日志信息的包发出时间反推;2、根据波形的跳变推导包的类型;3、根据待测设计的内部信号推导包的类型。但是,上述方法1和2的校验时间长,降低了校验的效率;而方法3中待测设计的信号可能存在逻辑错误,校验精度得不到有效的保证。
以usb验证为例,通常主机和设备都是vip(verification IntellectualProperty)模拟的,包信息对验证工程师是非透明的,比如在分离传输中,判断包类型是开始分离包还是完成分离包,需要通过回调函数添加打印信息才能得到。不仅耗时,而且大大增加了日志的体积,而且有很多冗余打印信息并不是工程师所需要的。
因此,有必要提供一种改进的能快速而有效地识别包信息的识别verdi波形中包类型的方法来克服上述缺陷。
发明内容
本发明的目的是提供一种识别verdi波形中包类型的方法,本发明的识别 verdi波形中包类型的方法可以快速获取关键部分的包信息,减少打印信息,缩短仿真时间,提高了验证效率,同时也提高了验证工程师发现缺陷的能力。
为实现上述目的,本发明提供一种识别verdi波形中包类型的方法,用于对 USB包类型的识别,其包括如下步骤:
a.在verdi中截取波形图片,并将所述图片输入计算机软件;
b.计算机软件对输入的图片进行解析以获取当前图片的序列号和对应的描述信息,并将所述序列号保存至计算机软件的记忆库中;
c.重复步骤a-b直到获得所需数量的序列号;
d.将待测波形图片输入计算机软件,并获取待测波形图片的序列号;
e.将待测序列号与记忆库中的序列号逐一对比,直到待测序列号中含有记忆库中的序列号并输出所述待测波形的描述信息。
较佳地,设定波形图片中上侧的信号线为信号线1,下侧的信号线为信号线 2,并定义:信号线1为高电平且信号线2为低电平时为J态,信号线1为低电平且信号线2为高电平时为K态,信号线1为低电平且信号线2为低电平时为 SE0态;且所述序列号由J、K、SE0任意排列组合形成。
较佳地,在所述步骤a中,截取的所述波形图片包含至少一个周期信息与包的描述信息。
较佳地,截取的所述波形图片中仅包含背景与信号线,且背景与信号线为不同的颜色。
较佳地,所述步骤b具体包括如下步骤:解析当前图片的像素信息并提取信号线的跳变序列以获取所述序列号和对应的描述信息。
较佳地,待测序列号的长度为m位,记忆库中的序列号的长度为n,且m ≥n;m与n均为自然数。
7、如权利要求6所述的识别verdi波形中包类型的方法,其特征在于,当m >n时,将待测序列号中的m-n部分清零,并与记忆库中的序列号逐一进行对比。
较佳地,所述步骤e具体地还包括如下步骤:
e1.待测序列号与记忆库中的一条序列号对比;
e2.待测序列号左移一位并与记忆库中的该条序列号对比;
e3.重复步骤e2,直到待测序列号与该条序列号匹配或左移次数达到m-n。
与现有技术相比,本发明的识别verdi波形中包类型的方法,主要用于对USB 包类型的识别,其采取人工输入,软件学习的方法,在使用过程中,用户只需要在第一次使用的时候输入正确的波形图片和描述信息,让软件对波形图片进行解析获取序列号,也即自主完成对波形图片的学习,在后续的识别中,软件可以根据学习经验识别出波形图片中所包含的包的描述信息;因此可以快速获取关键部分的包信息,减少打印信息,缩短仿真时间,提高了验证效率,同时也提高了验证工程师发现缺陷的能力。
通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。
附图说明
图1为本发明识别verdi波形中包类型的方法的流程图。
图2为本发明识别verdi波形中包类型的方法的一个实施例的波形图片。
图3为本发明识别verdi波形中包类型的方法中待测序列号与记忆库中序列号的对比流程图。
图4为本发明识别verdi波形中包类型的方法中待测序列号与记忆库中序列号对比的流程图。
图5为本发明识别verdi波形中包类型的方法中的确定序列号的流程图。
具体实施方式
现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。如上所述,本发明提供了一种识别verdi波形中包类型的方法,本发明的识别verdi波形中包类型的方法可以快速获取关键部分的包信息,减少打印信息,缩短仿真时间,提高了验证效率,同时也提高了验证工程师发现缺陷的能力。
请参考图1,图1为本发明识别verdi波形中包类型的方法的流程图。如图所示,本发明的识别verdi波形中包类型的方法包括如下步骤:
步骤S001.在verdi中截取波形图片,并将所述图片输入计算机软件;在本步骤中,以常规截图的方式在verdi软件中截取波形图片,而且在本发明中,所用到的verdi波形图片本身均包含有描述信息,该描述信息由首次截取波形图片的用户向软件输入图片描述而形成,也即为描述信息;且该描述由用户自定义,例如:图片描述示例1,这是一个SOF包,图片描述示例2,USB设备1发送的配置描述符数据包,图片描述示例3,这是一个开始分离传输包;总之,该描述包含包的类型信息,包传输的数据类型等信息等,当软件向用户再次输出此段描述信息时,用户通过该描述可以获知截图里包含有何种类型的包,也即获得该波形图片的描述信息。另外,在本步骤中,截取的所述波形图片需包含至少一个周期信息,以使得后续对图片进行解析时能获得完整的周期信息及相关的描述信息;尔后将所述图片输入计算机软件以方便后续步骤对所述图片进行进一步的处理。
步骤S002.计算机软件对输入的图片进行解析以获取当前图片的序列号和对应的描述信息,并将所述序列号保存至计算机软件的记忆库中;在本步骤中,输入所述计算机软件的所述波形图片中仅包含背景与信号线,在波形图片中没有其它多余的线条或图形颜色,从而在对当前图片进行解析时不会受到其它线条或图形颜色的干扰与影响,保证了解析结果的准确性;且背景与信号线为不同的颜色,在verdi中,背景的颜色通常为黑色(如图2所示),而信号线的颜色为非黑色,以便于能轻松区别开来信号线与背景,通常为了明显地区别于背景色,在本发明中,信号线可以设置为绿色、白色、红色等与背景色(黑色) 区别较大的颜色,当然在实际应用中,可以灵活设置颜色的搭配,只要背景色与信号线的颜色能明显区别就可以。另外,在本发明中,设定波形图片中上方的信号线为信号线1,下方的信号线为信号线2,并定义:信号线1为高电平且信号线2为低电平时为J态,信号线1为低电平且信号线2为高电平时为K态,信号线1为低电平且信号线2为低电平时为SE0态;所述序列号由J、K、SE0 任意排列组合形成,比如序列号:J、K、J、K、J、K、J、J、J、K、K、J、J、 K、K、SE0,序列号体现了波形图片对应的包的描述信息,从而不同的包被解析后获得的序列号各不相同,因此可以通过不同的序列号来分析确定各个包的描述信息。进一步地,在本步骤中,所述序列号主要通过python编程代码解析当前图片的像素信息并提取信号线的跳变序列以获取所述序列号和对应的描述信息;其中,通过提取信号线的跳变序列获取所述序列号的具体过程如图5所示,后续将具体描述。另外,在本步骤中,获取了序列号后,将其保存到计算机软件的记忆库中,以便于后续对该序列号的调用。
步骤S003.重复步骤S001-S002直到获得所需数量的序列号;在本步骤中,重复执行上述步骤S001-S002以获得足够数量的序列号,以使得所述记忆库中存储有所需数量的序列号,以完成对各波形图片序列号的学习,后续即可通过已学习过的波形图片序列号比对待识别波形图片的序列号,进而识别出待识别波形图片对应的描述信息;在本发明中,所需的最大可识别数为200,即在所述记忆库中最多存储200条序列号,既兼顾了识别精度也兼顾了识别速度,在实际应用中,可具体根据所用软件的容量及运行速度而灵活设置该可识别数,本发明对此并不作具体限定。
步骤S004.将待测波形的图片输入计算机软件,并获取待测波形的图片的序列号;在本步骤中,将待测波形的图片输入计算机软件后,通过与步骤S002相同的处理从而获得该待测波形图片的序列号。
步骤S005.将待测序列号与记忆库中的序列号逐一对比,直到待测序列号中含有记忆库中的序列号并输出所述待测波形的描述信息;在本步骤中,待测序列号依次与记忆库中的存储的序列号一一单独进行对比,以免遗漏部分记忆库中的序列号没有对比到,确保对比范围的准确性。另外,在本发明中,待测序列号的长度为m位,记忆库中的序列号的长度为n,且m≥n;m与n均为自然数,也即是待测序列号的长度长于或者等于记忆库中当前正在进行比对操作的序列号的长度才能使待测序列号可正常与记忆库中的该条序列号进行对比分析,否则,待测序列号与记忆库中的当前正在比对的序列号不匹配,并跳过该次比对,将待测序列号继续与记忆库中的下一条序列号进行比对。如果与记忆库中的序列号都无法配对,则输出错误信息;且当m>n时,在每次与记忆库中的序列号对比时,均要将待测序列号中的m-n部分清零,再与记忆库中的序列号进行对比,以使得两个相对比的序列号的位数完全相同,保证对比结果的准确性。
其中,在所述步骤S005中,请结合参考图4,将待测序列号与记忆库中的序列号逐一对比具体地还包括如下步骤:
步骤S501.待测序列号与记忆库中的一条序列号对比;在本步骤中,通过所述步骤S004获得待测波形的图片的序列号后,将该序列号与记忆库中的一条序列号进行对比,若匹配成功,则可以通过记忆库中已学习过的序列号确定该序列号所对应的描述信息,若匹配不成功则进行下述步骤。
步骤S502.待测序列号左移一位并与记忆库中的该条序列号对比;在本步骤中,通过上述步骤S501的对比不匹配后,将待测序列号左移一位,再与记忆库中的序列号进行对比,以免重复步骤S501,由于所述待测序列号的位数大于记忆库中序列号的位数,因此在本步骤中所述待测序列号左移一位后,仍然需要将多余位数(即m-n位)的部分清零,以保证两个对比的序列号位数相同。具体地,两序列号对比的情况如图3所示,其中,序号H1为记忆库中的任意一条, K1为待测序列号,K2为左移一位后的待测序列号,K3为左移两位后的待测序列号。
步骤S503.重复步骤S502,直到待测序列号与该条序列号匹配或左移次数达到m-n;在本步骤中,在两种情况下停止重复步骤S502,情况一即是任意左移过后的待测序列号与当前记忆库中的序列号匹配上了,也即将待测序列号解析获取了描述信息;情况二即是,待测序列号的左移次数达到m-n次,也即是历遍当前待测序列号中与记忆库中当前的序列号对应位数的序列号,以防止存在漏测的可能,保证了识别的精度。
另外,在本发明中,请再结合参考图2与图5,确定序列号的流程如图5所示,具体地包括如下步骤:
步骤S201.提取波形图片的像素信息;在本步骤中,与上述描述相同获得截图的波形的图片的像素信息,而且截取的图片的大小为600*150,以满足对设定像素的要求。
步骤S202.判断第i列的像素信息;在本步骤中,i取值为0,也即从原点开始判断各像素信息;其中,定义黑色(背景色)的像素值为0,其它颜色(信号线)的像素值为非零,以区别开背景与信号线。
步骤S203.行数j从0递增;在本步骤中,通过行数j从0递增即可历遍0 列上的所有像素点,防止有遗漏。
步骤S204.若像素值大于0的行数j的个数p大于2,判定为跳变沿;在本步骤中,p的取值大于2即可,在实际应用中,可根据具体波形而选择设置在实际应用中,可以根据具体波形特性而选择设置。
步骤S205.记录跳变沿前后的行、列坐标;在本步骤中,完成跳变沿前后的行、列坐标的记录即完成对一个跳变沿的判定。
步骤S206.i的取值递增,重复步骤S202至S205;在本步骤中,通过i的递增及步骤S202至S205的重复,可以完成对波形图片中的所有跳变沿的判定与记录。
步骤S207.计算相邻两个跳变沿的行坐标相减的绝对值;以获得多个绝对值。
步骤S208.对比绝对值以确定对应的状态;在本步骤中,绝对值最大的为J 态,最小的为K态,其它为SE0态。
步骤S209.确定跳变周期t;在本步骤中,计算第1个跳变沿与第2个跳变沿、第2个跳变沿与第3个跳变沿、第3个跳变沿与第4个跳变沿、第4个跳变沿与第5个跳变沿之间列坐标差值的绝对值,并取平均数,则该平均数为跳变周期t;在应用过程中,其实利用前两个跳变沿就可以算出周期t,而用5个跳变沿可以获取4个周期的平均值,但在软件测试中,发现verdi会有很小的误差,比如真实周期是5,会出现实际图片解析出来,第一个周期是4的情况,也有第一个周期是6的情况,取平均值,然后向上或向下取整,比如周期4/5/5/5,平均值4.7,通过算法4.7>4.5取周期为5,因此取奇数个周期的平均数,跳变沿取到4就行,为了更准确,多取一个周期,到跳变沿5;因此,在实际应用过程中,可以根据精度要求灵活选择跳变沿的个数,奇数个最好。
步骤S210.计算状态持续拍数n;在本步骤中,从第6个跳变沿开始,计算每个跳变沿之间坐标差值的绝对值x,然后得到状态持续拍数n=x/t;在本发明中,由于前述步骤S209中取的前5个跳变沿,因此本步骤在上述步骤中的跳变沿的个数上加1也即第6个跳变沿开始计算;在实际应用中,访步骤开始计算的跳变沿的个数在前一步骤的基础上加1即可,并不具体限定开始的个数。
步骤S211.根据状态和持续拍数n得到序列号;在本步骤中,持续拍数n即表示J态和K态的重复次数,从而得到例如的序列号:J、K、J、K、J、K、J、 J、J、K、K、J、J、K、K、SE0。
综上所述,本发明的识别verdi波形中包类型的方法用于对USB包类型的识别,其采取人工输入,软件学习的方法,在使用过程中,用户只需要在第一次使用的时候输入正确的波形图片和描述信息,让软件对波形图片进行解析获取序列号,也即自主完成对波形图片的学习,在后续的识别中,软件可以根据学习经验识别出波形图片中所包含的包的描述信息;因此可以快速获取关键部分的包信息,减少打印信息,缩短仿真时间,提高了验证效率,同时也提高了验证工程师发现缺陷的能力。
以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
Claims (8)
1.一种识别verdi波形中包类型的方法,其特征在于,用于对USB包类型的识别,包括如下步骤:
a.在verdi中截取波形图片,并将所述图片输入计算机软件;
b.计算机软件对输入的图片进行解析以获取当前图片的序列号和对应的描述信息,并将所述序列号保存至计算机软件的记忆库中;
c.重复步骤a-b直到获得所需数量的序列号;
d.将待测波形图片输入计算机软件,并获取待测波形图片的序列号;
e.将待测序列号与记忆库中的序列号逐一对比,直到待测序列号中含有记忆库中的序列号并输出所述待测波形的描述信息。
2.如权利要求1所述的识别verdi波形中包类型的方法,其特征在于,设定波形图片中上侧的信号线为信号线1,下侧的信号线为信号线2,并定义:信号线1为高电平且信号线2为低电平时为J态,信号线1为低电平且信号线2为高电平时为K态,信号线1为低电平且信号线2为低电平时为SE0态;且所述序列号由J、K、SE0任意排列组合形成。
3.如权利要求2所述的识别verdi波形中包类型的方法,其特征在于,在所述步骤a中,截取的所述波形图片包含至少一个周期信息与包的描述信息。
4.如权利要求3所述的识别verdi波形中包类型的方法,其特征在于,截取的所述波形图片中仅包含背景与信号线,且背景与信号线为不同的颜色。
5.如权利要求4所述的识别verdi波形中包类型的方法,其特征在于,所述步骤b具体包括如下步骤:解析当前图片的像素信息并提取信号线的跳变序列以获取所述序列号和对应的描述信息。
6.如权利要求4所述的识别verdi波形中包类型的方法,其特征在于,待测序列号的长度为m位,记忆库中的序列号的长度为n,且m≥n;m与n均为自然数。
7.如权利要求6所述的识别verdi波形中包类型的方法,其特征在于,当m>n时,将待测序列号中的m-n部分清零,并与记忆库中的序列号逐一进行对比。
8.如权利要求7所述的识别verdi波形中包类型的方法,其特征在于,所述步骤e具体地还包括如下步骤:
e1.待测序列号与记忆库中的一条序列号对比;
e2.待测序列号左移一位并与记忆库中的该条序列号对比;
e3.重复步骤e2,直到待测序列号与该条序列号匹配或左移次数达到m-n。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111105002.3A CN114548004A (zh) | 2021-09-22 | 2021-09-22 | 识别verdi波形中包类型的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111105002.3A CN114548004A (zh) | 2021-09-22 | 2021-09-22 | 识别verdi波形中包类型的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114548004A true CN114548004A (zh) | 2022-05-27 |
Family
ID=81668562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111105002.3A Pending CN114548004A (zh) | 2021-09-22 | 2021-09-22 | 识别verdi波形中包类型的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114548004A (zh) |
-
2021
- 2021-09-22 CN CN202111105002.3A patent/CN114548004A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324660B (zh) | 一种重复视频的判断方法及装置 | |
CN111881289A (zh) | 分类模型的训练方法、数据风险类别的检测方法及装置 | |
US20100172569A1 (en) | Cell image analysis apparatus, cell image analysis method, and program | |
WO2021159802A1 (zh) | 图形验证码识别方法、装置、计算机设备及存储介质 | |
CN111753290A (zh) | 软件类型的检测方法及相关设备 | |
CN115421672B (zh) | 一种基于芯片的数据存储方法、系统及存储介质 | |
CN109389110A (zh) | 一种区域确定方法及装置 | |
CN113344826A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115100739B (zh) | 人机行为检测方法、系统、终端设备及存储介质 | |
CN110879888A (zh) | 病毒文件检测方法、装置及设备 | |
CN111260759B (zh) | 一种路径确定方法及装置 | |
CN114548004A (zh) | 识别verdi波形中包类型的方法 | |
JP2013182468A (ja) | パラメータ値設定誤り検出システム、パラメータ値設定誤り検出方法およびパラメータ値設定誤り検出プログラム | |
CN109034166B (zh) | 易混淆字符识别模型训练方法和装置 | |
CN114943083A (zh) | 一种智能终端漏洞代码样本挖掘方法、装置及电子设备 | |
CN110942073A (zh) | 一种集装箱拖车编号识别方法、装置和计算机设备 | |
CN113806737A (zh) | 一种恶意进程风险等级评估方法、终端设备及存储介质 | |
CN113284141A (zh) | 用于缺陷检测的模型确定方法、装置和设备 | |
CN107092702B (zh) | 基于重叠比例的地理信息要素位置对比检查方法及装置 | |
CN111612157A (zh) | 训练方法、文字识别方法、装置、存储介质及电子设备 | |
CN116991611B (zh) | 一种存储页细分状态识别方法、系统、设备及存储介质 | |
EP0370766B1 (en) | Sorting method and apparatus | |
CN116501867B (zh) | 基于互信息的变体知识掌握度检测方法、系统和存储介质 | |
CN111046012B (zh) | 巡检日志的抽取方法、装置、存储介质和电子设备 | |
CN114863240A (zh) | 自动化测试方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |