一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多比特寄存器的仿真方法、装置和电子设备与流程

2021-11-09 23:21:00 来源:中国专利 TAG:


1.本技术属于电路设计领域,具体涉及一种多比特寄存器的仿真方法、装置和电子设备。


背景技术:

2.寄存器单元广泛应用于当下的数字电路片上系统(system on a chip,soc)设计中。随着设计规模的增大以及芯片制造工艺不断发展,多比特寄存器以其较小的面积、良好的功耗等优点被广泛应用于soc设计中。多比特寄存器是传统的单比特寄存器的扩展,在晶体管层次将多个单比特寄存器做到了一起,从功能上看和对应的多个单比特寄存器是等效的,因此在soc设计中可以很方便使用。多比特寄存器数据输入管脚和输出管脚都是一一对应的。出于测试(dft)需要,多比特寄存器中的扫描链将多个输出管脚串联在一起,因此在做spice仿真时,如果时序路径上的多比特寄存器处于扫描模式,工作点的初始化要视具体的输出管脚而定,往往需要多个周期。
3.基于上述原因,在使用spice对扫描模式下时序路径上的多比特寄存器进行仿真时,需要根据输出管脚的时序沿以及单元库文件中的状态表进行分析,得到正确的输入值序列以使得初始状态到下一个状态的跳变和当前时序沿一致。多数的多比特寄存器有四个及以上的比特位,手动根据功能表进行分析比较耗时耗力,也容易出错。


技术实现要素:

4.本技术实施例的目的是提供一种多比特寄存器的仿真方法、装置和电子设备,能够解决手动根据功能表进行分析比较耗时耗力,也容易出错的问题。
5.为了解决上述技术问题,本技术是这样实现的:
6.第一方面,本技术实施例提供了一种多比特寄存器的仿真方法,包括:对至少两比特寄存器的管脚状态信息进行扩展处理;根据扩展处理后的管脚状态信息,确定多个状态转移路径;遍历所述多个状态转移路径,确定符合预定要求的目标路径;基于所述目标路径,确定对应的输入信息。
7.第二方面,本技术实施例提供了一种多比特寄存器的仿真装置,包括:扩展模块,用于对至少两比特寄存器的管脚状态信息进行扩展处理;确定模块,用于根据扩展处理后的管脚状态信息,确定多个状态转移路径;遍历模块,用于遍历所述多个状态转移路径,确定符合预定要求的目标路径;基于所述目标路径,确定对应的输入信息。
8.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
9.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
10.第五方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述
通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
11.在本技术实施例中,对至少两比特寄存器的管脚状态信息进行扩展处理;根据扩展处理后的管脚状态信息,确定多个状态转移路径;遍历所述多个状态转移路径,确定符合预定要求的目标路径;基于所述目标路径,确定对应的输入信息,能够解决手动根据功能表进行分析比较耗时耗力,也容易出错的问题。
附图说明
12.图1是本技术实施例提供的一种多比特寄存器的仿真方法的示意性流程图;
13.图2是多个状态转移路径的示意图;
14.图3是本技术实施例提供的另一种多比特寄存器的仿真方法的示意性流程图;
15.图4是本技术实施例提供的另一种多比特寄存器的仿真方法的示意性流程图;
16.图5为本技术实施例提供的一种多比特寄存器的仿真装置的结构示意图;
17.图6为本技术实施例提供的电子设备的结构示意图;
18.图7为本技术实施例提供的电子设备的结构示意图。
具体实施方式
19.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
20.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
21.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的一种多比特寄存器的仿真方法进行详细地说明。
22.图1是本技术实施例提供的一种多比特寄存器的仿真方法的示意性流程图,所述方法由电子设备执行,电子设备包括但不限于终端设备和/或服务器设备,所述方法包括:
23.s102:对至少两比特寄存器的管脚状态信息进行扩展处理。
24.以两比特寄存器为例,数据输入管脚d0,d1,数据输出管脚q0,q1,时钟管脚cp,功能模式测试模式切换管脚se,测试输入管脚si,复位管脚rb,其功能见表1所示。
25.表1
26.dcpsiserbqq_next
‑‑‑‑
l

l

~r
‑‑
h

n

rh/lhh

h/lh/lr

