具有进行本征时钟控制的硬件机构的半导体器件的制作方法

文档序号:6483477阅读:87来源:国知局
专利名称:具有进行本征时钟控制的硬件机构的半导体器件的制作方法
技术领域
本发明一般地涉及与时钟信号同步运行的半导体器件,具体地说,本发明涉及通过控制时钟信号可以降低其电功率消耗的半导体器件。
通常,通过提供对应于处理器内使用的最快时钟信号用于掩蔽的一个同步信号,并且通过利用一个选通时钟缓冲器减少时钟脉冲量,可以实现时钟档。另一种方法是,通过利用分频器分割时钟频率来实现时钟档。通常,在不需要运行处理器内的所有或部分模块期间内,通过掩蔽对这些模块提供的时钟信号,可以实现省电状态。通常,由根据对芯片终端引脚提供的设定值以及程序提供的软件控件来运行的处理器内的一个时钟控制单元来实现这种时钟控制。
当在具有片上总线或通过处理器内部的总线桥设置的内部外围总线的配置中,要改变时钟档或者要改变为省电状态时,必须根据软件控件来执行一个预定进程。也就是说,当要改变时钟档或者改变为省电状态时,需要执行基于软件的运行过程以作为这种改变的准备,这些运行过程需遵循与总线转接等有关的预定协议(操作规范)。
如果在通过总线进行数据传送期间(特别是在取指令期间)改变时钟档而不执行这种所需的进程,则存在使处理器因为取指令失败而意外停机的危险。此外,例如,当执行一条存储指令以释放通过总线桥与内部外围总线相连的一个模块时,即使是在通过片上总线的传送完成之后,仍可以通过内部外围总线继续进行写操作。如果不等完成存储操作就改变时钟档,则存在不能正确存储数据的危险。此外,例如,当芯片上设置有一个SDRAM(同步动态随机存储器)控制器时,如果SDRAM控制器的时钟被挂起而未使SDRAM进入自刷新模式,则会破坏SDRAM内的数据。
为了避免上述问题,必须事先建立用于执行时钟换档或者转移到省电状态所需的预定进程的软件程序。然而,如果此预定进程不是极为完美的,则可能发生不可预测的意外停机等。
特别是在需要为具有根据复杂传送协议运行的片上总线、总线桥、芯片外部总线(即与SDRAM、SRAM、ROM、配套芯片等相连的总线)的处理器建立时钟控制程序时,控制过程需要考虑各种条件。因此,难以消除因为人为错误导致意外停机状态或数据传送错误的所有危险。
因此,需要一种配置有可以在进行时钟换档时或在转移到省电状态时消除导致意外停机状态危险的硬件机构的半导体器件。
以下将说明本发明的特征和优势,并且根据以下说明并参考附图,本发明的部分特征和优势将变得很明显,或者根据说明中提供的原理实施本发明,可以了解本发明的特征和优势。说明书以充分、清晰、简明和确切的术语进行说明以使得本技术领域内的普通技术人员可以实施本发明,通过说明书具体描述的半导体器件,可以实现本发明的目的以及其它特征和优势。
为了实现这些以及其它优势并根据本发明目的,正如实施例所示以及在此广泛说明的那样,根据本发明的一种半导体器件包括一个时钟产生单元,用于产生时钟信号;一个第一模块,用于确证(assert)时钟控制请求信号;以及一个或多个第二模块,每一个都接收时钟信号和时钟控制请求信号,并响应时钟控制请求信号确证,在完成当前执行的操作、停止其操作后,确证时钟控制确认信号。其中,时钟产生单元响应一个或多个第二模块输出的所有时钟控制确认信号的确证,有选择地改变送到一个或多个第二模块的时钟信号。
在上述半导体器件中,在进行时钟换档或者转移到省电状态时,根据本发明的硬件控制器保证,仅在将具有时钟控制所导致的不正常运行危险的所有模块挂起,从而消除出现故障的所有危险后,才进行此时钟控制。
通过结合附图阅读以下详细说明,本发明的其它特征和优势将变得更加明显。


