一种复位电路、复位方法和芯片与流程

文档序号:30520361发布日期:2022-06-25 04:43阅读:64来源:国知局
一种复位电路、复位方法和芯片与流程

1.本技术涉及集成电路的技术领域,尤其涉及一种复位电路、复位方法和芯片。


背景技术:

2.复杂集成电路中,常常会在片内总线上设计多种不同功能的子模块,作为整个系统的主设备使用。例如,在gpu(graphics processing unit,图形处理器)系统中,一般会集成用于主要数据传输的pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)控制器,用于内部控制与监控的mcu(micro controller unit,微控制单元),用于在线调试的调试接口(如uart控制器)等。主设备模块、从设备模块在系统中通过片内总线进行互联通信。复位控制是各类设备模块必不可少的子单元,对复位控制信号,按照下列业内习惯约定,通常包括以下两种,1.复位激活,模块的复位控制信号处于有效状态,模块不工作或进入低功耗状态;2.复位释放,模块的复位控制信号处于无效状态,模块正常工作。
3.目前这类芯片的复位控制都由一个专门的复位控制模块进行控制实现的,复位控制模块在芯片内通常是挂在片内总线上的,导致片内的复位控制存在局限性。
4.因此,如何提高芯片内各模块设备常态复位操作的可靠性,是目前亟待解决的技术问题。


技术实现要素:

