一种CPU、一种SoC芯片及一种同步时钟的方法

文档序号:6483970阅读:124来源:国知局
专利名称:一种CPU、一种SoC芯片及一种同步时钟的方法
技术领域
本发明涉及CPU设计技术领域,特别是涉及一种CPU、 一种SoC芯
片及一种同步时钟的方法。
背景技术
目前,CPU的应用非常广泛,例如,CPU作为重要器件应用在各种 SoC(数字集成系统芯片)中。SoC芯片中包括多个不同的模块,如CPU、 总线、时钟控制电路、中断控制器、1/0端口及其它外部设备,不同的模 块工作在不同的时钟频率下,如CPU工作的时钟频率为300MHz,而某 个外设或总线工作的频率为100MHz。为满足CPU运算速度的要求,在 实际中,CPU的时钟频率往往高于其它外部设备的时钟频率。在这种情 况下,在一个芯片上采用单时钟设计基本上是不可能实现的,所以多时 钟域的设计是SoC芯片设计中的 一个重要环节。
为使CPU与外部设备能在不同的时钟域上工作,现有技术中提出了 跨时钟域的总线桥技术,这种技术是采用总线桥将外部设备与CPU相连 接。总线桥一般包含两个接口单元和一个同步单元,其中,两个接口单 元分别用于连接来自CPU的时钟域A和外部设备的时钟域B的信号,例 如,A时钟为200MHz, B时钟为100MHz;同步单元用于同步从B时钟 到A时钟的信号,通常是将来自B时钟域的信号存入寄存器,然后等待 若千个B时钟周期,再送入A时钟域。
尽管采用这种总线桥结构有助于多时钟域的实现,但相对于单一的 AHB总线(SoC的片上系统总线),桥的引入也带来一些新的问题,如桥 的访问延迟、新增系统复杂度、硬件资源开销等。并且,由于CPU上通 常会设置多个总线接口分别连接相应的高速总线和低速总线,采用现有 技术必须针对这些不同速度的总线,分别设计相应的桥模块,从而使得上述问题更为突出,成本也非常高。
因而,目前需要本领域技术人员迫切解决的一个技术问题就是如 何能够创新地提出一种跨时钟域的时钟同步机制,用以动态地适应CPU 与外部设备的不同时钟域,从而在有效降低成本的基础上,提高访问效 率,简化系统结构,并有效节约硬件资源。