图1示出根据本发明第一实施例的一种处理器的框图。
图1所示的处理器10包括时钟控制单元11、CPU核心单元12、DSP核心单元13、模块14、模块15、连接在片上总线(OCB)与内建外围总线(PB)之间的总线桥16、DMA控制器17、SDRAM控制器18、外部总线控制器19、片上总线的总线仲裁器20、片上总线(OCB)21、模块22至模块24、内部外围总线(PB)25、设置在处理器10的外部并与外部总线控制器19相连的SRAM 26和外部总线主芯片27、外部总线28、以及设置在处理器10的外部并与SDRAM控制器18相连的SDRAM29。CPU核心单元12、DSP核心单元13、模块14、模块15、DMA控制器17、SDRAM控制器18以及外部总线控制器19均为连接到片上总线21上的片上总线模块。模块22至模块24是连接到内部外围总线25上的外围总线模块。此外,SRAM26和外部总线主芯片27均为连接到外部总线28上的外部总线模块。
时钟控制单元11包括时钟产生单元30和时钟控制检验单元31。模块22包括时钟控制寄存器32。
以下将说明根据本发明的处理器10的运行过程。
以在处理器10执行特定应用软件时进行时钟控制(改变时钟档或转移到省电状态)的情况为例进行说明。为了启动时钟控制过程,发出一条存储(写)指令以将时钟控制请求数据存储到与内部外围总线25相连的模块22中的时钟控制寄存器32。具体地说,此存储指令的写数据由CPU核心单元12提供,并根据片上总线21的传送协议传送到总线桥16。随后,总线桥16将与写数据有关的写请求发送到模块22,从而将写数据存储到模块22中的时钟控制寄存器32内。
在执行上述写操作序列期间,在发出存储时钟控制请求数据的存储指令后,CPU核心单元12以流水线方式连续执行后续指令。
在将时钟控制请求数据存储到时钟控制寄存器32时,时钟控制寄存器32将一个时钟控制要求信号发送到时钟控制单元11。时钟控制单元11的时钟控制检验单元31接收此时钟控制要求信号。在发现时钟控制要求信号被确证后,时钟控制检验单元31对受时钟控制的每个模块都确证一个时钟控制请求信号req。
时钟控制请求信号req保持确证状态,直到确证一个时钟控制完成通知信号DN。
响应时钟控制请求信号req,各模块在完成当前执行的操作后分别挂起其操作,然后,确证时钟控制确认信号ackx(x=0,1,2,...,6)。接收时钟控制请求信号req并确证时钟控制确认信号的模块包括总线仲裁器20、CPU核心单元12、DSP核心单元13、DMA控制器17、SDRAM控制器18、外部总线控制器19以及总线桥16。总线仲裁器20对连接到片上总线21的各模块的总线权(即使用总线的权利)进行仲裁,并通过对所选择模块授予总线权允许访问该总线。总线桥16在片上总线21与内部外围总线25之间进行数据传送。
收到时钟控制请求信号req后,例如,在当前执行的数据传送事务结束后,总线仲裁器20对送到所有总线主控器(在此例中为CPU核心单元12、DSP核心单元13、DMA控制器17以及外部总线控制器19)的总线许可信号gntx(x=1,2,3,4)求反。也就是说,通过拒绝各主控器模块的总线权,总线仲裁器20禁止各主控器模块再进行数据传送。此后,总线仲裁器20确证一个时钟控制确认信号ack0。
时钟控制确认信号ack0保持确证状态,直到时钟控制请求信号req被求反。
当所有受时钟控制的模块输出的所有时钟控制确认信号ackx被确证时,时钟控制检验单元31得知此情况,并对时钟产生单元30确证一个时钟控制允许信号EN。此时,受时钟控制的所有模块均临时挂起其操作。
在检测到时钟控制允许信号EN后,时钟产生单元30进行时钟控制操作,例如,根据程序要求进行时钟换档或者转移到省电状态。存储在时钟控制寄存器32内的时钟控制请求数据内容对时钟控制操作的细节进行了规定。时钟产生单元30是送到相关模块的时钟信号的信号源。根据程序发出的请求,时钟脉冲产生单元30有选择地对送给各个模块的时钟信号进行控制,从而改变运行频率和/或暂停对特定模块提供时钟信号。
随后,在时钟控制过程结束时,时钟脉冲产生单元30确证一个时钟控制完成通知信号DN。
发现时钟控制完成通知信号DN被确证后,时钟控制检验单元31对时钟控制请求信号req求反。响应时钟控制请求信号req的求反,受时钟控制的每个模块对时钟控制确认信号ackx求反。时钟控制确认信号ackx求反之后,对时钟控制允许信号EN求反,然后对时钟控制完成通知信号DN求反。
图2示出上述信号的时序图。
如图2-(a)所示,在时钟控制请求信号req被确证时,作为响应,如图2-(b)所示,对总线许可信号gntx求反。根据各个模块结束当前执行的操作的不同时序,各模块输出的时钟控制确认信号ackx均变更为HIGH(在确证状态下),如图2(c)至(j)所示。
当所有时钟控制确认信号ackx变成HIGH时,时钟控制允许信号EN变成HIGH,如图2-(k)所示,就开始进行时钟控制操作,例如进行时钟换档或时钟挂起。在完成时钟控制过程后,如图2-(l)所示,确证时钟控制完成通知信号DN。
根据上述硬件控制过程,在进行时钟换档时,或在转移到省电状态时,本发明保证,仅在将具有时钟控制所导致的不正常运行危险的所有模块挂起,从而消除出现故障的所有危险后,才进行此时钟控制。
图3示出时钟控制检验单元31的一种配置实例的框图。
图3所示的时钟控制检验单元31包括触发器(FF)41、触发器42-0至触发器42-6、时钟控制解码电路43、AND(与门)电路44以及请求信号产生电路45。触发器41锁定时钟控制寄存器32提供的时钟控制要求信号。将锁定的时钟控制要求信号送给时钟控制解码电路43并进行解码。时钟控制要求信号由多位构成,并请求进行时钟控制。此外,时钟控制要求信号以特定方式规定具体控制操作,例如,时钟控制是对时钟换档还是时钟挂起进行控制,对哪些模块进行时钟控制等。时钟控制解码电路43对时钟控制要求信号进行解码,并产生用于执行具体时钟控制操作的控制信号CTL,然后将该控制信号CTL送至时钟产生单元30。此外,时钟控制解码电路43还将指示进行时钟控制的信号clk_ctr送到请求信号产生电路45。
请求信号产生电路45是一个简单状态机,并根据输入信号在空闲状态IDLE与时钟控制状态CLK_CTRL之间转换。在指示进行时钟控制的信号clk_ctr被确证时,请求信号产生电路45由空闲状态IDLE转移到时钟控制状态CLK_CTRL,并确证一个时钟控制请求信号req。此外,在时钟控制完成通知信号DN被确证时,请求信号产生电路45从时钟控制状态CLK_CTRL转换为空闲状态IDLE,并对时钟控制请求信号req求反。本技术领域内的普通技术人员懂得,可以利用诸如置位-复位触发电路的简单序贯逻辑电路来实现请求信号产生电路45。
此外,时钟控制检验单元31利用触发器42-0至42-6锁定各个模块输出的时钟控制确认信号ackx(x=0,1,2,...,6)。所锁定的时钟控制确认信号ackx(x=0,1,2,...,6)被送到AND电路44。AND电路44进行“与”操作,根据所有时钟控制确认信号的确证状态确证时钟控制允许信号EN。
图4示出受时钟控制的总线桥16内使用的一种时钟控制机制。
图4所示的时钟控制机制是根据输入信号进行状态转换的简单状态机,它具有4个转换状态,包括时钟控制状态、写入状态WRITE、读出状态READ以及空闲状态IDLE。在空闲状态IDLE,总线桥16等待操作指令。当写请求或读请求到达,而它处于空闲状态IDLE时,总线桥16就根据到达的请求转换为写入状态WRITE或读出状态READ。在写入状态WRITE,执行一个过程,从片上总线21接收数据并将该数据写入内部外围总线25上的模块。在读出状态READ,执行从内部外围总线25上的模块读出数据并将该数据送到片上总线21的过程。
当时钟控制请求信号req被确证,而处于写入状态WRITE、读出状态READ以及空闲状态IDLE之一时,总线桥16将转入时钟控制状态。进入时钟控制状态后,总线桥16执行准备时钟换档或时钟挂起要求的操作,并在完成这些操作后,确证时钟控制确认信号ack(图1所示的ack6)。也就是说,总线桥16完成当前执行的操作,挂起处理过程,并确证时钟控制确认信号ack(图1所示的ack6)。此后,在对时钟控制请求信号req求反时,状态变成空闲状态IDLE。本技术领域内的普通技术人员懂得,可以利用诸如置位-复位触发电路的简单序贯逻辑电路实现执行上述操作的状态机。
为图1所示的受时钟控制的各模块配置与图4所示基本相同的状态机,并对各模块进行配置,以根据时钟控制请求信号req的确证,在完成进行时钟换档或时钟挂起的准备操作后,确证时钟控制确认信号ack。
图5示出根据本发明第二实施例的处理器的方框图。在图5中,用与图1中相同的参考编号表示与图1中相同的单元。
在图5所示的处理器10A中,设置时钟控制单元11A代替时钟控制单元11、设置CPU核心单元12A代替CPU核心单元12。此外,设置模块22A代替模块22。
在配置和操作方面,第二实施例与第一实施例的不同之处在于,时钟控制寄存器32位于CPU核心单元12A内,CPU核心单元12A产生时钟控制请求信号req,并将该信号送到各单元。当由程序执行的一个操作将时钟控制请求数据存储到时钟控制寄存器32时,CPU核心单元12A确证时钟控制请求信号req。作为响应,在当前执行操作结束后,相关模块挂起其运行过程,并将时钟控制确认信号ackx变为HIGH(确证状态)。在收到CPU核心单元12A输出的时钟控制请求信号后,在所有时钟控制确认信号ackx变为HIGH时,时钟控制单元11A将时钟控制允许信号EN变为HIGH。这样就启动了时钟控制操作过程,例如时钟换档或时钟挂起。完成时钟控制操作后,确证时钟控制完成通知信号DN。
如上所述,除了CPU核心单元12A确证时钟控制请求信号req之外,第二实施例与第一实施例基本相同。
图6示出根据本发明第三实施例的处理器的方框图。在图6中,用与图1相同的参考编号表示与图1中相同的单元。
在图6所示的处理器10B中,时钟控制单元11B的时钟控制检验单元31B确证的时钟控制请求信号req仅被送到总线仲裁器20。与第一实施例不同,时钟控制请求信号req没有被送到CPU核心单元12B、DSP核心单元13B、总线桥16B、DMA控制器17B、SDRAM控制器18B以及外部总线控制器19B。
在收到时钟控制请求信号req后,在结束当前执行的数据传送事务后,总线仲裁器20对送到所有总线主控器(在此例中为CPU核心单元12B、DSP核心单元13B、DMA控制器17B以及外部总线控制器19B)的总线许可信号gntx(x=1,2,3,4)求反。也就是说,通过拒绝各主控器模块的总线权,总线仲裁器20禁止各主控器模块进一步进行数据传送。此后,总线仲裁器20确证时钟控制确认信号ack0。
在这种情况下,时钟控制请求信号req被送到总线仲裁器20,然后,总线仲裁器20对送到相应总线主控器的总线许可信号gntx(x=1,2,3,4)进行求反。这样就可以禁止各主控器模块获得总线控制权,使得不再通过总线执行事务处理过程。
如果在执行时钟控制以进行时钟换档或转移到省电状态时,可能带来问题的只有通过片上总线21的事务,则上述第三实施例的配置特别有效。在这种情况下,仅将时钟控制请求信号req送到总线仲裁器20,从而通过控制总线许可信号,挂起与片上总线21相连的总线主控器的操作,因此在开始进行时钟控制之前,挂起通过片上总线21的事务。
通过对图1和图6进行比较可以发现,通过减少由时钟控制请求信号req控制的模块的数量,第三实施例的配置可以减小电路尺寸。
图7示出根据本发明第四实施例的处理器的方框图。在图7中,用与图6相同的参考编号表示与图6相同的单元。
在图7所示的处理器10C中,时钟控制单元11C的时钟控制检验单元31C确证的时钟控制请求信号req仅被送到总线仲裁器20和总线桥16。正如在第三实施例中那样,假定如果总线仲裁器20利用总线许可信号拒绝许可总线权,则除了总线桥16之外,与片上总线21相连的各模块均不产生问题。因此,不将时钟控制请求信号req送到CPU核心单元12B、DSP核心单元13B、DMA控制器17B、SDRAM控制器18B以及外部总线控制器19B。
收到时钟控制请求信号req后,在当前执行的数据传送事务完成之后,总线桥16停止将数据从片上总线21写入内部外围总线25的模块,或者停止将数据从内部外围总线25的模块读出到片上总线21。此后,总线桥16确证时钟控制确认信号ack6。
如果在执行时钟控制以进行时钟换档或转移到省电状态时,可能带来问题的只有通过片上总线21的事务和通过总线桥16的数据传送,则上述第四实施例的配置特别有效。在这种情况下,可以仅将时钟控制请求信号req送到总线仲裁器20和总线桥16,从而通过控制总线许可信号,挂起与片上总线21相连的总线主控器的操作,并挂起总线桥16的操作,因此在开始进行时钟控制之前,挂起可能产生问题的所有事务。
通过对图1和图7进行比较可以发现,通过减少由时钟控制请求信号req控制的模块的数量,第四实施例的配置可以减小电路尺寸。
此外,本发明并不局限于这些实施例,在本发明范围内,可以对其进行各种变换和变型。
本发明优先权基于2001年8月15日提交到日本专利局的第2001-246654号日本专利申请,在此引用其全部内容供参考。
权利要求
1.一种半导体器件,该半导体器件包括一个时钟产生单元,用于产生时钟信号;一个第一模块,用于确证(assert)时钟控制请求信号;以及一个或多个第二模块,每一个都接收时钟信号和时钟控制请求信号,并响应时钟控制请求信号的确证,在完成当前执行的操作、停止其操作后,确证时钟控制确认信号,其中,所述时钟产生单元响应所述一个或多个第二模块输出的所有时钟控制确认信号的确证,有选择地改变送到所述一个或多个第二模块的时钟信号。
2.根据权利要求1所述的半导体器件,其中,通过改变送到所述一个或多个第二模块的时钟信号的频率,或者停止提供所述时钟信号,所述时钟产生单元有选择地改变时钟信号
3.根据权利要求1所述的半导体器件,其中所述第一模块是CPU核心电路。
4.根据权利要求1所述的半导体器件,其中,所述第一模块响应所述一个或多个第二模块输出的所有时钟控制确认信号的确证,确证一个时钟控制允许信号送到所述时钟产生单元,所述时钟产生单元响应时钟控制允许信号的确证,有选择地改变时钟信号。
5.根据权利要求1所述的半导体器件,该半导体器件还包括一条片上总线;多个模块,与所述片上总线相连;以及一个总线仲裁器,用于对作为所述多个模块中一部分的总线主控器之间的总线权进行仲裁,其中,所述总线仲裁器是所述一个或多个第二模块之一,并且响应时钟控制请求信号的确证,在完成当前通过所述片上总线执行的传送操作后,拒绝对任何一个总线主控器许可总线权,随后,所述总线仲裁器确证时钟控制确认信号。
6.根据权利要求5所述的半导体器件,其中所述一个或多个第二模块包括所述总线仲裁器。
7.根据权利要求5所述的半导体器件,该半导体器件还包括一条内部外围总线;以及一个总线桥,连接在所述内部外围总线与所述片上总线之间,其中,所述总线桥是所述一个或多个第二模块之一,并且响应时钟控制请求信号的确证,在通过所述内部外围总线完成当前执行的数据传送操作、禁止执行数据传送操作后,确证时钟控制确认信号。
8.根据权利要求7所述的半导体器件,其中,所述一个或多个第二模块包括所述总线仲裁器和所述总线桥。
9.一种对送到处理器内各模块的时钟信号进行有选择地控制的方法,该方法包括下列步骤对一个或多个模块确证时钟控制请求信号;所述一个或多个模块响应时钟控制请求信号的确证,在完成当前执行的操作、停止其操作后,确证时钟控制确认信号;以及响应所述一个或多个模块输出的所有时钟控制确认信号的确证,有选择地改变送到所述一个或多个模块的时钟信号。
10.根据权利要求9所述的方法,其中,有选择地改变时钟信号的所述步骤改变送到所述一个或多个模块的时钟信号的频率或者停止提供所述时钟信号。
全文摘要
一种半导体器件包括一个时钟产生单元,用于产生时钟信号;一个第一模块,用于确证时钟控制请求信号;以及一个或多个第二模块,每一个都接收时钟信号和时钟控制请求信号,并响应时钟控制请求信号的确证,在完成当前执行的操作、停止其操作后,确证时钟控制确认信号,其中,时钟产生单元响应一个或多个第二模块输出的所有时钟控制确认信号的确证,有选择地改变送到一个或多个第二模块的时钟信号。
文档编号G06F1/32GK1402100SQ0210758
公开日2003年3月12日 申请日期2002年3月19日 优先权日2001年8月15日
发明者四方孝, 佐藤泰造, 氷治义弘, 平田卓也 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1