System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及状态机的领域,尤其涉及基于petri网的状态机电路的实现方法、系统、设备及介质。
技术介绍
1、有限状态机(finite state machine),缩写为fsm,已被广泛运用到在数字逻辑系统中,表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。在芯片设计中使用verilog hdl语言来描述fsm有限状态机中的状态跳转,是一种在有限个状态之间按一定规律转换的电路,可以认为是组合逻辑与时序逻辑的一种结合。
2、现有的控制电路(状态机)结构中的组合逻辑用硬件描述语言(verilog hdl)是无法精确描述的,其电路结构大多依赖综合工具的优化;由状态机产生的控制信号驱动较多电路时,信号路径延迟较大,电路性能可能会受到影响;对于复杂的状态机来说,容易漏写或者错写状态转移;此外,对于迭代版的设计而言,设计需求或者技术规格的变化往往会导致原电路设计的功能发生改变,进而引起控制状态机的功能发生改变,则状态机电路需要重新设计;此外,代码中充斥着大量的case语句,对于分支条件比较多的设计而言,可读性和可维护性就会变的比较差,修改或者优化也容易出错,并且状态机电路是专用于模块独有的控制流设计,不具备模块的可复用性,可移植性。
技术实现思路
1、有鉴于此,本专利技术提出了基于petri网的状态机电路的实现方法、系统、设备及介质,实现了对状态机的电路结构的优化,降低了控制信号的负载,便于对状态机根据实际需求进行调整布局,提高了可维护性。
2、基于上述
3、本专利技术提出了基于petri网的状态机电路的实现方法,包括:
4、响应于接收到功能需求,获取具有库所和变迁功能的电路元件,将电路元件组合成神经节点,所述神经节点包括串行分支和并发分支;
5、将串行分支和并发分支进行组合得到网络结构,所述网络结构包括串行结构、并发结构和冲突结构;
6、根据串行结构、并发结构和冲突结构的组合得到满足功能需求的状态机结构;
7、将状态机结构中的神经节点进行模块化,将模块之间进行连接,并设置模块的输入触发条件;
8、响应于存在高扇出的第一控制信号,将状态机结构中产生第一控制信号的神经节点进行克隆,得到多个相同的神经节点并基于其分别产生第一控制信号,共同驱动输出总线。
9、在一些实施例中,所述串行分支定义为响应于get信号有效并且place信号无效,token信号拉高一个时钟周期;
10、所述串行分支的表达式如下:
11、a=get?1′b1:(put?1′b0:place);
12、b=((!place)&&(!token)&&get)?1′b1:1′b0;
13、其中,put为输入的能够促使发生状态变化的条件信号,place为输出库所信号,token为输出变迁信号,get为接收上一个神经节点的token信号,1′b1为高电平,1′b0为低电平。
14、在一些实施例中,所述并发分支定义为响应于put信号有效并且place信号下降沿,token信号拉高一个时钟周期;
15、所述并发分支的表达式如下:
16、x=get?1′b1:(put?1′b0:place);
17、y=(place&&(!token)&&get)?′b1:1′b0。
18、在一些实施例中,所述串行结构的表达式如下:
19、
20、
21、
22、
23、其中,qx0为第零节点,qx1为第一节点,qx4为第四节点;
24、qx0token为qx0跃迁信号,qx0place为qx0库所信号,qx1token为qx1跃迁信号,qx1place为qx1库所信号;
25、get0为接收输入的token信号,put0为qx0的输入信号,get1为接收qx0的token信号,put1为qx1的输入信号;
26、其中,响应于链路的place处于低电平,qx0的token信号触发qx1。
27、在一些实施例中,所述并发结构的表达式为:
28、
29、
30、
31、
32、
33、
34、其中,qa2为a分支的第二节点,qb0为b分支的第零节点,qc0为c分支的第零节点;
35、qa2token为qa2跃迁信号,qa2place为qa2库所信号,qb0token为qb0跃迁信号,qb0place为qb0库所信号,qc0token为qc0跃迁信号,qc0place为qc0库所信号;
36、geta2为接收输入的token信号,puta2为qa2的输入信号,getb0为接收qb0的token信号,putb0为qb0的输入信号,getc0为接收qc0的token信号,putc0为qc0的输入信号。
37、在一些实施例中,所述并发结构的工作方式如下:
38、响应于分支b、c的处于空闲状态且分支ab和分支ac之间在同一个时钟域内同步,qa2直接分别触发qb0、qc0;
39、响应于分支b、c的处于空闲状态且分支ab和分支ac都不在同一个时钟域内同步,将qa2在qb0和qc0内分别进行同步,得到同一个时钟域内的ab分支和同一个时钟域的ac分支,触发b和c分支的其他节点。
40、在一些实施例中,所述冲突结构的表达式如下:
41、
42、
43、
44、
45、
46、
47、其中,qd2为d分支的第二节点,qe2为e分支的第二节点,qf0为f分支的第零节点;
48、qd2token为qd2跃迁信号,qd2place为qd2库所信号,qe2token为qe2跃迁信号,qe2place为qe2库所信号,qf0token为qf0跃迁信号,qf0place为qf0库所信号;
49、getd2为接收输入的token信号,putd2为qd2的输入信号,gete2为接收qe2的token信号,pute2为qe2的输入信号,getf0为接收qf0的token信号,putf0为qf0的输入信号;
50、其中,响应于qd2、qe2的place信号有效且de分支在同一个时钟域同步时,qd2、qe2触发qf0;
51、响应于de分支不在同一个时钟域同步时,将qd2在qf0中同步,qe2在qf0中同步,得到在同一时钟域同步的df分支和同一时钟域同步的ef分支,当qd2、qe2的place信号有效时,触发qf0。
52、本专利技术提出了基于petr本文档来自技高网...
【技术保护点】
1.基于petri网的状态机电路的实现方法,其特征在于,包括:
2.根据权利要求1所述的基于petri网的状态机电路的实现方法,其特征在于,所述串行分支定义为响应于get信号有效并且place信号无效,token信号拉高一个时钟周期;
3.根据权利要求2所述的基于petri网的状态机电路的实现方法,其特征在于,所述并发分支定义为响应于put信号有效并且place信号下降沿,token信号拉高一个时钟周期;
4.根据权利要求1所述的基于petri网的状态机电路的实现方法,其特征在于,所述串行结构的表达式如下:
5.根据权利要求1所述的基于petri网的状态机电路的实现方法,其特征在于,所述并发结构的表达式为:
6.根据权利要求5所述的基于petri网的状态机电路的实现方法,其特征在于,所述并发结构的工作方式如下:
7.根据权利要求1所述的基于petri网的状态机电路的实现方法,其特征在于,所述冲突结构的表达式如下:
8.基于petri网的状态机电路的实现系统,其特征在于,包括:
9.一种
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1至7任一项所述基于petri网的状态机电路的实现方法的步骤。
...【技术特征摘要】
1.基于petri网的状态机电路的实现方法,其特征在于,包括:
2.根据权利要求1所述的基于petri网的状态机电路的实现方法,其特征在于,所述串行分支定义为响应于get信号有效并且place信号无效,token信号拉高一个时钟周期;
3.根据权利要求2所述的基于petri网的状态机电路的实现方法,其特征在于,所述并发分支定义为响应于put信号有效并且place信号下降沿,token信号拉高一个时钟周期;
4.根据权利要求1所述的基于petri网的状态机电路的实现方法,其特征在于,所述串行结构的表达式如下:
5.根据权利要求1所述的基于petri网的状...
【专利技术属性】
技术研发人员:赵新宇,孙旭,周玉龙,刘刚,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。