专利名称:一种处理芯片复位的方法及电路的制作方法
技术领域:
本发明涉及微电子设计,尤其是一种数字集成电路设计中处理芯片复位的方法及电路。
背景技术:
在数字集成电路芯片中,为保证芯片的正常工作,复位电路是不可或缺的部分。随着芯片规模的不断增大,复位电路的结构以及它与其它电路的接入方式也越来越复杂。尤其是在超大规模的集成电路芯片中,一般会有多个时钟域,各个时钟域都会有各自的同步复位信号;另外,芯片还会提供异步复位端口,以起到全局复位的作用。由于复位电路对整个芯片是否正常工作至关重要,因此它的实现必须结构简单,并且可靠性高。
现有的芯片复位技术,一般是将芯片异步复位信号连接到各时钟域触发单元的异步清零端,并同时将各时钟域的同步复位信号连接到本时钟域触发单元的同步清零端,以实现触发器的异步和同步清零(复位)。
如图1所示为现有复位电路的一个连结示意图,包括两个D触发器A、B,其中,系统时钟Sys_clk分别接D触发器A、B的数字输入端D,异步复位信号Async_rst接入D触发器A、B的异步清零端R,同步复位信号Sync_rst接入D触发器A、B的同步清零端SC。这种设计的缺陷在于首先,芯片内所有触发器的异步清零端R和同步清零端SC都接入了复位信号,导致信号复位信号布线复杂,占用面积大,增大功耗,延长了对电路设计的开发时间;其次,超大规模数字集成电路因为时钟频率高,一般都采用同步设计,因此要求复位信号的失效(退出复位状态或复位的“跳出”)是同步的,这样才能保证复位之后所有寄存器都处于稳定的初始状态。而应用先有的复位电路,将异步复位信号直接接寄存器(由若干触发单元组成)的异步清零端,其退出复位状态是异步的,从而导致各寄存器的初始状态不确定,甚至会导致芯片不能正常工作。如图2所示为图1中接入两触发器A、B的复位信号时序图以及Q端输出的时序图,如图所示,复位信号到触发器A的异步复位端R的延时与到寄存器B的异步复位端R的延时是不一致的,如果这一延时相差比较大,就会导致复位信号相对于时钟信号的位置发生偏差一个复位信号在时钟上升沿到来之前,而另一个复位信号在时钟上升沿到来之后,这就很有可能导致芯片的初始状态不稳定,并无法保证同一时钟域内的所有寄存器在同一周期内退出复位状态,并且复位信号的变化沿相对时钟有效沿有足够大的距离。
现有技术中,也有为解决复位状态不能同时跳出的尝试,例如增加延时缓冲器对复位信号进行延时补偿,但其虽然解决了复位信号“同步跳出”的问题,但同时因为增加了较多的硬件单元而增加了电路设计的复杂度、功耗及芯片面积。
发明内容
本发明的目的,在于解决现有复位方式中的上述技术问题,从而提供了一种用于处理芯片复位的方法。
一种用于处理芯片复位的方法,包括从外部输入一系统时钟信号、一异步复位信号以及一同步复位信号的步骤,其特征在于,该方法还包括复位步骤,包括1)使所述外部输入的异步复位信号有效的步骤;2)利用一触发单元输出有效的内部异步复位信号的步骤;3)利用上述输出的有效的内部异步复位信号与一外部所述同步复位信号触发生成的内部同步复位信号进行一第一组合逻辑操作生成一组合复位信号的步骤;复位状态跳出步骤,包括1)使所述外部输入的异步复位信号失效的步骤;2)当所述时钟信号产生有效的触发沿时,利用所述触发单元输出上述失效的内部异步复位信号的步骤;3)利用上述输出的失效的内部异步复位信号与所述内部同步复位信号进行所述第一组合逻辑操作生成所述组合复位信号,并跳出复位状态的步骤。
上述内部同步复位信号与所述内部异步复位信号进行所述第一逻辑组合操作后,生成的所述组合复位信号接入所述芯片后续寄存器的异步复位端。
上述第一组合逻辑操作为当所述内部异步复位信号或所述内部同步复位信号有效从而进入复位状态时,也令所述组合复位信号进入复位状态的组合逻辑操作步骤。
上述第一组合逻辑操作为当所述内部异步复位信号和所述内部同步复位信号跳出复位状态时,也令所述组合复位信号跳出复位状态的组合逻辑操作步骤。
本发明还提供了一种与上述方法相对应的用于处理芯片复位的电路,该电路包括用于触发一异步复位信号的第一触发单元,包括时钟端口、数字输入端口、异步复位端口以及输出端口;用于触发一同步复位信号的第二触发单元,包括时钟端口,数字输入端口、异步复位端口以及输出端口;一组合逻辑单元,包括数个输入端口以及一输出端口;其中所述第一触发单元的输出端口与所述第二触发单元的异步复位端口相连接,并且所述第一触发单元的输出端口与所述第二触发单元的输出端口与所述组合逻辑单元的输入端口相连接。
所述第一触发单元的输出端口或所述第二触发单元的输出端口的输出有效时,经过所述组合逻辑单元后,其输出也有效。所述第一触发单元的输出端口或所述第二触发单元的输出端口的输出无效时,经过所述组合逻辑单元后,其输出也无效。
作为上述电路的一种实施方式,所述组合逻辑单元包括一与门,所述第一触发单元的输出端口与所述第二触发单元的输出端口分别与该与门的两个输入端相连接。
作为上述电路的另一种实施方式,所述组合逻辑单元包括一与门以及一非门,所述非门的输出端与所述与门的一个输入端相连接,所述第一触发单元的输出端口与所述与门的另一个输入端相连接,所述第二触发单元的输出端口与所述非门的输入端相连接。
上述组合逻辑的输出端可接入芯片的寄存单元,以对各寄存单元进行统一的复位以及跳出复位状态的操作。
使用上述复位方法以及电路进行芯片设计,可将同步复位和异步复位整合为一个统一的复位信号,并应用于芯片的其他触发器中,从而极大简化了复位信号的布线,而且面积小,功耗低;另外,由于采用上述设计,可保证同一时钟域内所有寄存器在同一个时钟周期内推出复位状态,充分确保了芯片工作的稳定性。
图1是现有的一种复位电路的原理图;图2是图1中各信号的时序图;图3是本发明的复位电路的模块图;图4是本发明的复位电路的一个实施例的电路原理图;图5是图4中各信号的时序图;图6是本发明的复位电路的另一个实施例的电路原理图;图7是本发明的复位电路的再一个实施例的电路原理图。
具体实施例方式
下面结合附图和实施例,对本发明的用于芯片复位的方法和电路作详细的说明。
如图3所示是本发明复位电路的模块图,如图所示,该电路包括用于触发一异步复位信号的第一触发单元100,包括时钟端口102、数字输入端口104、异步复位端口106以及输出端口108;用于触发一同步复位信号的第二触发单元200,包括时钟端口202,数字输入端口204、异步复位端口206以及输出端口208;一组合逻辑单元300,包括数个输入端口302、304以及一输出端口306;其中所述第一触发单元100的输出端口108与所述第二触发单元200的异步复位端口206相连接,并且所述第一触发单元100的输出端口108与所述第二触发单元200的输出端口208与所述组合逻辑单元的输入端口302、304相连接。组合逻辑的输出端口306与芯片内部的其他寄存器相连接,用于进行复位或跳出复位状态的操作。另外,一系统时钟信号分别接入所述第一触发单元100的时钟输入端口102以及第二触发单元200的时钟输出端口104,用于为它们提供系统时钟信号。
具体地,当进行复位操作时,第一触发单元100的异步复位端口106接入外部异步复位信号,并令该外部异步复位信号有效,此时,触发单元100的输出端口108输出有效的复位信号,同时,第二触发单元200的数字输入端口204接入一外部同步复位信号,然后其输出端口208输出的有效的同步复位信号与触发单元100的输出端口108输出的有效的复位信号进行组合逻辑,从而生成一组合复位信号。该组合逻辑单元300确保当有效的同步复位信号或异步复位信号有效时,其输出端口306的输出信号也有效。
相应的,当复位状态跳出时,首先使所述外部的异步复位信号失效,当所述时钟信号有效时,利用所述第一触发单元100输出失效的异步复位信号;然后再与所述输出端口108输出的同步复位信号进行所述组合逻辑操作,该组合逻辑单元300确保当无效的同步复位信号或异步复位信号无效时,其输出端口306的输出信号也无效,从而跳出复位状态。
下面结合具体的实施例,更详细描述本发明的时钟复位电路的各个优选方式,以及它们进行复位或复位状态跳出操作的原理以及步骤。
如图4所示为本发明的复位电路的第一个实施例,如图所示,该电路包括触发器DFF1以及DFF2,本实施例中,DFF1、DFF2均为D触发器,该电路还包括一与门AND2,其中触发器DFF1的时钟输入端口连接系统时钟Sys_clk,数据输入端口D连接常为高电平的电源Vcc(如图中A点所示),异步复位端R为低电平有效,连接到芯片异步复位信号Reset(如图中B点所示),输出端Q即可得到一个同步到Sys_clk时钟域的复位信号Async_rst;触发器DFF2的数据输入端口连接到外部同步复位信号Sync_in,外部同步复位信号Sync_in由时钟域同步复位产生条件组合产生,本实施例中,其低电平有效,DFF2的异步复位端口R连接上述异步复位信号Async_rst,并输出一同步复位信号Sync_rst,该同步复位信号Sync_rst与异步复位信号Async_rst连接到与门AND2的输入端相“与”后,得到组合复位信号Sys_rst,该组合复位信号Sys_rst可连接入该时钟域所有寄存器(触发器)的异步复位端,即可同时实现异步和同步复位。
如图5所示为采用本实施例电路的时序图。结合图4,异步复位信号Reset低电平有效,Reset拉低(有效)后,Async_rst也随之变低(①,异步复位(清零)),Reset拉高后(跳出复位状态),Async_rst等到时钟Sys_clk的上升沿到来后才变高(②,同步置“1”(跳出复位状态))。
如图6所示为本发明的复位电路的另一个实施例的原理图,其与图4中的实施例大致相同,不同之处在于,所述同步复位信号Sync_rst为高电平有效的信号,此时,可以如图5所示,将Sync_rst经过非门INV取反后,再和异步复位信号Async_rst进行相“与”的组合逻辑操作,从而得到低电平有效的组合复位信号Sys_rst,组合复位信号Sys_rst可连接到该时钟域的所有触发器的异步复位(清零)端,以实现异步和同步复位。
如图7所示为本发明的复位电路的再一个实施例的电路原理图,如图所示,该电路包括两个D触发器DFF1、DFF2,以及两个与门AND2,其中,一异步复位信号Reset接入D触发器DFF1的数据输入端口,该复位信号Reset并与DFF1的输出端口进行“与”逻辑操作,输出一异步复位信号Async_rst,一外部同步复位信号Sync_in与触发器DFF2的数据输入端口相连接,异步复位信号Async_rst接入DFF2的异步复位端口,并且DFF2的数据输出端口与异步复位信号Async_rst通过一与门AND2相“与”后,由该与门AND2的输出端输出组合复位信号Sys_rst。
与上述两实施例的复位方式相似,利用本实施例的复位电路,当进入复位状态时,首先将Reset信号拉低进入复位状态,通过图中E位置与非门将Async_rst信号也拉低(如图4①所示),然后Async_rst信号通过图中F位置的与非门将Sys_rst信号拉低(如图4③所示,异步清零),而Sys_rst信号与芯片内sys_clk时钟域所有寄存器的清零端相连,从而使所有寄存器处于复位状态。当芯片跳出复位状态时,复位状态的跳出首先从Reset信号拉高开始,由于E位置与非门的另一端所的接DFF1的Q端仍然为低,所以Aysnc_rst信号暂时还不会被拉高,直到下一个sys_clk的上升沿,DFF1由于采样到Reset信号为高从而将Q端也置高,这样位于图中E位置的与非门的输出Async_rst信号才将变高(如图4②所示),然后传递该F位置的与非门,从而将复位信号Sys_rst拉高(如图4④所示,同步跳出),系统跳出复位状态。
综上所述,利用本发明的用于处理芯片复位的方法和电路,可产生下述有益效果1、本发明将同步和异步复位整合为一个统一的复位信号,芯片内所有触发器都使用该信号作为异步复位信号,极大简化了复位信号的布线,而且面积小,功耗低,试验表明,采用该电路,可以将芯片面积缩小5%左右。
2、本发明即实现了异步复位,又实现了同步退出复位状态,使得复位后所有触发器都处于稳定的初始状态,从而保证了同步电路的正常初始化。
3、本发明有利于芯片设计中布局布线的时序约束。其保证了同一时钟域内的所有寄存器在同一时钟周期内退出复位状态,且复位信号的变化沿相对时钟有效沿的距离足够大,因此,在芯片设计中,可缩短后端布局布线的时间,从而缩短了开发周期。
权利要求
1.一种用于处理芯片复位的方法,包括从外部输入一系统时钟信号、一异步复位信号以及一同步复位信号的步骤,其特征在于,该方法还包括复位步骤,包括1)使所述外部输入的异步复位信号有效的步骤;2)利用一触发单元输出有效的内部异步复位信号的步骤;3)利用上述输出的有效的内部异步复位信号与一外部所述同步复位信号触发生成的内部同步复位信号进行一第一组合逻辑操作生成一组合复位信号的步骤;复位状态跳出步骤,包括1)使所述外部输入的异步复位信号失效的步骤;2)当所述时钟信号产生有效的触发沿时,利用所述触发单元输出上述失效的内部异步复位信号的步骤;3)利用上述输出的失效的内部异步复位信号与所述内部同步复位信号进行所述第一组合逻辑操作生成所述组合复位信号,并跳出复位状态的步骤。
2.如权利要求1所述的用于处理芯片复位的方法,其特征在于,所述触发单元为一D触发器。
3.如权利要求2所述的用于处理芯片复位的方法,其特征在于,所述外部输入的有效异步复位信号通过接入所述D触发器的异步复位端口输出有效的内部异步复位信号。
4.如权利要求2所述的用于处理芯片复位的方法,其特征在于,所述外部输入的有效异步复位信号通过接入所述D触发器的数字输入端口,并使输出的信号与该异步复位信号进行一第二逻辑操作,从而输出有效的复位信号。
5.如权利要求1所述的用于处理芯片复位的方法,其特征在于,所述外部输入的同步复位信号通过接入一第二触发单元的数字输入端口,并利用其输出产生所述内部同步复位信号与所述有效的内部异步复位信号进行所述第一组合逻辑操作。
6.如权利要求5所述的用于处理芯片复位的方法,其特征在于,所述有效的内部异步复位信号接入所述第二触发单元的异步复位端口。
7.如权利要求1所述的处理芯片复位的方法,其特征在于,所述内部同步复位信号与所述内部异步复位信号进行所述第一逻辑组合操作后,生成的所述组合复位信号接入所述芯片后续寄存器的异步复位端。
8.如权利要求7所述的处理芯片复位的方法,其特征在于,所述第一组合逻辑操作为当所述内部异步复位信号或所述内部同步复位信号有效从而进入复位状态时,令所述组合复位信号进入复位状态;当所述内部异步复位信号和所述内部同步复位信号跳出复位状态时,令所述组合复位信号跳出复位状态的组合逻辑操作步骤。
9.一种用于处理芯片复位的电路,其特征在于,该电路包括用于触发一异步复位信号的第一触发单元,包括时钟端口、数字输入端口、异步复位端口以及输出端口;用于触发一同步复位信号的第二触发单元,包括时钟端口,数字输入端口、异步复位端口以及输出端口;一逻辑组合单元,包括数个输入端口以及一输出端口;其中所述第一触发单元的输出端口与所述第二触发单元的异步复位端口相连接,并且所述第一触发单元的输出端口与所述第二触发单元的输出端口与所述逻辑组合单元的输入端口相连接。
10.如权利要求9所述的用于处理芯片复位的电路,其特征在于,所述第一触发单元的输出端口或所述第二触发单元的输出端口的输出有效时,经过所述组合逻辑单元后,其输出也有效;当所述第一触发单元的输出端口或所述第二触发单元的输出端口的输出无效时,经过所述组合逻辑单元后,其输出也无效。
11.如权利要求9所述的用于处理芯片复位的电路,其特征在于,所述逻辑组合单元的输出端接入该芯片的其他后续寄存单元的异步复位端。
12.如权利要求9所述的用于处理芯片复位的电路,其特征在于,所述异步复位信号与所述第一触发单元的异步复位端口相连接,一高电平与所述第一触发单元的数字输入端口相连接。所述同步复位信号与所述第二触发单元的数字输入端口相连接。
13.如权利要求9所述的用于处理芯片复位的电路,其特征在于,所述异步复位信号与所述第一触发单元的数字输入端口相连接,所述第一触发单元的异步复位端口置空,并且,所述异步复位信号与所述第一触发单元的输出端口进行逻辑操作后,再接入所述第二触发单元的异步复位端口,并与所述第二触发单元的触发端口与所述逻辑组合单元的输入端口相连接。
全文摘要
本发明公开了一种处理芯片复位的方法及电路,该电路包括用于触发一异步复位信号的第一触发单元、用于触发一同步复位信号的第二触发单元以及一逻辑组合单元,所述第一触发单元的输出端口与所述第二触发单元的异步复位端口相连接,并且所述第一触发单元的输出端口与所述第二触发单元的输出端口与所述逻辑组合单元的输入端口相连接。输入的异步复位信号和同步复位信号经过该电路组合后,连接到系统时钟域所有触发器的异步端。本发明可实现异步的复位和同步的跳出复位状态。
文档编号G06F1/24GK1932718SQ20061011714
公开日2007年3月21日 申请日期2006年10月13日 优先权日2006年10月13日
发明者陈军霞, 姚炜, 廖水清 申请人:启攀微电子(上海)有限公司