lh h/l
27.状态标记符含义见表2所示。
28.表2
[0029][0030][0031]
q0和q1的相关管脚列表如下:
[0032]
q0:d0 cp si se rb
[0033]
q1:d1 cp q0 se rb
[0034]
根据上述的信息对功能表进行扩展以将数据输入和输出管脚扩展为两位。。本技术对扩展方式不做具体限定。任何已有的能够将数据输入和输出管脚扩展为两位的扩展方式均可以合理地应用于本步骤中,扩展后的状态表例如表3所示,为了便于分析,这里只列出扫描模式。
[0035]
表3
[0036]
d[1:0]cpsiserbq[1:0]q[1:0]_next
‑‑‑‑‑
l
‑‑
ll
‑‑
~r
‑‑
h
‑‑
nn
‑‑
rhhh
‑‑‑
h
‑‑
rlhh
‑‑‑
l
‑‑
r

hh

hh
‑‑‑
r

hh

ll

[0037]
从表3可以看出,扫描模式下多比特寄存器相当于一个移位寄存器,由si输入的信号到达数据输出端时可能需要多个周期,因此使用spice进行仿真时,初始工作点的设定需要多个周期。
[0038]
s104:根据扩展处理后的管脚状态信息,确定多个状态转移路径。
[0039]
图2是多个状态转移路径的示意图。例如,在扫描模式下,cp

>q0的时序边和功能模式下一样。但是cp

>q1的时序边因为q1的状态直接依赖于q0的状态,而q0又依赖于si的状态,需要进行多个周期的分析。
[0040]
s106:遍历所述多个状态转移路径,确定符合预定要求的目标路径。
[0041]
在一种实现方式中,所述预定要求包括:起始状态信息和最终状态信息。
[0042]
本步骤可以具体包括:遍历所述多个状态转移路径;在所述多个状态转移路径中,确定起始状态满足所述起始状态信息,最终状态满足所述最终状态信息的目标路径。
[0043]
例如,预定要求为需要从状态l变为h,也即l
‑‑
>h

。找到状态h

以及上一个状态

h,同

h状态相匹配的状态是l

,以此为起点向前回溯直到初始的
”‑‑“
。到此我们找到了符合要求的状态转换路径。
[0044]
s108:基于所述目标路径,确定对应的输入信息。
[0045]
在一种实现方式中,本步骤可以具体包括:确定所述目标路径中的第二节点;根据所述第二节点,在所述目标路径中确定对应的第一节点,其中,所述第一节点和所述第二节点之间存在通路。第一节点是目标路径中位于第二节点上游的节点,可选地,第一节点和第二节点在目标路径中的位置相邻。
[0046]
基于所述目标路径,找到状态h

以及上一个状态

h,同

h状态相匹配的状态是l

,以此为起点向前回溯直到初始的
”‑‑“
。到此找到了符合要求的状态转换路径及输入条件。
[0047]
在本技术实施例中,对至少两比特寄存器的管脚状态信息进行扩展处理;根据扩展处理后的管脚状态信息,确定多个状态转移路径;遍历所述多个状态转移路径,确定符合预定要求的目标路径;基于所述目标路径,确定对应的输入信息,能够解决手动根据功能表进行分析比较耗时耗力,也容易出错的问题。
[0048]
并且,不同的管脚命名规则也会给人工工作带来困扰,本技术实施例具有较好的通用性,可以极大提升工作效率。
[0049]
图3是本技术实施例提供的一种多比特寄存器的仿真方法的示意性流程图,所述方法由电子设备执行,电子设备包括但不限于终端设备和/或服务器设备,所述方法包括:
[0050]
s302:对至少两比特寄存器的管脚状态信息进行扩展处理。
[0051]
本步骤可以采用图1实施例步骤s102的描述,在此不再重复。
[0052]
s304:根据扩展处理后的管脚状态信息,确定多个连通路径;将所述连通路径中的环形路径断开,得到所述多个状态转移路径。
[0053]
对图2使用深度优先搜索(dfs)的方式进行全图遍历,找出多个连通路径,同时把环断开,可以得到如下状态转换路径。
[0054]
“‑‑“‑
>“ll”[0055]
“‑‑”‑
>
“‑
l
”‑
>“ll”[0056]
“‑‑”‑
>
“‑
h
”‑
>“ll”[0057]
“‑‑”‑
>
”‑
l
”‑
>“l
‑”‑
>“ll”[0058]
“‑‑”‑
>
“‑
h
”‑
>“h
‑”‑
>“ll”[0059]
s306:遍历所述多个状态转移路径,确定符合预定要求的目标路径。
[0060]
在一种实现方式中,所述预定要求包括:起始状态信息和最终状态信息。
[0061]
本步骤可以具体包括:遍历所述多个状态转移路径;在所述多个状态转移路径中,确定起始状态满足所述起始状态信息,最终状态满足所述最终状态信息的目标路径。
[0062]
例如,预定要求为需要从状态l变为h,也即l
‑‑
>h