发明内容
本发明所要解决的技术问题是提供一种CPU、 一种SoC芯片及一种 同步时钟的方法,用以动态地适应CPU与外部设备的不同时钟域,从而 在有效降低成本的基础上,提高访问效率,简化系统结构,并有效节约 硬件资源。
为了解决上述技术问题,本发明实施例公开了一种CPU,所述CPU 的时钟频率和外部设备的时钟频率是同相位的,所述CPU包括 时钟分频信息获取模块,用于获取外部设备的时钟分频信息; 时钟域控制模块,用于根据所述时钟分频信息调整所述CPU与外部 设备的数据传输接口 ,使所述CPU和各外部设备同步运行在相应的时钟 频率上。
优选的,所述时钟域控制模块包括
采样子模块,用于根据所述时钟分频信息从低电平到高电平的跃升, 对来自相应外部设备的时钟信号进行采样;
同步子模块,用于根据所述釆样信号调整所述CPU与外部设备的数 据传输接口 ,使所述CPU和各外部设备同步运行在相应的时钟频率上。
优选的,所述数据传输接口为CPU的总线接口 。
本发明实施例还公开了 一种SoC芯片,所述SoC芯片包括CPU内核,
的,所述CPU内核包括
时钟分频信息获取模块,用于获取外部设备的时钟分频信息; 时钟域控制模块,用于根据所述时钟分频信息调整所述CPU与外部
5设备的数据传输接口 ,使所述CPU和各外部设备同步运行在相应的时钟 频率上。
优选的,所述芯片还包括时钟控制模块,用于产生时钟,以及,产 生外部设备的时钟分频信息。
优选的,所述时钟域控制模块包括
采样子模块,用于根据所述时钟分频信息从低电平到高电平的跃升, 对来自相应外部设备的时钟信号进行采样;
同步子模块,用于根据所述采样信号调整所述CPU与外部设备的数 据传输接口 ,使所述CPU和各外部设备同步运行在相应的时钟频率上。
优选的,所述外部设备为总线,所述数据传输接口为CPU的总线接口 。
本发明实施例还公开了一种同步时钟的方法,所述时钟涉及不同时 钟域的CPU与外部设备的时钟频率,并且,所述CPU的时钟频率和外部 设备的时钟频率是同相位的,所述方法包括
获取外部设备的时钟分频信息;
根据所述时钟分频信息调整所述CPU与外部设备的数据传输接口 ,
优选的,所述外部设备的时钟分频信息从所述芯片内的时钟控制器 中获得。
优选的,所述调整数据传输接口使CPU和外部设备同步运行在相应 的时钟频率上的步骤包括
根据所述时钟分频信息从低电平到高电平的跃升,对来自相应外部 设备的时钟信号进行采样;
根据所述采样信号调整所述CPU与外部设备的数据传输接口 ,使所 述CPU和各外部设备同步运行在相应的时钟频率上。
与现有技术相比,本发明具有以下优点
本发明通过在CPU接口增加外部设备时钟分频信息的输入端口 ,使
6得每个CPU接口都可以分别连接满足以下条件的外部设备1 ) CPU的 时钟频率和外部设备的时钟频率同相;2) CPU的时钟频率是外部设备时 钟频率的整数倍;并进一步在CPU与外部设备的数据传输接口增加时钟 域控制模块,用来根据输入端口获得的外部设备的时钟分频信息,调整 该CPU与外部设备的数据传输接口 ,使所述CPU和外部设备跨时钟域同 步运行在其各自的时钟频率上。本发明实施例可替换现有技术中跨时钟 域的桥模块设计方案,从而能有效避免诸如桥的访问延迟、新增系统复 杂度、硬件资源开销等问题。
再者,本发明实施例的输入端口和时钟域控制模块的设计不仅简单 易行,还能根据实际情况非常灵活地设计相应的输入端口 ,并能相应动 态地适应CPU与外部设备的不同时钟域,尤其对于CPU分别连接的多条 高速总线和低速总线,可以根据相应总线工作的时钟频率,分别配置相 应的输入端口,并分别提供相应的时钟分频信息;然后交由时钟域控制 模块调整CPU的相应总线接口 ,即可使所述CPU和高速或低速总线同步 运行在相应的时钟频率上。从而能有效降低成本,节约硬件资源及降低 芯片功耗。


