芯片配置寄存器模块低功耗设计的制作方法

文档序号:6576826阅读:676来源:国知局
专利名称:芯片配置寄存器模块低功耗设计的制作方法
技术领域
本发明专利属于CMOS集成电路领域,针对所有包含CMOS数字电路并且采用I2C 接口配置寄存器的芯片。本专利不限于某一个集成电路生产工艺,它涵盖0. 35um, 0. 25um, 0. 18um,0. 13um,90nm,65nm,45nm,32nm以及与这些工艺相关的收缩(shrink)工艺。本技术 适用于SoC,ASIC和其它采用I2C接口配置寄存器的芯片的设计,在不影响配置功能的前提 下显著降低功耗,以满足低功耗的需求。
二.
背景技术
出于对系统稳定性和成本的考虑,市场对芯片的功能和性能提出越来越高的要 求。系统级用户希望尽可能地降低系统电路的设计复杂程度,同时要求尽可能简单的芯片 外围电路。这使得越来越多的功能被集成到芯片里,导致现代集成电路的规模的日益增大。 一般来讲,对于此类多功能的芯片,在某些应用场合,芯片的一部分功能会使用,而在另一 种应用中,芯片的另一部分功能会使用。大多数情况下,在一种应用中,不是所有的芯片功 能都被使用。所以,对芯片各个功能的控制就成为必要。一方面是选择一种需要的功能,另 一方面是降低不必要的功耗。现代的大规模芯片的功能很复杂,例如,为了扩大应用范围要求包含实现同一功 能的几种接口、为了提高灵活性要求大多数模块的功能都可以独立开关、还有总线位宽和 运行速度等参数的选择等,这些功能都需要相应的寄存器来配置。一个芯片中含有数以千 计的配置寄存器已经很常见。为了保持良好的兼容性,这些寄存器一般通过PHILIPS I2C 接口来配置。为了提高配置速度,一般系统主设备会使用快速模式(400KHZ)甚至高速模式 (3.4MHz)来访问这些寄存器。为了符合I2C的规范(例如,为了灵活应用于不同总线负载 的场合,要求SCL/SDA建立和保持时间、滤除总线毛刺的脉宽等精确可控),提供给芯片配 置寄存器模块的系统时钟(System Clock)频率应该在百兆赫兹的量级。所以,即使芯片关 闭所有功能处于待机节电模式(Power Down Mode),配置寄存器模块本身的功耗也是很可 观的,尤其是对于功耗要求很高的手持移动设备。在持续正常工作情况下,当寄存器配置完 毕后,此模块处于一种相对静态的状态(一般会周期性或间歇性的工作,例如检测芯片内 各种工作状态),如果在此期间也能设法降低此模块的功耗,对于提高设备的续航时间是很 有意义的。功耗降低的同时也会降低芯片的发热量,可以提高系统的可靠性和使用寿命。
三.

发明内容
本专利提出的芯片配置寄存器模块低功耗设计方法包括一个简单的RC滤波器 (RC Filter)、一个简单的异步 I2C Slave (Simple Async I2C Slave)、一个全功能的同步 I2C Slave (Fully Functional Sync I2C Slave)、寄存器组(Regl,Reg2,Reg3 等等)和一 个门控时钟生成单元(Gated Clock Generator) 0本专利提出的降低芯片配置寄存器模块 功耗的方法是在正常工作模式下,同步Slave读写寄存器组。没有被访问的其它所有寄存 器组的时钟会被自动关闭。当系统配置完成后,如果同步Slave没有被访问,所有寄存器组的时钟会被自动关闭。当同步Slave再次被访问时,被访问的寄存器组的时钟会被自动打 开,而其它寄存器组的时钟仍然处于关闭状态。在正常工作模式下,异步Slave被关闭。如 果系统不使用此芯片,会配置此芯片为待机节电模式,此时同步Slave和所有寄存器组的 时钟都被关闭,而异步Slave则开始工作,检测芯片是否被访问。一旦检测到芯片再次被访 问,它会开启同步Slave,使其正常工作,同时待机节电状态被自动解除,异步Slave被自动 关闭。异步Slave工作在I2C总线的频率,所以其在工作状态时只需要极少的功耗。本专利提出的配置寄存器模块低功耗设计方法仅仅针对于配置寄存器模块本身, 而芯片的其它模块是否处于待机节电状态由其它相关寄存器来控制。所以,只要相关寄存 器被配置为待机节电模式,其它模块就会处于待机节电状态,而与芯片是否被系统主机访 问无关。但是,配置寄存器模块本身的工作状态是与此相关的。由此可进一步将待机节电 模式细分成两种待机节电模式普通待机节电模式(配置寄存器模块正常工作而其它模块 待机节电)和深度待机节电模式(配置寄存器模块和其它模块均待机节电)。本文描述的 待机节电模式为深度待机节电模式。
四.