,从上述路径中可以目标路径。找到状态h

以及上一个状态

h,同

h状态相匹配的状态是l

,以此为起点向前回溯直到初始的
”‑‑“
。到此我们找到了符合要求的状态转换路径。
[0063]
s308:基于所述目标路径,确定对应的输入信息。
[0064]
在一种实现方式中,本步骤可以具体包括:确定所述目标路径中的第二节点;根据所述第二节点,在所述目标路径中确定对应的第一节点,其中,所述第一节点和所述第二节点之间存在通路。第一节点是目标路径中位于第二节点上游的节点,可选地,第一节点和第二节点在目标路径中的位置相邻。
[0065]
基于所述目标路径,找到状态h

以及上一个状态

h,同

h状态相匹配的状态是l

,以此为起点向前回溯直到初始的
”‑‑“
。到此找到了符合要求的状态转换路径及输入条件。
由此可以得到初始化的输入设置以及仿真时的输入设置分别为:
[0066]
初始化(需要两个周期来完成):se=h,rb=h,第一个周期si=l,第二个周期si=h。
[0067]
仿真阶段:se=h,rb=h,si可以为任意值。
[0068]
在本技术实施例中,对至少两比特寄存器的管脚状态信息进行扩展处理;根据扩展处理后的管脚状态信息,确定多个状态转移路径;遍历所述多个状态转移路径,确定符合预定要求的目标路径;基于所述目标路径,确定对应的输入信息,能够解决手动根据功能表进行分析比较耗时耗力,也容易出错的问题。
[0069]
并且,不同的管脚命名规则也会给人工工作带来困扰,本技术实施例具有较好的通用性,可以极大提升工作效率。
[0070]
图4是本技术实施例提供的一种多比特寄存器的仿真方法的示意性流程图,所述方法由电子设备执行,电子设备包括但不限于终端设备和/或服务器设备,所述方法包括:
[0071]
s402:对至少两比特寄存器的管脚状态信息进行扩展处理。
[0072]
本步骤可以采用图1实施例步骤s102的描述,在此不再重复。
[0073]
s404:根据扩展处理后的管脚状态信息,确定多个连通路径;将所述连通路径中的环形路径断开,得到所述多个状态转移路径。
[0074]
例如,可以得到如下状态转换路径。
[0075]
“‑‑“‑
>“ll”[0076]
“‑‑”‑
>
“‑
l
”‑
>“ll”[0077]
“‑‑”‑
>
“‑
h
”‑
>“ll”[0078]
“‑‑”‑
>
”‑
l
”‑
>“l
‑”‑
>“ll”[0079]
“‑‑”‑
>
“‑
h
”‑
>“h
‑”‑
>“ll”[0080]
s406:遍历所述多个状态转移路径,确定符合预定要求的目标路径。
[0081]
例如,起始状态信息
“‑‑“
和最终状态信息“ll”的路径为符合预定要求的目标路径。
[0082]
得到符合预定要求的目标路径5个。
[0083]
“‑‑“‑
>“ll”[0084]
“‑‑”‑
>
“‑
l
”‑
>“ll”[0085]
“‑‑”‑
>
“‑
h
”‑
>“ll”[0086]
“‑‑”‑
>
”‑
l
”‑
>“l
‑”‑
>“ll”[0087]
“‑‑”‑
>
“‑
h
”‑
>“h
‑”‑
>“ll”[0088]
s408:根据所述目标路径的长度,对所述多个目标路径进行排序。
[0089]
例如,长度短的排在前,长度长的排在后,得到的排序为:
[0090]
“‑‑“‑
>“ll”[0091]
“‑‑”‑
>
“‑
l
”‑
>“ll”[0092]
“‑‑”‑
>
“‑
h
”‑
>“ll”[0093]
“‑‑”‑
>
”‑
l
”‑
>“l
‑”‑
>“ll”[0094]
“‑‑”‑
>
“‑
h
”‑
>“h
‑”‑
>“ll”[0095]
排序后可以由设计者从中选择想要的目标路径,例如选择
“‑‑”‑
>
“‑
h
”‑
>“h
‑”‑
>

ll”为目标路径。
[0096]
s410:基于所述目标路径,确定对应的输入信息。
[0097]
在一种实现方式中,本步骤可以具体包括:确定所述目标路径中的第二节点;根据所述第二节点,在所述目标路径中确定对应的第一节点,其中,所述第一节点和所述第二节点之间存在通路。第一节点是目标路径中位于第二节点上游的节点,可选地,第一节点和第二节点在目标路径中的位置相邻。
[0098]
基于所述目标路径,状态“ll”上一个状态h