图l是本发明的一种CPU器件的结构图2是一种2倍时钟分频信息的波形示意图3是一种3倍时钟分频信息的波形示意图4是应用本发明的一种CPU实例的结构图5是本发明的一种SoC芯片的结构图6是应用本发明的一种SoC芯片实例的结构图7是本发明的一种同步时钟的方法实施例的流程图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合
7附图和具体实施方式
对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,通过在CPU接口增加外部设备 时钟分频信息的输入端口 ,使得每个CPU接口都可以分别连接满足以下 条件的外部设备1 ) CPU的时钟频率和外部i殳备的时钟频率同相;2) CPU的时钟频率是外部i殳备时钟频率的整数倍;并进一步在CPU与外部 设备的数据传输接口增加时钟域控制模块,用来根据输入端口获得的外 部设备的时钟分频信息,调整该CPU与外部设备的数据传输接口,使所
施例可替换现有技术中跨时钟域的桥模块设计方案,从而能有效避免诸 如桥的访问延迟、新增系统复杂度、硬件资源开销等问题;并且,本发 明实施例的输入端口和时钟域控制模块的设计不仅简单易行,还能根据 实际情况非常灵活地设计相应的输入端口 ,并能动态地适应CPU与外部 设备的不同时钟域,从成本角度而言也大有裨益。
参考图1,示出了本发明的一种CPU器件的结构框图,所述CPU的 时钟频率和外部设备的时钟频率是同相位的,所述CPU具体可以包括以 下模块
时钟分频信息获取模块101,用于获取外部设备的时钟分频信息; 时钟域控制模块103,用于根据所述时钟分频信息调整所述CPU与
外部设备的数据传输接口 ,使所述CPU和各外部设备同步运行在相应的
时钟频率上。
在实际中,所述时钟分频信息获取模块可以设置为在CPU接口增加 的输入端口 ,使得每个CPU接口都可以分别连接满足以下条件的外部设 备1) CPU的时钟频率和外部设备的时钟频率同相;2)CPU的时钟频 率是外部设备时钟频率的整数倍。其中,所述同相是指时钟相位相同, 公知的是,时钟相位是决定数据是在SCK(时钟控制线)的上升沿采样 还是在SCK的结束沿采样。
例如,假设一个CPU包括三个接口两个Master接口 MaserO和Masterl,和一个Slave4妾口,应用本发明实施例,则可以在CPU4妄口增 力口 3 个输入端口 clock_divider_masterO 、 clock—divider一masterl 和 clock—divider—slave 。为使不同的CPU接口可以连接不同速度(工作在不 同时钟频率)的外部设备,每个输入端口可以通过波形将时钟分频信息 传送给时钟域控制模块。具体可以参考图2所示的波形图,即示出了 clock—divider—master0这个输入端口通过相应的波形,通知时钟域控制才莫 块CPU时钟频率是与Master0连接的外部设备时钟频率的2倍;还可以 参考图3所示的波形图,即示出了 clock—divider—masterl这个输入端口通 过相应的波形,通知时钟域控制模块CPU时钟频率是与Masterl连接的 外部设备时钟频率的3倍。
当然,本发明实施例对所述外部设备的时钟分频信息的获取方式不 作限制,例如,可以来自芯片中的时钟控制器,也可以为相应输入端口 预置的时钟分频信息,本发明对此无需加以限制。
现代SOC芯片设计中,通常采用一个或者多个CPU内核。CPU内 核通常具有两个或者多个总线接口,与外部设备或者其它CPU内核进行 通信,因而在本发明的一种优选实施例中,所述数据传输接口可以为CPU 的总线接口。
为使本领域技术人员更好地理解本发明,以下结合图4所示的CPU 结构图为例进一 步说明本发明优选实施例。
在本例中,CPU40分别与高速总线BUS1以及低速总线BUS2通信, CPU40上具有相应的高速总线接口 41与低速总线接口 42,并且,所述 CPU的时钟频率分别是各总线时钟频率的整数倍,例如,所述CPU的时 钟频率是高速总线时钟频率的2倍,是低速总线时钟频率的4倍,并且 CPU的时钟频率与各总线时钟频率的相位是相同的;应用本发明,可以 在CPU40上设置两个输入端口第一输入端口43,用于获取高速总线的 时钟分频信息;以及,第二输入端口 44,用于获取低速总线的时钟分频 信息;并分别将所述时钟分频信息通知至高速总线接口 41的第一时钟域 控制模块46和低速总线接口 42的第二时钟域控制模块47,所述第一时钟域控制模块46根据高速总线的时钟分频信息,调整所述高速总线接口 41,使所述CPU和高速总线BUS1同步运行在相应的时钟频率上;所述 第二时钟域控制模块47根据低速总线的时钟分频信息,调整所述低速总
在本发明的一种优选实施例中,所述时钟域控制才莫块103可以包括 以下子模块
采样子模块,用于根据所述时钟分频信息从低电平到高电平的跃升, 对来自相应外部设备的时钟信号进行采样;
同步子模块,用于根据所述采样信号调整所述CPU与各外部设备的
以设置在CPU总线接口的时钟域控制模块为例,即可以将根据输入 端口的时钟分频信号从低电平到高电平的跃升,将来自相应总线的信号 进行采样并存入寄存器,然后等待若干个时钟周期,再送入CPU的时钟 域,从而完成同步调整。
当然,本领域技术人员根据实际情况或经验采用任一种调整数据传
的,例如,通过产生分频时钟并在分频时钟的上升沿采样实现同步调整 等,本发明对此亦无需加以限制。
图1所示的CPU器件可以应用在各种嵌入式系统开发中。例如,其 可以应用到ARM嵌入式系统中。
参考图5,示出了本发明的一种SoC芯片的结构框图,所述SoC芯 片51包括CPU内核52,所述CPU内核的时钟频率和芯片内其它外部设 备的时钟频率是同相位的,所述CPU内核52具体可以包括以下模块
时钟分频信息获取模块501,用于获取外部设备的时钟分频信息;
时钟域控制模块503,用于根据所述时钟分频信息调整所述CPU与 外部设备的数据传输接口 ,使所述CPU和各外部设备同步运行在相应的
10时钟频率上。
本实施例提供了将图1所示的实施例应用于SoC芯片中的一种实现 方式。现代SOC芯片设计中,通常采用一个或者多个CPU内核。CPU 内核通常具有两个或者多个总线接口,与外部设备或者其它CPU内核进
行通信,因而在本发明的一种优选实施例中,所述数据传输接口可以为
CPU的总线接口。
一个CPU内核通常^f吏用一个时钟,即在一个时钟域中,而一个soc
芯片中为了达到性能、功耗和成本的平衡,通常必须采用多个时钟域设
计。因而现代soc芯片设计中,同步时钟的设计非常重要。同步时钟是
指在传送数据时,通信双方使用同一个时钟信号进行同步,通信双方送 出与接收地址信号、控制命令信号和数据信号,都是使用这一时钟信号 完成的。
在本发明实施例中,所述同步时钟主要是通过时钟分频信息获取模 块和时钟域控制模块实现的。具体而言,所述时钟分频信息获取模块可
以设置为在CPU接口增加的输入端口 ,使得每个CPU接口都可以分别连 接满足以下条件的外部设备1) CPU的时钟频率和外部设备的时钟频率 同相;2) CPU的时钟频率是外部设备时钟频率的整数倍。
为使不同的CPU接口可以连接不同速度(工作在不同时钟频率)的 外部设备,每个输入端口可以将时钟分频信息的波形传送给时钟域控制 模块。在本发明的一种优选实施例中,所述时钟域控制模块可以通过采 样子模块根据所述时钟分频信息从低电平到高电平的跃升,对来自相应 外部设备的时钟信号进行采样;然后通过同步子模块根据所述采样信号 调整所述CPU与各外部设备的数据传输接口 ,使所述CPU和各外部设备 同步运行在相应的时钟频率上。
当然,本领域技术人员根据实际情况或经验采用任一种调整数据传
的,本发明对此亦无需加以限制。
在本发明的一种优选实施例中,所述外部设备的时钟分频信息可以由芯片内的时钟控制模块产生,在实际中,所迷时钟控制模块还可以用
于产生CPU和相应外部设备的时钟。
为使本领域技术人员更好地理解本发明,以下结合图6所示的CPU 结构图为例进一 步说明本发明优选实施例。
在本例中,SoC芯片49包括时钟控制器48和CPU内核40,该CPU40 分别与高速总线BUS1以及低速总线BUS2通信,CPU40上具有相应的 高速总线接口 41与低速总线接口 42,并且,所述CPU的时钟频率分别 是各总线时钟频率的整数倍,例如,所述CPU的时钟频率是高速总线时 钟频率的2倍,是低速总线时钟频率的4倍,并且CPU的时钟频率与各 总线时钟频率的相位是相同的;应用本发明,所述时钟控制器48用于产 生时钟,以及,高速总线的时钟分频信息和低速总线的时钟分频信息; 在CPU40上设置有两个输入端口第一输入端口43,用于获取高速总线 的时钟分频信息;以及,第二输入端口 44,用于获取低速总线的时钟分 频信息;并分别将所述时钟分频信息通知至高速总线接口 41的第一时钟 域控制模块46和低速总线接口 42的第二时钟域控制模块47,所述第一 时钟域控制模块46根据高速总线的时钟分频信息,调整所述高速总线接 口 41,使所述CPU和高速总线BUS1同步运行在相应的时钟频率上;所 述第二时钟域控制模块47根据低速总线的时钟分频信息,调整所述低速 总线接口 42,使所述CPU和低速总线BUS2同步运行在相应的时钟频率 上。
当然,本发明实施例对所述外部设备的时钟分频信息的获取方式不 作限制,例如,可以来自相应输入端口预置的时钟分频信息,本发明对 此无需加以限制。
参考图7,示出了本发明的一种同步时钟的方法实施例的流程图,所 述时钟涉及不同时钟域的CPU与外部设备的时钟频率,并且,所述CPU 的时钟频率和外部设备的时钟频率是同相位的,本实施例具体可以包括 以下步骤步骤701、获取外部设备的时钟分频信息;
步骤702、根据所述时钟分频信息调整所述CPU与外部设备的数据
在本发明的一种优选实施例中,所述外部设备的时钟分频信息可以 从所述芯片内的时钟控制器中获得。
在具体实现中,所述步骤702可以包括以下子步骤
子步骤7021、根据所述时钟分频信息从低电平到高电平的跃升,对 来自相应外部设备的时钟信号进行采样;
子步骤7022、根据所述采样信号调整所述CPU与各外部设备的数据 传输接口 ,使所述CPU和各外部设备同步运行在相应的时钟频率上。
对于方法实施例而言,由于其与装置实施例基本相似,所以描述的 比较简单,相关之处参见装置实施例的部分说明即可。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为 一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描 述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或 者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实 施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须 的。
以上对本发明所提供的一种CPU、 一种SoC芯片及一种同步时钟的 方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方 式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其 核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容 不应理解为对本发明的限制。
1权利要求
1、一种CPU,其特征在于,所述CPU的时钟频率和外部设备的时钟频率是同相位的,所述CPU包括时钟分频信息获取模块,用于获取外部设备的时钟分频信息;时钟域控制模块,用于根据所述时钟分频信息调整所述CPU与外部设备的数据传输接口,使所述CPU和各外部设备同步运行在相应的时钟频率上。
2、 如权利要求1所述的CPU,其特征在于,所述时钟域控制模块包括采样子模块,用于根据所述时钟分频信息从低电平到高电平的跃升, 对来自相应外部设备的时钟信号进行采样;同步子模块,用于根据所述采样信号调整所述CPU与外部设备的数
3、 如权利要求1所述的CPU,其特征在于,所述数据传输接口为 CPU的总线接口。
4、 一种SoC芯片,其特征在于,所述SoC芯片包括CPU内核,所 述CPU内核的时钟频率和芯片内其它外部设备的时钟频率是同相位的, 所述CPU内核包^^:时钟分频信息获取模块,用于获取外部设备的时钟分频信息; 时钟域控制模块,用于根据所述时钟分频信息调整所述CPU与外部设备的数据传输接口 ,使所述CPU和各外部设备同步运行在相应的时钟频率上。
5、 如权利要求4所述的SoC芯片,其特征在于,所述芯片还包括时 钟控制模块,用于产生时钟,以及,产生外部设备的时钟分频信息。
6、 如权利要求4或5所述的SoC芯片,其特征在于,所述时钟域控 制模块包括采样子模块,用于根据所述时钟分频信息从低电平到高电平的跃升, 对来自相应外部设备的时钟信号进行采样;同步子模块,用于根据所述采样信号调整所述CPU与外部设备的数
7、 如权利要求1所述的SoC芯片,其特征在于,所述外部设备为总 线,所述数据传输接口为CPU的总线接口 。
8、 一种同步时钟的方法,其特征在于,所述时钟涉及不同时钟域的 CPU与外部设备的时钟频率,并且,所述CPU的时钟频率和外部设备的 时钟频率是同相位的,所述方法包括获取外部设备的时钟分频信息;根据所述时钟分频信息调整所述CPU与外部设备的数据传输接口 , 使所述CPU和各外部设备同步运行在相应的时钟频率上。
9、 如权利要求8所述的方法,其特征在于,所述外部设备的时钟分 频信息从所述芯片内的时钟控制器中获得。
10、 如权利要求4或5所述的方法,其特征在于,所述调整数据传 输接口使CPU和外部设备同步运行在相应的时钟频率上的步骤包括根据所述时钟分频信息从低电平到高电平的跃升,对来自相应外部 设备的时钟信号进行采样;根据所述采样信号调整所述CPU与外部设备的数据传输接口 ,使所 述CPU和各外部设备同步运行在相应的时钟频率上。
全文摘要
本发明提供了一种CPU,所述CPU的时钟频率和外部设备的时钟频率是同相位的,所述CPU包括时钟分频信息获取模块,用于获取外部设备的时钟分频信息;时钟域控制模块,用于根据所述时钟分频信息调整所述CPU与外部设备的数据传输接口,使所述CPU和各外部设备同步运行在相应的时钟频率上。本发明可以动态地适应CPU与外部设备的不同时钟域,从而在有效降低成本的基础上,提高访问效率,简化系统结构,并有效节约硬件资源。本发明还涉及一种SoC芯片。
文档编号G06F1/12GK101498952SQ20091007897
公开日2009年8月5日 申请日期2009年3月2日 优先权日2009年3月2日
发明者艳 石 申请人:北京红旗胜利科技发展有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1