图1所示的是目前一般采用的寄存器低功耗设计结构。此处及下文以含有两个 寄存器组的配置寄存器模块为例进行描述。它包含一个全功能的同步I2C Slave (Fully Functional Sync I2C Slave)、寄存器组(Regl,Reg2)和一个频率变速单元(Frequency Shift Gear)。它主要采用变频的方式达到调节功耗的目的。同步I2C Slave和寄存器组 没有单独的时钟,它们工作在同一频率(sysclk shift)。在正常工作条件下,它们工作在全 速时钟频率。当被设置为待机节电模式时,频率变速单元在power down信号的控制下将时 钟降频,使得整个配置寄存器模块工作在一个较低的频率,从而使它们的功耗降低。当回到 正常工作模式时,p0Wer_d0Wn被清除,这样配置寄存器模块又会工作在全速状态。由此可 以看出,在正常工作条件下,配置寄存器模块一直是全速运转的,即使没有被访问,也不会 节省功耗。在待机节电模式下,(因为要支持唤醒功能,所以此模块必须要处于工作状态, 即必须要被提供时钟,持续检测是否被访问),虽然工作在较低频率,但是由于此模块是同 步工作方式,所以时钟频率也会比I2C总线频率高几倍,功耗并没有达到最优化。若长时间 处于此状态,无谓的功耗是一种很大的浪费,对于手持和移动设备是很不利的。图中SCL和 SDA分别是I2C总线的串行时钟线和串行数据线。c0nfig_addr和Config_data分别是主 机要寻址的寄存器地址和要写入被寻址寄存器的配置数据。Control Signals是送往芯片 各个功能模块的控制信号。图2所示的是本专利提出的配置寄存器模块低功耗设计结构。它包含一个简单的 RC 滤波器(RC Filter)、一个简单的异步 I2C Slave (Simple Async I2C Slave)、一个全功 能的同步 I2C Slave (Fully Functional Sync I2C Slave)、寄存器组(Regl,Reg2)和一个 门控时钟生成单元(Gated Clock Generator)。在待机节电模式时它采用异步I2C Slave 检测是否被访问,而同步I2C Slave完全关闭。由于异步I2CSlave工作在I2C总线的频 率,并且采用简单的结构,所以功耗非常小。在正常工作模式下,只有被访问时整个模块才 处于全速工作状态,当没有被访问时,庞大的寄存器组全部关闭,据此来动态调节模块的工 作状态,达到功耗最优化的目的。简单RC滤波器是为了滤除I2C总线上的毛刺,防止异步
4I2C Slave发生误动作。此RC滤波器是单向的,所以异步I2C Slave的总线端接口也是单 向的。全功能的同步I2C Slave已经包含了同步滤除毛刺的功能,无需额外的滤波器,它的 总线端SDA接口是双向的。图3所示的是本专利提出的配置寄存器模块低功耗设计结构中的门控时钟生成 单元。它包含一个D型同步触发器DFF、一个带有置位复位功能的锁存器RS Latch和若干 常用逻辑门。此单元在相关信号的控制下为配置寄存器模块的其它部分提供时钟。图4所示的是系统主机配置一个字节寄存器的完整波形图。此处以系统主机向设 备地址为0x72的Slave的0x45寄存器写入0x63为例。从图中可以看出,一个完整的写入 一个字节的过程分为八个阶段主机发送开始条件,启动一次传输。Slave检测该开始条件。对应图中的 startconditioru主机发送设备地址对Slave进行寻址。Slave接收并解析该设备地址。对应图中 的device addressing。设备地址的最低位表示主机的访问是写操作还是读操作。0代表 写操作,1代表读操作。若主机发送的设备地址与Slave的地址相符,Slave将作出应答。对应图中的 acknowledgement0主机收到Slave的应答后发出要访问的寄存器地址,对Slave的寄存器进行寻址。 Slave接收该寄存器地址。对应图中的register addressing。若Slave包含此寄存器则对该寄存器地址作出应答。对应图中的 acknowledgement0主机收到Slave的应答后发出要写入的一个字节数据,对已寻址的寄存器进行写 操作。Slave接收该数据。对应图中的writing register。若Slave接收数据成功则对主机作出应答。对应图中的acknowledgement。主机收到Slave的应答后发出停止条件,结束此次传输。Slave接收该停止条件。对应图中的 stop condition。图5所示的是配置寄存器模块从进入待机节电模式到恢复正常工作模式的过程 中相关信号的波形。图中SCL和SDA只示出将p0Wer_d0Wn设置为1的写操作过程的最后 两个阶段(g_h)。相关信号在此期间发生变化。前六个阶段参考图4。此后配置寄存器模 块进入待机节电模式。图中假设一段时间之后,主机再次访问芯片,配置寄存器模块从待机 节电模式恢复到正常工作模式。
五.
具体实施例方式以下内容具体的说明本发明在实际应用中的原理和可实施的方案。本发明不仅 仅限于以下所描述的应用及设计方案,如果对该领域了解并有足够的电路设计专业知识的 人,很容易将本专利推广并应用于其他领域。其他的具体方法也许会对结构,逻辑,电路实 施,生产过程,或其他的参数进行改变,但基本原理不变。该专利的实施不仅限于本文的描 述,而本文中的框图及电路,都可以根据应用的具体的情况,进行适当的调整和改变,从而 达到最佳效果。本专利提出的具体实施按照图2和图3所示的结构进行。图2中包含两个寄存器组,故有两个设备地址device 1 address和device 2 address。任意一个寄存器组被 寻址时,相应的设备被寻址信号(device addressed)会有状态指示。即若Regl被寻址, 则 devl_adrsd 为 1 而 dev2_adrsd 为 0 (当异步 I2C Save 工作时),或 regl_adrsd 为 1 而 reg2_adrsd为0(当同步I2C Save工作时)。Reg2被寻址时同理。sysclk_sync_i2c是提 供给同步I12C Slave的时钟,sysClk_regl是提供给寄存器组1 (Regl)的时钟,sysclk_ reg2是提供给寄存器组2(Reg2)的时钟。同步I2C Slave能够执行所有符合I2C协议的操 作,因此在正常工作过程中会执行图4所示的八个阶段(a_b)。但是异步I2C Slave是一个 只具有简单功能的I2C Slave,它只能执行前两个阶段(a_b)。因此异步I2C Slave不会对 主机的访问作出响应。poWer_dOWn待机节电模式的控制信号,也是异步I2C Slave的使能 信号,高电平有效。devs_adrsd是devl_adrsd和dev2_adrsd相或逻辑运算的结果,表示配 置寄存器模块包含的任一设备被寻址。它被用来在配置寄存器模块恢复到正常工作模式时 开启同步I2C Slave的时钟sysclk_sync_i2c,同时作为power_down的复位信号(reset_ pd)。power_down 被复位一段时间后异步 I2C Slave 会被关闭,devl_adrsd 和 dev2_adrsd 输出0。复位p0Wer_d0Wn不会立即关闭异步I2C Slave是因为此模块要把相关的主机访 问信息提供给同步I2C Slave。在异步I2C Slave被关闭之前,devl_adrsd或dev2_adrsd 的有效高电平将会保持,它们输出至同步I2C Slave用来触发regl_adrsd和reg2_adrsd。 因为在恢复正常工作之前同步I2C Slave是关闭的,依靠异步I2C Slave来检测是否被访 问,所以在检测到访问之后,工作模式由待机节电向正常工作转换,异步I2C Slave在被关 闭之前必须要把主机要访问哪一个设备的信息传送给同步I2C Slave,同步I2C Slave才能 正确的完成后续的操作。synC_SCl是SCL经sysclk同步之后的版本。本发明专利的原理结合图3、图4和图5来说明。在包含有该结构的芯片复位 (reset_n)完成后,所有寄存器组(Regl和Reg2)被复位为预设值。p0Wer_d0Wn信号被复 位为 0,异步 I2C Slave 关闭,devl_adrsd、dev2_adrsd 和 devs_adrsd 均为 0。同步 I2C Slave正常工作。进入待机节电模式主机要使芯片进入待机节电模式需要对Regl的p0Wer_d0Wn 进行设置。此过程类似图4所示过程。在g阶段,同步I2C Slave接收完成写入的数据,对 主机作出响应,同时把接收的数据传送至相应的寄存器中。故此时poWer_dOWn输出1。但 是此时传输尚未完成,同步I2C Slave要完成应答,时钟SySClk_SynC_i2C不能停止,要等 到进入h阶段后才能关闭sysclk_sync_i2c。故在图3中用SynC_SCl上升沿触发DFF来 米样power_down。regl_adrsd禾口 reg2_adrsd会被power_down复位,等待下次芯片被访问 时由devladrsd或deV2_adrsd来触发。在h阶段,同步I2C Slave和所有寄存器组时钟 都被关闭,其内部相关状态也被复位,而异步I2C Slave启动主机访问检测。至此,配置寄 存器模块进入待机节电模式。恢复正常工作模式主机再次访问芯片前,配置寄存器模块处 于待机节电模式,异步I2C Slave处于检测访问状态。当检测到主机再次访问芯片时,配置 寄存器模块即开始由待机节电模式向正常工作模式转换。异步I2C Slave执行图4中的a 和b阶段,得到主机寻址的主设备地址信息。假设主机要访问的设备是device 2,则dev2_ adrsd 禾口 devs_adrsd 均输出 1。devs_adrsd (reset_pd)会立艮口 复位寄存器中 power_down 为0,经过延迟(图3中的Delaly)后开启同步I2C Slave时钟sysclk_sync_i2c (Delaly的 作用是确保RS锁存器的置位和复位输入端不会同时为1,避免竞争状态的出现,提供电路工作的可靠性),此时reg2_adrsd即可被dev2_adrsd触发,从而打开Reg2的时钟sysclk_ reg2。同步I2C Slave接下来开始应答,接替异步I2C Slave,继续执行c_h阶段,完成此 次传输。异步I2C Slave在power_down被reset_pd复位一段时间后关闭,devl_adrsd和 dev2_adrsd也被复位,同时,devs_adrsd输出0。至此,配置寄存器模块已恢复到正常工作 模式。本发明专利提出的电路结构不仅局限于应用在CMOS集成电路中,其它所有可实施的 形式都是本发明专利的应用范围,例如分立电路、FPGA实现等。对本专利的侵权,一般可以 对其实施电路的分析来判断,在无法得到其电路的情况下,可以采用对其芯片进行解剖、拍 照的反向分析方法来判断;若不是集成电路实现方式,可以采用代码分析、信号分析等方法 来判断。可能构成侵权的机构包括各种有厂、无厂的芯片设计公司,研究机构、学校等。
权利要求
图2中所示的设计结构一个简单的RC滤波器(RC Filter)、一个简单的异步I2C Slave(Simple Async I2C Slave)、一个全功能的同步I2C Slave(FullyFunctional Sync I2C Slave)、寄存器组(Reg1,Reg2,Reg3等等)和一个门控时钟生成单元(Gated Clock Generator)。在待机节电模式时采用异步I2CSlave检测是否被访问,而同步I2C Slave和所有寄存器组完全关闭。在正常工作模式下,当被访问时同步I2C Slave和被寻址的寄存器组处于全速工作状态,未被寻址的所有寄存器组均处于关闭状态;当没有被访问时,庞大的寄存器组全部关闭。据此来动态调节模块的工作状态,达到功耗最优化的目的。
2.图2中所示的异步I2CSlave工作在I2C总线的频率,只执行检测主机发出的开始 信号和接收解析设备地址操作(图4中的a和b阶段),以极小的功耗为同步I2C Slave提 供主机的访问信息。置于异步I2C Slave之前的RC滤波器用来滤除I2C总线上的毛刺,防 止异步I2C Slave发生误动作。
3.图2中所示的同步I2CSlave和各寄存器组分别使用不同的时钟。这些相互独立的 时钟由门控时钟生成单元在相关控制信号的控制下产生,用来开启需要工作的模块,而不 需工作的模块的时钟保持关闭状态以节省功耗。
4.图2中所示的包含待机节电模式控制信号(p0Wer_d0Wn)的寄存器应该在配置寄 存器模块从待机节电模式转换到正常工作模式的过程中被复位,以使其不影响正常工作模 式。该寄存器可由设备被寻址信号(devs_adrsd)来复位。devs_adrsd是devl_adrsd和 deV2_adrSd等相或逻辑运算的结果,表示配置寄存器模块包含的任一设备被寻址。
5.图2中所示的待机节电模式控制信号(p0Wer_d0Wn)应该作为异步I2CSlave的使 能信号,复位其输出信号设备被寻址信号(devladrsd和deV2_adrSd等)。同时作为同 步I2C Slave的输出信号寄存器组被寻址信号(regl_adrsd和reg2_adrsd等)的复位信 号。其还可以作为门控时钟生成单元的控制信号用以控制同步I2C Slave和各寄存器组时 钟的开启和关闭。
6.图2中所示的配置寄存器模块本身和芯片的其它模块的待机节电模式是分别控制 的。配置寄存器模块本身的待机节电状态由待机节电模式控制寄存器(p0Wer_d0wn)来设 置,芯片其它模块的待机节电状态可由其它任意寄存器来设置。由此可进一步将待机节电 模式细分成两种待机节电模式普通待机节电模式(配置寄存器模块正常工作而其它模块 待机节电)和深度待机节电模式(配置寄存器模块和其它模块均待机节电)。
7.图3中所示的门控时钟生成单元的完整电路。其中包含一个D型同步触发器DFF、 一个带有置位复位功能的锁存器RS Latch和若干常用逻辑门。此单元在相关信号的控制 下为配置寄存器模块的其它部分提供时钟,完成配置寄存器模块由待机节电状态向正常工 作状态转换。其中DFF的作用通过使用同步过的SCL(SynC_SCl)的上升沿触发DFF采样待 机节电模式控制信号(poWer_dOWn)来延迟关闭同步I2C Slave的时钟,使其能够完成一个 完整的I2C数据传输。Delaly的作用是确保RS锁存器的置位和复位输入端不会同时为1, 避免竞争状态的出现,提供电路工作的可靠性。
8.本发明专利提出的电路结构不仅局限于应用在CMOS集成电路中,其它所有可实施 的形式都是本发明专利的应用范围,例如分立电路、FPGA实现等。
全文摘要
本发明提出的芯片配置寄存器模块低功耗设计方法包含了一个简单的异步I2CSlave(Simple Async I2C Slave)、一个全功能的同步I2C Slave(Fully FunctionalSync I2C Slave)。在正常工作模式下,同步Slave读写寄存器组。没有被访问的其它所有寄存器组的时钟会被自动关闭。当系统配置完成后,如果同步Slave没有被访问,所有寄存器组的时钟会被自动关闭。当同步Slave再次被访问时,被访问的寄存器组的时钟会被自动打开,而其它寄存器组的时钟仍然处于关闭状态。在正常工作模式下,异步Slave被关闭。如果系统不使用此芯片,会配置此芯片为待机节电模式,此时同步Slave和所有寄存器组的时钟都被关闭,而异步Slave则开始工作,检测芯片是否被访问。一旦检测到芯片再次被访问,它会开启同步Slave,使其正常工作,同时待机节电状态被自动解除,异步Slave被自动关闭。
文档编号G06F15/76GK101937420SQ20091011705
公开日2011年1月5日 申请日期2009年6月29日 优先权日2009年6月29日
发明者夏洪锋, 陈 峰 申请人:龙迅半导体科技(合肥)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1