,找到状态h

以及上一个状态

h,向前回溯直到初始的
”‑‑“
。到此找到了符合要求的状态转换路径及输入条件。
[0099]
在本技术实施例中,对至少两比特寄存器的管脚状态信息进行扩展处理;根据扩展处理后的管脚状态信息,确定多个状态转移路径;遍历所述多个状态转移路径,确定符合预定要求的目标路径;基于所述目标路径,确定对应的输入信息,能够解决手动根据功能表进行分析比较耗时耗力,也容易出错的问题。
[0100]
并且,不同的管脚命名规则也会给人工工作带来困扰,本技术实施例具有较好的通用性,可以极大提升工作效率。
[0101]
图5为本技术实施例提供的一种多比特寄存器的仿真装置的结构示意图,包括:
[0102]
扩展模块510用于对至少两比特寄存器的管脚状态信息进行扩展处理。
[0103]
确定模块520用于根据扩展处理后的管脚状态信息,确定多个状态转移路径。
[0104]
遍历模块530用于遍历所述多个状态转移路径,确定符合预定要求的目标路径。
[0105]
输入模块540用于基于所述目标路径,确定对应的输入信息。
[0106]
在一种实现方式中,所述确定模块,用于根据扩展处理后的管脚状态信息,确定输入模块,用于多个连通路径;将所述连通路径中的环形路径断开,得到所述多个状态转移路径。
[0107]
在一种实现方式中,所述预定要求包括:起始状态信息和最终状态信息,所述遍历模块,用于遍历所述多个状态转移路径;
[0108]
在所述多个状态转移路径中,确定起始状态满足所述起始状态信息,最终状态满足所述最终状态信息的目标路径。
[0109]
在一种实现方式中,所述输入模块,用于:确定所述目标路径中的第二节点;根据所述第二节点,在所述目标路径中确定对应的第一节点,其中,所述第一节点和所述第二节点之间存在通路。
[0110]
在一种实现方式中,所述的仿真装置,还包括:排序模块,用于在所述目标路径为多个的情况下,在所述遍历所述多个状态转移路径,确定符合预定要求的目标路径之后,根据所述目标路径的长度,对所述多个目标路径进行排序。
[0111]
本技术实施例中的多比特寄存器的仿真装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra

mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
[0112]
本技术实施例中的多比特寄存器的仿真装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
[0113]
本技术实施例提供的多比特寄存器的仿真装置能够实现图1至图4的方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0114]
可选地,如图6所示,本技术实施例还提供一种电子设备600,包括处理器601,存储器602,存储在存储器602上并可在所述处理器601上运行的程序或指令,该程序或指令被处理器601执行时实现上述多比特寄存器的仿真方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0115]
需要说明的是,本技术实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
[0116]
图7为实现本技术实施例的一种电子设备的硬件结构示意图。
[0117]
该电子设备100包括但不限于:射频单元101、网络模块102、音频输出单元103、输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、以及处理器110等部件。
[0118]
本领域技术人员可以理解,电子设备100还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
[0119]
其中,处理器110,用于对至少两比特寄存器的管脚状态信息进行扩展处理;
[0120]
根据扩展处理后的管脚状态信息,确定多个状态转移路径;
[0121]
遍历所述多个状态转移路径,确定符合预定要求的目标路径;
[0122]
基于所述目标路径,确定对应的输入信息。
[0123]
在一种实现方式中,处理器110,用于根据扩展处理后的管脚状态信息,确定多个连通路径;
[0124]
将所述连通路径中的环形路径断开,得到所述多个状态转移路径。
[0125]
在一种实现方式中,所述预定要求包括:起始状态信息和最终状态信息,处理器110,用于遍历所述多个状态转移路径;
[0126]
在所述多个状态转移路径中,确定起始状态满足所述起始状态信息,最终状态满足所述最终状态信息的目标路径。
[0127]
在一种实现方式中,处理器110,用于确定所述目标路径中的第二节点;
[0128]
根据所述第二节点,在所述目标路径中确定对应的第一节点,其中,所述第一节点和所述第二节点之间存在通路。
[0129]
在一种实现方式中,处理器110,用于根据所述目标路径的长度,对所述多个目标路径进行排序。
[0130]
应理解的是,本技术实施例中,输入单元104可以包括图形处理器(graphics processing unit,gpu)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元
106可包括显示面板1061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板1061。用户输入单元107包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器109可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
[0131]
本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述一种多比特寄存器的仿真方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0132]
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0133]
本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述一种多比特寄存器的仿真方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0134]
应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0135]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0136]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0137]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献