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

复位电路、系统、方法、电子设备及存储介质与流程

2022-02-22 07:51:44 来源:中国专利 TAG:


1.本发明涉及复位技术领域,具体涉及一种复位电路、系统、方法、电子设备及存储介质。


背景技术:

2.在使用fpga实现的异构加速器中,一般将fpga的设计分为外壳部分和动态内核部分,其中动态内核部分实现用户定义的各种功能,一般为多个内核通过并联或串联的方式构成实现特定功能的系统。所有的功能系统都可以通过fpga编程的方式实现动态的切换,从而使基于fpga的异构加速器具有强大的通用性和灵活性。随着动态内核的功能增强,面向动态内核的功能级复位就显得非常必要,而目前的解决方法还存在一定的不足,在实际的应用场景中,我们需要使用普通的用户权限既可以对动态内核区进行全局复位,又可以针对特定内核进行功能复位。解决这一问题的思路就是在动态内核区增加若干受寄存器控制的复位端口,再结合内核内部设置复位寄存器的办法,从而满足面向动态内核的功能复位的需求。


技术实现要素:

3.有鉴于此,本发明实施例提供了一种复位方法、装置、电子设备即存储介质,旨在解决fpga在运行过程中,软件重新载入,如果动态区的内核程序未变,也不会有再次的复位过程的问题。
4.根据第一方面,本发明实施例提供了一种复位电路,包括:
5.配置模块,所述配置模块的输入端与复位总线的输出端连接,所述配置模块用于将所述复位总线发送的复位信号配置到相应的复位同步模块;
6.至少一个所述复位同步模块,各个所述复位同步模块的输入端与所述配置模块的输出端电连接。
7.本发明提供的复位电路,主要针对与动态内核区的内核进行复位,将复位总线发送的复位信号发送到配置模块,配置模块的输出端连接多个复位同步模块,配置模块可将复位信号配置到对应的复位同步模块,复位同步模块的输出端与动态内核区的内核连接,进而对内核实现复位,并且可以根据配置模块的配置对指定的内核进行复位,满足各种复位请求。
8.结合第一方面,在第一方面第一实施方式中,还包括初始复位模块,所述初始复位模块的输出端依次分别与所述配置模块的输入端和所述复位同步模块的输入端电连接,所述初始复位模块用于对所述配置模块和所述复位同步模块进行初始复位。
9.本发明提供的复位电路,fpga中的动态区作为一个整体,在初次下载时,会经历一次复位操作,因此需要对复位电路中的其他各个模块先进行复位。
10.结合第一方面第一实施方式,在第一方面第二实施方式中,还包括互联模块,所述互联模块的输入端依次分别与所述初始复位模块的输出端和所述复位总线的输出端连接;
所述互联模块的输出端与所述配置模块的输入端连接。
11.本发明提供的复位电路,互联模块与复位总线连接,通过对互联模块才用级联的方式连接可以对复位总线进行拓展,可以拓展多种复位方式,满足各种复位需求。
12.根据第二方面,本发明实施例还提供了一种复位系统,包括至少两个上述所述的复位电路;所述复位电路依次级联。
13.本发明提供的复位系统,通过多个复位电路的级联对复位总线进行拓展,可以布局多种复位方式,满足构建复杂的复位系统的需求,可以对其中一个内核或者根据功能集合进行独立的复位,产生符合预期的复位效果。
14.根据第三方面,本发明实施例还提供了一种基于复位电路的复位方法,应用于上述所述的复位电路,所述方法包括:
15.获取复位信号和所述配置模块的配置状态;
16.基于所述配置模块的配置状态发送所述复位信号到所述复位同步模块。
17.本发明提供的基于复位电路的复位方法,配置模块为一个gpio模块,实现一组可读写的寄存器,并且挂载到复位总线上,用户层的代码可以配置该寄存器的输出值,从而控制后续复位同步模块产生需要的复位信号;复位同步模块m4根据分配给不同的时钟域产生相应的复位信号,因此需要获取配置模块的配置状态,当需要对指定的内核进行复位时,与该内核连接的配置模块处于启动状态,进而配置模块将复位信号发送到相匹配的复位同步模块,进而复位同步模块对指定的内核进行复位,根据配置模块的配置对指定的内核进行复位,满足各种复位请求。主要针对与动态内核区的内核进行复位,将复位总线发送的复位信号发送到配置模块,配置模块的输出端连接多个复位同步模块,配置模块可将复位信号配置到对应的复位同步模块,复位同步模块的输出端与动态内核区的内核连接,进而对内核实现复位,并且可以根据配置模块的配置对指定的内核进行复位,从而可以满足各种复位请求。
18.结合第三方面,在第三方面第一实施方式中,所述基于所述配置模块的配置状态启动所述复位同步模块步骤中,包括:
19.获取所述复位信号执行层级;
20.基于所述执行层级发送所述复位信号到相应的所述配置模块。
21.本发明提供的基于复位电路的复位方法,针对于级联的复位电路可通过确认复位信号的执行层级进而对相应层级的内核进行复位,相应的复位电路中配置模块的访问地址是系统统一编排,可以根据复位信号的执行层级,对该执行层级所对应的配置模块发送复位信号,进而进行复位操作,可以满足对动态内核中各个内核的控制,也可对多个内核同时进行复位。
22.结合第三方面,在第三方面第二实施方式中,所述获取复位信号和所述配置模块的配置状态步骤中,包括:
23.对所述配置模块和所述复位同步模块进行初始复位;
24.基于初始复位结果接收所述复位信号。
25.本发明提供的基于复位电路的复位方法,主要针对与动态内核区的内核进行复位,将复位总线发送的复位信号发送到配置模块,配置模块的输出端连接多个复位同步模块,配置模块可将复位信号配置到对应的复位同步模块,复位同步模块的输出端与动态内
核区的内核连接,进而对内核实现复位,并且可以根据配置模块的配置对指定的内核进行复位,满足各种复位请求。
26.根据第四方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的基于复位电路的复位方法。
27.根据第五方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的基于复位电路的复位方法。
附图说明
28.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是应用本发明实施例提供的复位电路的结构示意图;
30.图2是应用本发明实施例提供的复位系统的结构示意图;
31.图3是应用本发明另一实施例提供的复位系统的结构示意图;
32.图4是应用本发明实施例提供的基于复位电路的复位方法的流程图;
33.图5是应用本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
34.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.需要说明的是,本技术实施例提供的基于复位电路的复位方法,其执行主体可以是复位电路的装置,该复位电路的装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是服务器或者终端,其中,本技术实施例中的服务器可以为一台服务器,也可以为由多台服务器组成的服务器集群,本技术实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是电子设备为例来进行说明。
36.外壳部分实现host对fpga的异构加速器的基本管理功能和数据通道。基本的管理功能包括管理动态区中内核的下载,烧写flash芯片保存上电使用的外壳版本,实现管理权限的驱动和用户权限的驱动之间的消息通信。数据通道实现host和动态内核之间的pcie dma(英文:direct memory access中文:直接内存访问)传输通道。
37.动态内核部分实现用户定义的各种功能,一般为多个内核通过并联或串联的方式构成实现特定功能的系统。所有的功能系统都可以通过fpga编程的方式实现动态的切换,从而使基于fpga的异构加速器具有强大的通用性和灵活性。随着动态内核的功能增强,面
向动态内核的功能级复位就有了更高要求,而目前的解决方法还存在一定的不足。
38.目前常用的解决方法有:
39.一、使用外壳提供的全局复位功能:外壳在下载动态内核时,在使内核进入工作状态前,会执行全局复位。
40.二、为动态内核区内的每个内核设计复位控制寄存器:为内核增加复位控制寄存器后,可以独立控制该内核的复位状态,且与其他内核不会相互影响。
41.第一种方式需要管理驱动操作外壳内的控制电路,需要管理员权限,只能伴随下载操作执行,不能实现在程序运行过程中对特定功能模块实现复位操作;
42.第二种方式虽然可以针对内核级别进行操作,但是只能复位内核内部的部分逻辑,寄存器接口部分的电路不能被复位。另外动态内核区中编译系统自动连接的存储器接口电路,这部分也不能被复位。
43.在本技术一个实施例中,如图1所述,提供了一种复位电路,包括配置模块m3和复位同步模块m4:
44.配置模块m3,所述配置模块m3的输入端与复位总线的输出端连接,所述配置模块m3用于将所述复位总线发送的复位信号配置到相应的复位同步模块m4;
45.至少一个所述复位同步模块m4,各个所述复位同步模块m4的输入端与所述配置模块m3的输出端电连接。
46.在本实施例中,主要针对fpga(field programmable gate array现场可编程与门阵列)实现的异构加速器中实现复位,一般将fpga的设计分为外壳部分和动态内核部分。
47.在实际的应用场景中,我们需要使用普通的用户权限既可以对动态内核区进行全局复位,又可以针对特定内核进行功能复位。解决这一问题的思路就是在动态内核区增加若干受寄存器控制的复位端口,再结合内核内部设置复位寄存器的办法,从而满足面向动态内核的功能复位的需求。
48.在本实施例中,配置模块m3为一个gpio模块(英文:general-purpose input/output中文:通用目的的输入/输出),实现一组可读写的寄存器,并且挂载到复位总线上,用户层的代码可以配置该寄存器的输出值,从而控制后续复位同步模块m4产生需要的复位信号;复位同步模块m4的作用是将复位信号同步到某个时钟域上,以避免复位解除时造成时序上的问题。在本实施例中,图中包括3个复位同步模块m4,实际中可根据需要添加或者删减该复位同步模块m4,无固定的数量要求,在实际电路时,先铺设复位电路,然后在复位电路的输出接口处连接相应的动态内核区中的内核。本发明提供的复位电路,主要针对与动态内核区的内核进行复位,将复位总线发送的复位信号发送到配置模块m3,配置模块m3的输出端连接多个复位同步模块m4,配置模块m3可将复位信号配置到对应的复位同步模块m4,复位同步模块m4的输出端与动态内核区的内核连接,进而对动态内核取中的内核实现复位,实现对动态内核的全盘复位,并且可以根据配置模块m3的配置对指定的内核进行复位,满足各种复位请求。
49.在本技术一个可选的实施例中,如图1所示,上述复位电路还包括初始复位模块m1,所述初始复位模块m1的输出端依次分别与所述配置模块m3的输入端和所述复位同步模块m4的输入端电连接,所述初始复位模块m1用于对所述配置模块m3和所述复位同步模块m4进行初始复位。
50.现有设计中使用的复位模块仅有图1中的复位同步模块m4,本质上就是一个复位逻辑的同步器,将系统中的各种复位信号同步到相应的时钟域下,该模块有多个复位信号输入端,它们是“或”的关系,任何一个输入复位信号有效,则产生同步后的复位输出信号,当复位总线输入复位信号时,会将复位信号直接传输到复位同步模块m4,复位同步模块m4对动态内核中的内核进行全盘复位,而针对于特定内核的复位,则需要通过特定内核内部设定的复位寄存器进行相应的复位操作。
51.在本实施例中,由于设置了配置模块m3,因此在系统运行初始时需要对复位电路中的各个模块进行复位,通过初始复位模块m1的输出端依次分别与配置模块m3的输入端和复位同步模块m4的输入端连接,可在系统运行初始时对配置模块m3和复位同步模块m4进行复位,便于后续软件重新载入。
52.在本技术一个可选的实施例中,如图1所示,上述复位电路还包括互联模块m2,所述互联模块m2的输入端依次分别与所述初始复位模块m1的输出端和所述复位总线的输出端连接;所述互联模块m2的输出端与所述配置模块m3的输入端连接。
53.在本实施例中,为axi-lite(简化的先进扩展总线接口)接口的互联模块m2,用于扩展复位电路级联更多的同类复位电路,实现复位信号的多种配置需求。
54.本发明提供的复位电路,互联模块m2与复位总线连接,通过对互联模块m2才用级联的方式连接可以对复位总线进行拓展,可以拓展多种复位方式,满足各种复位需求。
55.如图2和图3所示,本实施例提供一种复位系统,包括至少两个上述所述的复位电路;所述复位电路依次级联。
56.在本实施例中,复位电路的二级级联关系如图2所示,通过图1中的复位电路级联形成图2中的复位系统,复位系统的详细电路的具体连接图如图3所示,即每一级复位电路中互联模块m2的输出端与下一级复位电路中互联模块m2的输入端连接,即互联模块m2对复位总线进行拓展,从而形成复位系统,在实际中可根据需要添加任意数量的复位电路进行级联。实际上,根据设计上的逻辑关系,芯片的资源规模,一般来说,也不需要级联过多复位电路,级联三级就足够满足绝大多数的设计需求。因此在生成默认的动态区复位关系配置时,可按照三级连接的关系进行设计。设计完成的内核可以通过配置命令指定需要使用的复位端口,从而完成整个动态区的复位关系的连接,如图2所示,图中的rst_0_0、rst_0_1、rst_0_2为复位同步模块m4的复位端的产生接口,将该接口与动态内核区中的内核的复位接口连接,多余的复位端的产生接口,在fpga布局布线都会优化掉不会浪费资源,被优化掉是fpga的编译软件的功能,当某个配置模块m3的输出没有连接时,没有被用到的驱动电路会被软件自动裁剪掉,达到节省资源的目的。
57.在本实施例中,如图2所示,第一级复位电路中的配置模块m3的输出端设有3个输出端连接处,每个输出端连接处连接有一个复位电路,以此方式向下级联,每一级的配置模块m3的输出端连接处的数量可以根据实际设定,即每一层级的复位电路数量可根据实际情况做适应性调整及设置。
58.本发明提供的复位系统,通过多个复位电路的级联对复位总线进行拓展,可以布局多种复位方式,在本实施例中,复位电路的输入端还包括全局复位端,全局复位端发送全局复位信号,全局复位信号可以实现对各个复位电路的全局复位操作,也可以实现复位电路中各个模块之间的串行连接。其中复位总线用于发送复位信号,并且将复位信号通过配
置模块m3以复位指令方式发送到级联的复位电路中,级联的配置模块m3根据接收到的复位指令进行相应的配置,进而各级复位电路中的配置模块m3将复位指令发送到所对应的复位同步模块m4,满足构建复杂的复位系统的需求,可以对其中一个内核或者根据功能集合进行独立的复位,产生符合预期的复位效果。
59.本领域技术人员可以理解,图1、图2和图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
60.在本技术一个实施例中,如图4所示,提供了一种基于复位电路的复位方法,应用于上述所述的复位电路,包括以下步骤:
61.s100,获取复位信号和所述配置模块m3的配置状态;
62.s200,基于所述配置模块m3的配置状态发送所述复位信号到所述复位同步模块m4。
63.在本实施例中,配置模块m3为一个gpio模块,实现一组可读写的寄存器,并且挂载到复位总线上,用户层的代码可以配置该寄存器的输出值,从而控制后续复位同步模块m4产生需要的复位信号;复位同步模块m4m4根据分配给不同的时钟域产生相应的复位信号,因此需要获取配置模块m3的配置状态,当需要对指定的内核进行复位时,与该内核连接的配置模块m3处于启动状态,进而配置模块m3将复位信号发送到相匹配的复位同步模块m4,进而复位同步模块m4对指定的内核进行复位,根据配置模块m3的配置对指定的内核进行复位,满足各种复位请求。
64.本发明提供的基于复位电路的复位方法,主要针对与动态内核区的内核进行复位,将复位总线发送的复位信号发送到配置模块m3,配置模块m3的输出端连接多个复位同步模块m4,配置模块m3可将复位信号配置到对应的复位同步模块m4,复位同步模块m4的输出端与动态内核区的内核连接,进而对内核实现复位,并且可以根据配置模块m3的配置对指定的内核进行复位,满足各种复位请求。
65.在本技术一个可选的实施例中,上述s200中的“基于所述配置模块m3的配置状态启动所述复位同步模块m4”,可以包括以下步骤:
66.(1)获取所述复位信号执行层级。
67.在本实施例中,针对于级联的复位电路可通过确认复位信号的执行层级进而对相应层级的内核进行复位,相应的复位电路中配置模块m3的访问地址是系统统一编排,假设将图2中的第一级复位电路中的配置模块m3的访问地址设为1000,其下一级复位电路中配置模块m3的访问地址设为2000,当复位信号执行层级需要执行到两级时,则对配置模块m3的访问地址到2000,此处配置模块m3的地址会逐级向下递增,对于访问地址可以系统自动进行分配,或者手动指定,即可对该层级的复位电路连接的内核进行复位,可以满足多层次的复位需求。
68.(2)基于所述执行层级发送所述复位信号到相应的所述配置模块m3。
69.本发明提供的基于复位电路的复位方法,可以根据复位信号的执行层级,对该执行层级所对应的配置模块m3发送复位信号,进而进行复位操作,可以满足对动态内核中各个内核的控制,也可对多个内核同时进行复位。
interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。通信总线72可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
80.其中,存储器74可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:hdd)或固态硬盘(英文:solid-state drive,缩写:ssd);存储器74还可以包括上述种类的存储器的组合。
81.其中,处理器71可以是中央处理器(英文:central processing unit,缩写:cpu),网络处理器(英文:network processor,缩写:np)或者cpu和np的组合。
82.其中,处理器71还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:asic),可编程逻辑器件(英文:programmable logic device,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:fpga),通用阵列逻辑(英文:generic array logic,缩写:gal)或其任意组合。
83.可选地,存储器74还用于存储程序指令。处理器71可以调用程序指令,实现如本技术图4实施例中所示的基于复位电路的复位方法。
84.本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于复位电路的复位方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
85.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献