5.本发明的一种复位电路、复位方法和芯片,提高了芯片内各模块设备常态复位操作的可靠性。
6.本发明实施例提供了以下方案:第一方面,本发明实施例提供了一种复位电路,包括集成于芯片内部的第一复位控制模块;所述第一复位控制模块的第一接收端,被配置为接收所述芯片内部的一个或多个主设备模块的复位请求信号;所述第一复位控制模块的输出端,被配置为输出所述芯片内部的主设备模块或从设备模块的复位控制信号;所述第一复位控制模块,接收所述复位请求信号后输出所述复位控制信号,控制所述主设备模块或所述从设备模块上电后的复位操作。
7.在一种可选的实施例中,所述第一复位控制模块的第二接收端,被配置为接收所述芯片外部的上电复位初始值信号;所述第一复位控制模块,接收所述上电复位初始值信号后输出所述复位控制信号,控制所述主设备模块启动时的复位初始值。
8.在一种可选的实施例中,所述第一复位控制模块包括至少一个硬件状态机;所述硬件状态机,接收所述复位请求信号和所述上电复位初始值信号后输出所述
复位控制信号,对应配置所述主设备模块或所述从设备模块的复位触发条件。
9.在一种可选的实施例中,还包括第二复位控制模块;所述第二复位控制模块的接收端,被配置为输入所述复位请求信号;所述第二复位控制模块的输出端,被配置为输出所述复位控制信号至所述芯片内部的片内总线;所述第二复位控制模块,接收所述复位请求信号后输出所述复位控制信号,经所述片内总线控制所述从设备模块的复位操作。
10.第二方面,本发明实施例还提供了一种复位方法,应用于第一方面所述的复位电路中,包括:接收当前主设备模块的复位请求信号;根据所述当前主设备模块的当前模块号和所述复位请求信号的被复位模块号,输出复位控制信号,以复位芯片内部的主设备模块或从设备模块。
11.在一种可选的实施例中,所述根据所述当前主设备模块的当前模块号和所述复位请求信号的被复位模块号,输出复位控制信号,包括:若所述当前模块号和所述被复位模块号相同,输出为单稳态复位信号的所述复位控制信号,以复位所述当前主设备模块;若所述当前模块号和所述被复位模块号不相同,输出为双稳态复位信号的所述复位控制信号,以复位其他主设备模块。
12.在一种可选的实施例中,所述接收当前主设备模块的复位请求信号之后,还包括:在所述复位请求信号的被复位模块号为预设的设定模块号时,输出为单稳态复位信号的所述复位控制信号,以复位所述从设备模块。
13.在一种可选的实施例中,还包括:接收芯片外部的上电复位初始值信号;根据所述复位控制信号和所述上电复位初始值信号的复位初值,确定对应的初始复位操作;根据所述初始复位操作和输入的复位方式,配置复位释放的触发条件。
14.在一种可选的实施例中,所述根据所述初始复位操作和输入的复位方式,配置复位释放的触发条件,包括:若所述初始复位操作为复位释放或复位激活,且所述复位方式为双稳态释放复位,输出所述复位控制信号进行复位激活,配置所述释放复位的触发条件为所述双稳态释放复位;若所述初始复位操作为复位释放或复位激活,且所述复位方式为单稳态释放复位,输出所述复位控制信号进行复位激活,配置所述释放复位的触发条件为达到预设时长。
15.第三方面,本发明实施例还提供了一种芯片,所述芯片包括第一方面任一所述的复位电路。
16.本发明提供的一种复位电路、复位方法和芯片与现有技术相比,具有以下优点:本发明通过集成于芯片内部的第一复位控制模块,将第一复位控制模块的第一接收端,配置为接收芯片内部的主设备模块的复位请求信号,将第一复位控制模块的输出端,配置为输出芯片内部的主设备模块或从设备模块的复位控制信号,在需要对主设备模块或
从设备模块进行复位操作时,通过接收复位请求信号后,进行内部复位命令译码,能解析各个主设备发起的复位请求,对应输出复位控制信号至需要复位的主设备模块或从设备模块即可,在复位过程中不依赖片内总线,进而提高了芯片内各模块设备常态复位操作的可靠性;同时复位实现方式更灵活,主设备模块可以按照应用的需要,完成自身复位,复位其它主设备模块,复位从设备模块的功能,消除了现有技术中复位控制存在局限性,能够满足复杂多主设备模块在片上系统对复位的各种应用需求。
附图说明
17.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明实施例提供的现有技术中复位电路的结构示意图;图2为本发明实施例提供的双稳态复位的流程图;图3为本发明实施例提供的单稳态复位的流程图;图4为本发明实施例提供的复位电路的结构示意图;图5为本发明实施例提供的第一复位控制模块的结构示意图;图6为本发明实施例提供的一种复位方法的流程图;图7为本发明实施例提供的第一复位控制模块的译码流程图;图8为本发明实施例提供的硬件状态机的处理流程图;图9为本发明实施例提供的硬件状态机的转换示意图。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明实施例保护的范围。
20.本发明的复位电路和复位方法可以应用于任一种需要对主设备模块和从设备模块的芯片中进行复位,本实施例将以gpu为例进行进一步阐述,目前这类芯片的复位控制一般都由一个专门的复位控制模块实现功能,请参阅图1,具体复位方式主要有以下几种:(1)软件直接控制,激活或释放复位信号:由一个主设备通过总线写复位控制模块,以置0或置1的方式其它主设备或从设备进行复位激活及释放操作。通常对指定寄存器位写1激活复位,再写0释放复位。参考附图2,直到下一次软件复位操作前,其复位状态稳定,复位电路形式为双稳态电路。
21.(2)软件控制激活复位,硬件自动释放复位:由一个主设备通过总线写复位控制模块,单稳态复位电路实现,通常对指定寄存器位写1激活复位,一定的时间间隔后,硬件自动释放复位。参考附图3,复位电路形式为单稳态电路。
22.在类似附图1的存在多主设备模块的片内系统中,某个设备需要复位的场景主要是:a.应用需要,需要激活复位并重新释放;b.出现非正常情况,需要激活复位并重新释放;
c.需要关闭或打开某功能模块,让其复位激活或复位状态处于软件可控状态。
23.某些时候,主设备需要对自身模块复位,或对片内总线这类影响全局功能的模块进行复位时,需要硬件自动释放复位(使用单稳态复位电路),对其它主设备或从设备复位时,需要更灵活的软件控制复位(使用双稳态复位电路)。
24.对于上述的复位方案,模块复位状态的转换完全依赖软件,并由主设备模块发起对其它模块的复位请求。其局限在于,发起复位操作的主设备无法对自身进行复位。在gpu系统中的主设备mcu,通常是独立于其它大部分功能模块,实现系统的监控功能,对mcu的复位请求一般来自mcu程序内部而不会来自pcie等其它功能模块。mcu控制复位寄存器将自己的复位信号置于复位激活状态时,无法再执行复位释放的操作,导致不能正常复位。
25.此外,对于上述的复位方案,采用单稳态电路让硬件进行复位释放操作,可以解决了现有技术(1)无法对自身进行复位问题。但(2)的局限在于,主设备发起的复位操作,复位控制逻辑产生的复位激活信号是单稳态(暂时态),无法实现对该模块进行常态复位操作,不满足功耗控制和其它特殊功能要求。
26.另外,现有技术中,复位控制模块在芯片内通常是挂在片内总线上的,是片上系统的一个从设备,这导致了所述现有技术(1)(2)的一项共有的局限性:这两种复位设计都要通过总线,若总线由于某种原因挂死,则无法完成各设备模块和总线的复位。
27.本发明提出的复位电路结合了这两种复位的优势,同时满足上述不同的复位应用需求,下面将展开具体阐述。
28.请参阅图4,本发明实施例提供了一种复位电路,包括集成于芯片内部的第一复位控制模块;第一复位控制模块的第一接收端,被配置为接收芯片内部的一个或多个主设备模块的复位请求信号;第一复位控制模块的输出端,被配置为输出芯片内部的主设备模块或从设备模块的复位控制信号;第一复位控制模块,接收复位请求信号后输出复位控制信号,控制主设备模块或从设备模块上电后的复位操作。
29.具体的,主设备模块为芯片内通过片内总线对其他设备模块控制的模块,例如mcu设备模块和uart设备模块等;从设备模块为被主设备模块控制的模块,例如片内总线模块和其他功能模块等。通常芯片内各模块设备在上电时可以进行自动复位,其复位方式包括低电平复位或高电平复位,上电后需要对主设备模块或从设备模块复位时,主设备模块发出复位请求信号,第一复位控制模块通过第一接收端接收后,对应输出至待复位的主设备模块或从设备模块。需要说明的是,主设备模块可以为发出复位请求信号的主设备模块,以对主设备模块自身进行复位操作;当然,也可以为其他主设备模块,以控制其他主设备模块进行复位操作。也可以通过片内总线对从设备模块进行复位操作,可以理解,第一复位控制模块通过芯片内部的金属线传输复位请求信号和复位控制信号。
30.在具体实施时,由于通过主设备模块控制各设备模块的复位操作,是通过片内自主进行的,导致控制的灵活性存在一定局限。
31.在一种具体的实施方式中,第一复位控制模块的第二接收端,被配置为输入芯片外部的上电复位初始值信号;第一复位控制模块,接收上电复位初始值信号后输出复位控制信号,控制主设备模块启动时的复位初始值。
32.具体的,上电复位初始值信号可以通过片外的设备进行操作,便于从片外管脚引入若干与上电启动状态相关的信号,用来控制启动时各主设备模块的复位初始值,以对主
设备模块的复位操作进行控制或修改。复位初始值在片内的寄存器中,通过上电复位初始值信号以二进制的形式进行擦写,即可修改寄存器中的复位初始值。
33.在一种具体的实施方式中,第一复位控制模块包括至少一个硬件状态机;硬件状态机,接收复位请求信号和上电复位初始值信号后输出复位控制信号,对应配置主设备模块或从设备模块的复位触发条件。
34.具体的,硬件状态机(或称复位状态机)由状态寄存器和组合逻辑电路构成,能够按照输入信号通过预先设定的状态进行状态转移。主设备模块发出的复位请求信号中存在对应的身份识别特征,例如主设备模块的预设编号,通过译码操作可以识别出是哪个主设备模块发出的,输出至待复位设备模块对应的硬件状态机,将复位请求信号和上电复位初始值信号转为复位控制信号。其中,每个待复位的设备模块均有对应的硬件状态机,以实现对各主设备模块复位初始状态,软件直接复位,单稳态复位等各状态的转换过程。请参阅图5,例如主设备模块1发出复位请求信号,其译码结果为需对片内总线进行复位,则将总线单稳态复位使能发送至对应的硬件状态机,即图中的总线复位状态机,总线复位状态机根据上电复位初始值信号的总线复位初值进行转换,输出复位控制信号(即总线复位有效信号)至片内总线,以对片内总线进行复位。
35.在具体实施时,由于芯片内部的逻辑实现,是通过片内集成的晶体管完成的,若通过第一复位控制模块(或称第一复位控制器)直接对所有的从设备模块进行复位操作,将导致集成晶体管的数量激增,增加其设计难度。
36.为解决上述问题,在一种具体的实施方式中,复位电路还包括第二复位控制模块;第二复位控制模块的接收端,被配置为输入复位请求信号;第二复位控制模块的输出端,被配置为输出复位控制信号至芯片内部的片内总线;第二复位控制模块,接收复位请求信号后输出复位控制信号,经片内总线控制从设备模块的复位操作。
37.具体的,主设备模块通过片内总线,操作第二复位控制模块给片内各从设备模块复位,而不是直接用第一复位控制模块对从设备模块进行复位操作,可减小第一复位控制模块的设计复杂度。
38.基于与复位电路同样的发明构思,本发明实施例还提供了一种复位方法,应用于所述的复位电路中,请参阅图6,包括:s11、接收当前主设备模块的复位请求信号;具体的,主设备模块发出复位请求信号后,第一复位控制模块即可接收当前主设备模块的复位请求信号,主设备模块向第一复位控制模块发送复位请求,可由其控制软件或固件专门定义的方式实现,而不与正常的总线操作冲突。如在gpu系统中,mcu主设备模块用特定的gpio(general-purpose input/ouput,通用输入输出端口),pcie主设备模块使用flr(function level reset,功能层复位),uart主设备模块使用自定义特殊字段,都能实现绕过总线,直接对第一复位控制模块发送请求。获取复位请求信号后进入步骤s12。
39.s12、根据所述当前主设备模块的当前模块号和所述复位请求信号的被复位模块号,输出复位控制信号,以复位芯片内部的主设备模块或从设备模块。
40.具体的,通过对复位请求信号进行译码可以确定出被复位模块号,据此输出复位请求信号至对应的主设备模块或从设备模块,以进行复位操作。其中,译码可以通过芯片内部的译码模块(或称译码器)完成。
41.在一种具体的实施方式中,根据当前主设备模块的当前模块号和复位请求信号的被复位模块号,输出复位控制信号,包括:若当前模块号和被复位模块号相同,输出为单稳态复位信号的复位控制信号,以复位当前主设备模块;若当前模块号和被复位模块号不相同,输出为双稳态复位信号的复位控制信号,以复位其他主设备模块。
42.具体的,请参阅图7,某个主设备(如标号i)输入第一复位控制模块的复位请求信号,包含被复位的主模块标号(如j)。由第一复位控制模块输入译码模块,判断发起复位的设备号i是否等于被复位的设备号j。如果i,j相等,这表示该主设备要对自身复位,此时使用单稳态复位;如果i,j不相等,这表示该主设备要对其它主设备复位,此时使用双稳态复位。
43.在一种具体的实施方式中,接收当前主设备模块的复位请求信号之后,还包括:在复位请求信号的被复位模块号为预设的设定模块号时,输出为单稳态复位信号的复位控制信号,以复位从设备模块。
44.具体的,如果译码后,j为某种特殊模块标志,如片内总线本身这样必须用单稳态电路复位的模块,则对被复位模块发出单稳态复位信号。可以理解,单稳态复位表征的是一种瞬态的复位方式,复位控制信号产生一跳变沿,即触发待复位设备模块的复位操作;双稳态复位表征的一种常态的复位方式,复位控制信号持续保持该电平信号时触发待复位设备模块的复位操作,不保持该电平信号时待复位设备模块的复位操作停止。通过被复位模块号的识别,可以针对性输出不同复位方式的复位控制信号,使片内各设备模块复位操作的适用性更好。
45.在一种具体的实施方式中,复位方法还包括:接收芯片外部的上电复位初始值信号;根据复位控制信号和上电复位初始值信号的复位初值,确定对应的初始复位操作;根据初始复位操作和输入的复位方式,配置复位释放的触发条件。
46.具体的,请参阅图8,初始复位操作包括复位释放和复位激活,复位激活是设备模块的复位控制信号处于有效状态,设备模块不工作或进入低功耗状态;复位释放时设备模块的复位控制信号处于无效状态,设备模块正常工作。通过片外输入的上电复位初始值信号可以配置复位初值,以确定执行复位释放或复位激活,完成初始复位操作后,配置复位释放的触发条件。
47.在一种具体的实施方式中,根据初始复位操作和输入的复位方式,配置复位释放的触发条件,包括:若初始复位操作为复位释放或复位激活,且复位方式为双稳态释放复位,输出复位控制信号进行复位激活,配置释放复位的触发条件为双稳态释放复位;若初始复位操作为复位释放或复位激活,且复位方式为单稳态释放复位,输出复位控制信号进行复位激活,配置释放复位的触发条件为达到预设时长。
48.具体的,请参阅图8-9,其含义相同,均表征的是硬件状态机的转换过程。以以下步骤说明。
49.(1)芯片上电时触发上电复位,上电时状态为s0,根据外部的复位初值选择进入s1(初值释放)和s2(初值激活),该状态下复位输出激活状态。
50.(2)状态s1,s2下,若接收到双稳态激活复位输入,进入状态s3;若接收到单稳态激活复位输入,进入状态s4。
51.(3)状态s3下,输出复位激活;若接收到双稳态释放复位输入,回到状态s1,此时单稳态复位输入无效。
52.(4)状态s4下,输出复位激活状态,硬件延时一段可配置的时长后,返回状态s1。
53.如流程图所示,可以得出双稳态复位输入的优先级高于单稳态复位输入。用于复位片内总线的状态机,其结构与其它主设备复位状态机相同,区别在于总线复位状态机的复位初值输入固定为复位释放状态,双稳态复位输入固定为复位释放状态。优选地,状态s4为单稳态(暂态),其保持时间,即复位激活的时长,可设计成软件可配置,通过定时器或延时函数完成预设时长的设定,其具体的设定值可根据需求自由设定。
54.基于与复位电路同样的发明构思,本发明实施例还提供了一种芯片,所述芯片包括复位电路中任一所述的电路。
55.本发明实施例中提供的技术方案,至少具有如下技术效果或优点:1.通过集成于芯片内部的第一复位控制模,将第一复位控制模块的第一接收端,配置为接收芯片内部的主设备模块的复位请求信号,将第一复位控制模块的输出端,配置为输出芯片内部的主设备模块或从设备模块的复位控制信号,在需要对主设备模块或从设备模块进行复位操作时,通过接收复位请求信号后,进行内部复位命令译码,能解析各个主设备发起的复位请求,对应输出复位控制信号至需要复位的主设备模块或从设备模块即可,在复位过程中不依赖片内总线,进而提高了芯片内各模块设备常态复位操作的可靠性;同时复位实现方式更灵活,主设备模块可以按照应用的需要,完成自身复位,复位其它主设备模块,复位从设备模块的功能,消除了现有技术中复位控制存在局限性,能够满足复杂多主设备模块在片上系统对复位的各种应用需求。
56.2.第一复位控制模块通过对内部主设备模块发出的复位请求信号进行译码,能解析各个主设备模块发起的复位请求,哪些是需要软件控制给稳定的激活或释放状态,哪些是需要软件发起复位激活,硬件自动释放,第一复位控制模块内部的硬件状态机,可以支持上述两种复位方式,可选择单稳态复位或双稳态复位的不同复位策略。
57.3.本技术主要思想更具创新,复位控制更灵活,应用场景更广泛,不仅仅局限在特定功能故障时自动复位整个系统,本技术以复位输入请求译码和状态机电路为基础实现的复位系统,不仅具备复位功能,还能由软件/固件更方便的控制系统中各子模块的精确复位,从具体实施例来对比,本技术在片上系统中以状态机的方式实现,比起现有技术中片外复位芯片、逻辑芯片等电路实现,具备更强的实用性。
58.由于本实施例所介绍的电子设备为实施本技术实施例中信息处理的方法所采用的电子设备,故而基于本技术实施例中所介绍的信息处理的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本技术实施例中的方法不再详细介绍。只要本领域所属技术人员实施本技术实施例中信息处理的方法所采用的电子设备,都属于本技术所欲保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1