掌桥专利:专业的专利平台
掌桥专利
首页

配置和状态寄存器的独立计时

文献发布时间:2024-04-18 20:00:50


配置和状态寄存器的独立计时

背景技术

专用集成电路(ASIC)、片上系统(SoC)和其他集成电路(IC)通常包括一个或多个知识产权(intellectual property,IP)块。IP块通常包括配置和状态寄存器(CSR)的集合。CSR有时也被称为控制和状态寄存器。CSR通常是处理器、硬件实体或软件实体能够在特定地址和(多个)位位置读取或写入的实体(例如,触发器)。例如,CSR能够提供与IP块相关联的控制旋钮和状态更新。CSR还能够将IP块配置成以特定方式执行。

许多IC布局设计将公共时钟线路由到IP块和CSR两者,使得CSR以与IP块相同的时钟速度操作。这导致更高的功率耗散、访问CSR时的附加延迟、对保留电源轨的物理放置的更多约束、以及在不对IP块供电的情况下软件不能更新CSR。其它布局设计在具有定制时钟域交叉(CDC)同步器的较慢专用时钟上运行IP块的CSR。然而,这些定制CDC同步器能够需要大量的设计工作、引起显著的设计面积损失,并增加功耗。

发明内容

本文档描述了使能用于CSR的独立计时的系统和技术。所描述的系统和技术能够向IP块的CSR集合提供时钟信号,该时钟信号具有导出时钟速率,该导出时钟速率是比使能IP块的操作的另一时钟信号的时钟速率更慢的整数除法,该IP块的操作可以包括IP块与应用处理器之间的通信。导出时钟速率与时钟速率同步但独立。以这种方式,应用处理器和其他实体能够独立于IP块的计时访问CSR集合。例如,应用处理器能够从CSR集合读取或向CSR集合写入,而不将IP块从自动时钟门控(ACG)模式唤醒。所描述的独立计时的各方面也可以利用IC设计面积的最小增加(例如,较小的复杂度)来实现,并且减少与CSR集合相关联的功率耗散。

在各方面中,集成电路(IC)包括IP块、异步桥和时钟管理器。IP块包括至少一个IP子系统和与该至少一个IP子系统相关联的CSR集合。异步桥将IP块的CSR集合可操作地耦合到与IC相关联的应用处理器。时钟管理器可操作地耦合到异步桥、IP块和CSR集合。时钟管理器能够生成第一时钟信号并将其提供给IP块以使能IP子系统与应用处理器之间的通信。时钟管理器还能够生成第二时钟信号。第二时钟信号具有比第一时钟信号的时钟速率更慢的导出时钟速率。第二时钟信号能够独立于第一时钟信号被选择性地门控。时钟管理器还能够将第二时钟信号提供给CSR集合和异步桥,以使能以导出时钟速率在应用处理器与CSR集合之间的通信。

本文档还描述了使能用于CSR的独立计时(clocking)的其他方法、配置和系统。

本发明内容介绍了用于CSR的独立计时的简化概念,其在下面的具体实施方式和附图中进一步描述。本发明内容不旨在标识所要求保护的主题的必要特征,也不旨在用于确定所要求保护的主题的范围。

附图说明

在本文档中参考以下附图描述用于CSR的独立计时的一个或多个方面的细节。遍及多个附图使用相同的附图标记来指代相同的特征和组件:

图1图示了其中能够实现用于CSR的独立计时的各方面的用户设备的示例设备图;

图2图示了能够在其中实现用于CSR的独立计时的各方面的SoC的示例设备图;

图3图示了用于CSR的独立计时的示例图;

图4图示了用于独立计时的时钟信号的示例时序图;

图5图示了用于使能针对仅监视属性的用于CSR的独立计时的所描述的方面的示例图;

图6图示了描绘针对仅监视属性的用于CSR的独立计时的各方面的示例时序图;

图7图示了用于使能针对控制和监测属性的用于CSR的独立计时的所描述的方面的示例图;

图8是图示用于CSR的独立计时的示例操作的流程图;以及

图9图示了可以实现CSR的独立计时的各方面的示例SoC。

具体实施方式

概述

本文档描述了用于CSR的独立计时的各方面。在各个方面,SoC的IP块能够包括具有相关联的CSR集合的IP子系统。IP块能够散布在SoC上并且位于不同的功率域或时钟域内。IP块通常支持可由SoC的应用处理器或主机访问的配置访问端口或信道。所描述的方面提供了一种配置访问信道,其通常以与IP块(例如,IP块的核心)的时钟速率不同的时钟速率运行。为了方便起见,本文档描述了包括IP块和IP子系统的SoC的场境中的实施例和示例。本文档的原理通常可以被应用于包括CSR的SoC或IC的功能块、IP块或子系统,并且使能在与块和子系统不同且独立的时钟域上的CSR集合的操作。

如上所述,CSR集合能够提供与IP块和IP子系统相关联的控制元件和状态更新。CSR集合能够配置IP块的硬件以指定的方式执行。应用处理器或软件例程还能够使用CSR来读取在IP子系统和IP块中发生的事件的当前状态。特定CSR集合能够包括几个属性,包括仅控制(例如,可用于应用处理器的读取和写入操作和可用于IP子系统的只读操作)、仅监视(例如,可用于应用处理器的只读操作、以及可用于IP子系统的读取和写入操作)或两者的组合。

CSR的计时和放置通常涉及几个问题的考虑。例如,工程师可以考虑来自CSR的功率耗散、电路路由容易性以及是否在IP块的断电期间保留CSR值。设计工程师还可以在应用处理器能够读取或写入IP块的CSR之前考虑IP块是否应该从ACG模式被供电。当IP块不活动(例如,断电或置于低功率睡眠状态)时,ACG特征能够在根级别门控核心时钟以节省时钟路由和功率。另外,设计工程师可以考虑用于CSR设计的寄存器传输级(RTL)代码的生成。

所描述的系统和技术使能用于CSR的独立计时,该用于CSR的独立计时使用与核心时钟信号的时钟速率同步且比核心时钟信号的时钟速率慢的整数除法的导出时钟速率。所描述的独立计时方面允许应用处理器无缝地从CSR读取和向CSR写入。因为时钟管理器或时钟门控制器能够独立于核心时钟信号选择性地门控导出时钟信号,所以即使当IP块处于ACG模式时,应用处理器也能够访问CSR集合。所描述的独立计时的各方面还允许工程师将CSR集合放置在保持电源轨(retention power rail)附近而不对芯片定时产生负面影响。

作为非限制性示例,SoC或集成电路包括IP块、异步桥和时钟管理器。IP块包括至少一个IP子系统和与IP子系统相关联的CSR集合。异步桥将CSR集合可操作地耦合到应用处理器。时钟管理器将异步桥、IP块和CSR集合可操作地耦合在一起。时钟管理器能够生成第一时钟信号并将其提供给IP块以使能IP子系统与应用处理器之间的通信。时钟管理器还能够生成第二时钟信号。第二时钟信号具有比第一时钟信号的时钟速率慢的导出时钟速率。能够独立于第一时钟信号选择性地门控第二时钟信号。时钟管理器还能够将第二时钟信号提供给CSR集合和异步桥,以使能以导出时钟速率在应用处理器和CSR集合之间的通信。

该示例仅是用于CSR的独立计时的一个说明,以改进SoC中的CSR的计时和放置。贯穿本文档描述了其他示例配置和方法。本文档现在描述用于CSR的所描述的独立计时的附加示例方法、配置和组件。

示例设备

图1图示了其中能够实现用于CSR的独立计时的各方面的用户设备102的示例设备图100。为了清楚起见,用户设备102可以包括从图1中省略的附加组件和接口。

用户设备102能够被实现为各种消费电子设备。作为非限制性示例,用户设备102能够是移动电话102-1、平板设备102-2、膝上型计算机102-3、台式计算机102-4、计算机化手表102-5、可穿戴计算机102-6、视频游戏控制台102-7或语音助理系统102-8。

用户设备102能够包括用于通过无线网络进行通信的一个或多个射频(RF)收发器104。用户设备102能够将RF收发器104和支持电路(例如,天线、前端模块、放大器)调谐到由各种通信标准定义的一个或多个频带。

用户设备102还包括集成电路106。作为非限制性示例,集成电路106能够包括SoC、中央处理单元、图形处理单元、ASIC、现场可编程门阵列(FPGA)、介质控制器、存储器控制器、张量处理单元或支持配置访问信道的任何其他硬件电路。集成电路106通常将用户设备102的若干组件集成到单个芯片中,包括中央处理单元、存储器以及输入和输出端口。集成电路106能够包括单核或多核。在所描绘的实施方式中,集成电路106包括一个或多个IP块108、应用处理器114、时钟管理器116和计算机可读存储介质(CRM)118。集成电路106能够包括其他组件,包括通信单元(例如,调制解调器)、输入/输出控制器和系统接口。

每个IP块108包括一个或多个IP子系统110和CSR集合112。IP块108表示集成电路106的特定功率域或时钟域内的IP子系统110的集合。IP块108能够被实现为使能用户设备102的某些功能的集成电路106的另一处理器、引擎或协处理器。该文档关于图9标识和描述各种示例IP块108。CSR集合112包括CSR的集,每个CSR向IC 106的硬件或软件提供关于与IP块108或IP子系统110相关联的事件和配置值的状态的信息。CSR集合112能够跨对应IP块108或功率域的功率循环事件被保存和恢复。

应用处理器114能够包括组合的处理器和存储器系统,其执行存储在计算机可读存储介质(例如,CRM 118或CRM 120)上的计算机可执行指令以控制集成电路106的操作并且使能用户设备102的功能。通常,应用处理器114可以至少部分地用硬件来实现。例如,应用处理器114能够执行固件、操作系统或其他计算机可执行指令,以从与特定IP块108的IP子系统110相关联的CSR集合112读取或向其写入。

时钟管理器116能够生成具有与核心时钟信号(例如,第一时钟信号)的时钟速率同步的导出时钟速率的一个或多个导出时钟信号(例如,导出核心时钟信号或第二时钟信号)。在一些实施方案中,导出时钟速率为比核心时钟信号的时钟速率慢的整数除法(例如,二、三、四、五或六)。在其它实施方案中,导出时钟速率为比核心时钟信号的时钟速率快的整数乘法(例如,二、三、四、五或六)。核心时钟信号使能IP子系统110与应用处理器114之间的通信。导出时钟信号使能以导出时钟速率在应用处理器114和CSR集合112之间的通信。所描述的独立计时能够独立于核心时钟信号选择性地门控导出时钟信号(反之亦然),使得软件更新(例如,写入操作)和读出(例如,读取操作)能够无缝地发生并且没有附加的延迟。时钟管理器116能够利用硬件、固件、软件或其组合来实现或包括硬件、固件、软件或其组合。时钟管理器116可操作地耦合到IP块108和CSR集合112。

CRM 118是用于存储可由应用处理器114和/或IP块108访问的数据的合适的存储设备(例如,静态随机存取存储器(SRAM)、动态RAM(DRAM)、非易失性RAM(NVRAM)、同步动态RAM(SDRAM))。CRM 118使能系统数据的持久或非暂时性数据存储,其能够包括固件、操作系统、应用以及与集成电路106的操作方面相关的任何其他类型的信息或数据。在其他实施方式中,CRM 118能够位于集成电路106外部。

用户设备102还包括计算机可读存储介质(CRM)120。CRM 120是用于存储用户设备102的设备数据的合适的存储设备(例如,随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、非易失性RAM(NVRAM)、只读存储器(ROM)、闪存)。设备数据能够包括操作系统、一个或多个应用、用户数据和多媒体数据。在其他实施方式中,CRM 120能够存储操作系统和集成电路106的应用、用户数据和多媒体数据的子集。操作系统通常管理用户设备102的硬件和软件资源并且提供公共服务。操作系统和应用通常可由集成电路106执行以使能与用户设备102的通信和用户交互,这可能需要访问CRM 118或CRM 120中的数据。

图2图示了SoC 202的示例设备图200,其中能够实现CSR的独立计时的各方面。在该示例中,SoC 202包括具有一些附加细节的与图1的集成电路106中所示的组件类似的组件。SoC 202能够包括图2中未图示的附加组件。

SoC 202包括多个IP块108、应用处理器114、时钟管理器116和CRM 118。IP块108包括IP块(A)108-1和一个或多个附加IP块,其包括IP块(n)108-n,其中n表示大于1的正整数。

IP块108中的每一个包括一个或多个IP子系统110和CSR集合112。在该示例中,IP块(A)108-1包括可操作地连接到CSR集合(A)112-1的IP子系统(A1)110-11和IP子系统(A2)110-12。IP块(n)108-n包括可操作地连接到CSR集合(n)112-n的IP子系统(n1)110-n1和IP子系统(nm)110-nm,其中m表示大于1的正整数。

CSR集合112存储IP子系统110的配置和注册值或与IP子系统110相关联。CSR集合112通常始终开启并且足够多,以存储SoC 202的IP子系统110的配置和注册值。

时钟管理器116包括一个或多个时钟门控制器204。时钟管理器116可操作地耦合到IP块108和CSR集合112。当时钟信号不需要保存动态功率时,时钟门控制器204能够“门控”或关闭特定IP块108的时钟信号(例如,第一时钟信号或第二时钟信号)。例如,时钟门控控制器204中的一个能够独立于导出时钟信号选择性地门控提供给IP块108的核心时钟信号。核心时钟信号使能IP块及其子系统的操作,诸如至少一个IP子系统110(例如,IP子系统A1 110-11)与应用处理器114之间的通信。

类似地,一个或多个其他时钟门控控制器204能够独立于核心时钟信号选择性地门控提供给CSR集合112的导出时钟信号。导出时钟信号使能以导出时钟速率在应用处理器114和CSR集合112之间的通信。时钟门控控制器204能够包括硬件、固件、软件或其组合。时钟门控控制器204能够被包括作为时钟管理器116的一部分或者与时钟管理器116分离。

本文档描述了CSR集合112的独立计时的布置和操作,具体地,参考图3至图7和/或图9的SoC更详细地描述IP块108、IP子系统110、CSR集合112、应用处理器114、时钟管理器116和时钟门控制器204的布置和操作。本文档还关于图8更详细地描述了由CSR集合112的独立计时的各方面执行的示例方法。

示例配置

该部分图示了用于CSR的独立计时的示例配置,其可以单独地发生或整体或部分地一起发生。为了便于阅读,该部分描述了关于附图的示例配置。

图3图示了CSR的独立计时的示例图300。独立计时的各方面能够在SoC 202中实现并且包括图3中未图示的附加组件。图300图示了用于提供导出时钟信号312的配置,该导出时钟信号312与核心时钟信号310的时钟速率同步但具有比核心时钟信号310的时钟速率慢的整数除法或比核心时钟信号310的时钟速率快的整数乘法的导出时钟速率。通常,本文中描述的各方面使能具有单独的时钟的IP块和CSR的独立计时,该单独的时钟在不同的频率和/或门控操作以促进对IP子系统或CSR的独立操作或访问。通过这样做,SoC的应用处理器或主机可以访问CSR或IP子系统,而另一实体以较慢的频率进行计时或不活动,从而减少由IP块、IP子系统或CSR电路消耗的功率。

各种组件之间的任何耦合或连接可以是直接的或间接的,诸如通过一个或多个中间组件进行。为了视觉简洁和/或清楚,一些不相关或冗余的组件(例如,逻辑门或互补数据路径)、耦合(例如,连接、迹线、导线、互连)或电路也可以从该或其他电路图中省略。这样的省略不应被解释为限制,而是其中可以使用或应用所描述的电路的各个方面以实现CSR的独立计时的各方面的许多方式的一个示例。换句话说,本文中描述的方面(例如,电路和/或模块)也可以用任何合适数量或组合的逻辑门、数据路径和/或附加或单独的冗余或复制单元来实现。

类似于图2,SoC 202包括具有IP子系统(A1)110-11、IP子系统(A2)110-12和IP子系统(A3)110-13以及CSR集合112的IP块(A)108-1。SoC 202还能够包括应用处理器114、异步桥302、保持电源轨304、时钟管理器116和多个时钟门控制器204(例如,时钟门控制器204-1、时钟门控制器204-2和时钟门控制器204-3)。

异步桥302使能不同时钟域之间的通信(例如,数据传输)。例如,异步桥302能够使能与核心时钟信号310、导出时钟信号312和配置时钟信号308相关联的不同时钟域之间的通信的缓冲同步。在所描绘的实施方式中,应用处理器114能够利用配置访问信道306来向CSR集合112读取或写入配置值。配置存取信道306能够在配置时钟信号308上操作,该配置时钟信号308能够具有与核心时钟信号310或导出时钟信号312相同或不同的时钟速率。应用处理器114经由配置访问信道306可操作地耦合到异步桥302。异步桥302经由配置访问信道306可操作地耦合到CSR集合112。

在各方面中,IP块(A)108-1可操作地连接到保持电源轨304。保持电源轨304向CSR集合112内的寄存器(例如,触发器)提供功率。所描述的独立计时允许保持电源轨304可操作地耦合到CSR集合112,CSR集合112能够以比核心时钟信号310慢的时钟速率操作。该设计还可使能CSR集合112被放置在保持电源轨304附近而不对SoC202的时序产生负面影响。

时钟管理器116能够生成核心时钟信号310和导出时钟信号312。时钟管理器116可操作地耦合到异步桥302、IP块(A)108-1和CSR集合112。时钟管理器116还可操作地耦合到时钟门控制器204-1、时钟门控制器204-2和时钟门控制器204-3。在各方面中,时钟管理器116向IP块(A)108-1提供核心时钟信号310以使能IP块的操作,该IP块的操作可以包括IP子系统110与应用处理器114之间的通信。时钟管理器还能够将导出时钟信号312提供给CSR集合112和异步桥302,以使能以导出时钟速率在应用处理器114与CSR集合112之间的通信。

导出时钟信号312具有导出时钟速率,该导出时钟速率是比核心时钟信号310更慢的整数除法或比核心时钟信号310更快的整数乘法。时钟管理器116能够将导出时钟速率动态地调整为核心时钟信号310的时钟速率的不同整数除法或不同整数乘法。例如,导出时钟速率的不同整数除法能够等于二、三、四、五、六或另一整数。导出时钟速率的不同整数乘法能够等于二、三、四、五、六或另一整数。以这种方式,导出时钟信号312能够以比核心时钟信号310更慢或更快的速率操作。如上所述,导出时钟信号312是比核心时钟信号310慢(例如,慢两倍、四倍或六倍)的整数除法。时钟管理器116还能够确保导出时钟信号312与核心时钟信号310同步。

在CSR集合112处终止的一个或多个电路路径能够被配置为多循环路径。导出时钟速率随着核心时钟信号310的时钟速率而缩放,以支持各种动态电压和频率缩放(DVFS)频率值。因此,独立计时的各方面使能针对任何潜在整数除法值或潜在整数乘法值的时钟调整,而不损失核心时钟信号310与导出时钟信号312之间的相位关系。以这种方式,所描述的独立计时的各方面提供同步计时并且避免违反SoC202的多周期路径定相。

能够独立于核心时钟信号310选择性地门控导出时钟信号312,并且能够独立于导出时钟信号312选择性地门控核心时钟信号310。以此方式,导出时钟信号312的性能点独立于核心时钟信号310的性能点。例如,时钟门控控制器2041可操作地耦合在时钟管理器116和CSR集合112之间,并且能够独立于核心时钟信号310是否被门控而选择性地门控导出时钟信号312。以这种方式,当核心时钟信号310被门控时(例如,在启用IP块(A)108-1的ACG模式期间),应用处理器114能够以导出时钟速率将配置值写入CSR集合112。类似地,时钟门控制器204-2可操作地耦合在时钟管理器116与IP子系统110之间,并且能够独立于导出时钟信号312是否被门控而选择性地门控核心时钟信号310。时钟门控制器204-2能够例如门控核心时钟信号310以使能IP块(A)1081或IP子系统110的ACG模式。时钟门控制器204-3可以可操作地耦合在时钟管理器116与异步桥302之间,并且能够选择性地门控配置时钟信号308。

在所描绘的实施方式中,SoC 202包括单个IP块108、单个异步桥302和单个时钟管理器116。在其他实施方式中,SoC 202能够包括多个IP块108。多个IP块108中的每一个能够包括相应的IP子系统110和与IP子系统110相关联的相应CSR集合112。SoC 202还能够包括多个相应异步桥302。多个异步桥302中的每一个可操作地耦合在应用处理器114与多个IP块108中的相应CSR集合112之间。SoC 202还能够包括多个相应时钟管理器116,时钟管理器116中的每一个可操作地耦合到相应异步桥302、相应IP块108和相应CSR集合112。

图4图示了用于独立计时的时钟信号的示例时序图400。在该示例中,SoC 202包括与图3的SoC 202中所示的组件和信号类似的组件和信号,其中一些附加细节用于核心时钟信号和导出时钟信号。

通常,时钟管理器116能够生成具有核心时钟速率的核心时钟信号402,诸如用于IP块子系统或IP块核心。核心时钟信号402可以类似于图3中所图示的核心时钟信号310。时钟管理器116能够提供核心时钟信号402以使能IP块108的IP子系统110与应用处理器114之间的通信。

时钟管理器116还能够生成导出时钟信号404、406或408。在所描绘的实施方案中,导出时钟信号404、406或408具有为比核心时钟信号402的核心时钟速率慢的整数除法的导出时钟速率。例如,导出时钟信号404的导出时钟速率比核心时钟速率慢两倍(例如,除以二)。导出时钟信号406的导出时钟速率比核心时钟速率慢四倍(例如,除以四)。并且导出时钟信号408的导出时钟速率比核心时钟速率慢六倍(例如,除以六)。导出时钟信号404、406和408与核心时钟信号402同步,如它们相应相位的对准所图示。通过同步,意味着导出时钟信号404、406和408的上升沿与核心时钟信号402的上升沿一致。虽然导出时钟信号404、406及408中的每一个的占空比示出为与核心时钟信号402的占空比类似(例如,百分之五十),但这在所有实施方案中不是必需的。

图5图示了用于使能针对仅监视属性(例如,只读属性)的用于CSR的独立计时的所描述的方面的示例图500。在该示例中,SoC 202包括具有附加细节的与图3的SoC中所示的组件和信号类似的组件和信号。CSR集合112支持仅监视属性,其中应用处理器114具有可用的只读操作,并且IP子系统110具有可用的读取和写入操作。

图500包括多路复用器502、506和510以及锁存器504、508、512和514。多路复用器502可操作地耦合到锁存器504。多路复用器502的输入包括HW_Data信号516和Data(数据)信号522。HW_Data信号516能够传达例如读取或写入命令。Data信号522能够例如传达与写入命令相关联的数据值。HW_Data信号516与Data信号522之间的选择由数据写入启用信号518(Data_Wen 518)引导。

锁存器504包括核心时钟信号(Core_Clk)520的输入和多路复用器502的输出。锁存器504的输出是提供给多路复用器506的Data信号522。多路复用器506可操作地耦合在锁存器504与锁存器508之间。多路复用器506的输入包括Data信号522和正交相位数据信号(Data_Q)526。Data信号522与Data_Q信号526之间的选择由En_Xor 524信号引导。

锁存器508包括核心时钟信号(Core_Clk)520的输入和多路复用器506的输出。锁存器508的输出是被提供给多路复用器506和锁存器514的Data_Q信号526。多路复用器510可操作地耦合到锁存器512。多路复用器510的输入包括HW_En信号530和Data_Q信号526。HW_En信号530与Data_Q信号526之间的选择由En_Xor 524信号引导。

锁存器512包括核心时钟信号(Core_Clk)520的输入和多路复用器510的输出。锁存器512的输出是HW_En信号530。并且闩锁514可操作地联接到锁存器508。锁存器514包括Clock_Div_Value信号528(例如,值二、三、四、五或六)和Data_Q信号526的输入。锁存器514的输出是Data_CSR信号532。在各方面中,Clock_Div_Value信号528的使用可以使能由应用处理器114对CSR的独立监测以及独立于IP块的核心时钟信号或功率状态而由IP块108的IP子系统110进行读取和写入操作。

图6图示了描绘用于仅监视属性的用于CSR的所描述的独立计时的各方面的示例时序图600。关于图6的描述参考以上关于图1至5描述的硬件和技术。尽管如此,时序图600可以用不同的硬件、技术、方案或其组合来实现。通常,时序图600指示支持仅监视属性的IP子系统110与CSR集合112之间的示例信令,其中应用处理器114具有可用的只读操作,并且IP子系统110具有可用的读取和写入操作。

时钟管理器116能够向IP块108提供Core_Clk信号520,以使能IP子系统110与应用处理器114之间的通信。时钟管理器116还能够向CSR集合112和异步桥302提供Core_Derived_Clk信号602,以使能应用处理器114与CSR集合112之间的通信。Core_Derived_Clk信号602的导出时钟速率比Core_Clk信号520的时钟速率慢四倍。Core_Derived_Clk_En信号604与Core_Derived_Clk信号602的上升沿同步。Core_Derived_Clk_En_Q信号606与Core_Derived_Clk_En信号604异相90度。如果Core_Derived_Clk_En信号604或Core_Derived_Clk_En_Q信号606中的任一个或仅一个是高或真,则En_Xor信号传达真或高输出。

当HW_Data信号516传送读取或写入命令时,Data_Wen信号518传送真或高。HW_Data信号指示IP子系统是否包括用于CSR集合112的读取或写入命令。Data信号522传送与读取或写入命令相关联的数据。Data_Q信号526与Core_Derived_Clk_En_Q信号606同步。HW_En信号530与Data_Q信号526同步。Data_CSR信号532传达何时将Data信号522的值写入CSR集合112或从CSR集合112读取。在各方面中,Core_Derived_Clk信号602的使用可以使能由应用处理器114对CSR的独立监测以及独立于IP块的Core_Clk信号520或功率状态由IP块108的IP子系统110的读取和写入操作。Core_Derived_Clk信号602的较慢时钟速率还可以减少与CSR集合112相关联的功率耗散。

图7图示了用于使能针对控制和监测属性的用于CSR的独立计时的所描述的方面的示例图700。在该示例中,SoC 202包括具有一些附加细节的与图3的SoC中所示的组件和信号类似的组件和信号。CSR集合112支持控制和监视属性,其中应用处理器114和IP子系统110具有可用的读和写操作。

图700包括多路复用器702、704和708、锁存器706、710、712和714、下降沿检测器716和OR逻辑门718。多路复用器702可操作地耦合到多路复用器704和OR逻辑门718。多路复用器702的输入包括Data信号724和Data_CSR信号734。Data信号724能够传达与读取或写入命令相关联的数据值。Data信号724与Data_CSR信号734之间的选择由OR逻辑门718的输出引导。

多路复用器704可操作地耦合到锁存器706和多路复用器702。多路复用器704的输入包括Data信号724和多路复用器702的输出。Data信号724与多路复用器702的输出之间的选择由Data_Wen信号722引导。

锁存器706可操作地耦合在多路复用器704与多路复用器708之间。锁存器706包括Clk信号726(例如,核心时钟信号)的输入和多路复用器704的输出。锁存器706的输出是Data信号724。

多路复用器708可操作地耦合在锁存器706与锁存器710之间。多路复用器708的输入包括Data信号724和Data_Q信号730。Data信号724与Data_Q信号730之间的选择由En_Xor信号728引导。

锁存器710可操作地耦合在多路复用器708与锁存器712之间。锁存器710包括Clk信号726的输入和多路复用器708的输出。锁存器708的输出是Data_Q信号730。

锁存器712可操作地耦合到锁存器710和多路复用器702。锁存器712包括Data_Q信号730和Clk_Div_Value信号732的输入。锁存器712的输出是Data_CSR信号734。

锁存器714可操作地耦合到下降沿检测器716。锁存器714包括Clk信号726和SW_Wen信号736的输入。锁存器714的输出被提供给下降沿检测器716。下降沿检测器716可操作地耦合到OR逻辑门718。下降沿检测器716的另一输入是SW_Wen信号736。下降沿检测器716的输出是OR逻辑门718的输入。OR逻辑门718的另一输入是Core_ACG_Wake_Pulse信号720。在各方面中,Clock_Div_Value信号732的使用可以使能由应用处理器114对CSR的独立监测以及独立于IP块108的核心时钟信号或功率状态由应用处理器114和IP块108的IP子系统110两者的读取和写入操作。

示例方法

图8是图示用于CSR的独立计时的示例操作800的流程图。在图1至图7的集成电路106或SoC 202或图9的SoC 900的场境中描述操作800。操作800可以以不同的顺序或以附加的或更少的操作执行。

在802,由时钟管理器生成第一时钟信号。时钟管理器可操作地耦合到异步桥、IP块和CSR集合。IP块包括一个或多个IP子系统和与一个或多个IP子系统相关联的CSR集合。异步桥可操作地耦合在CSR集合与应用处理器之间。例如,时钟管理器116能够生成核心时钟信号402。时钟管理器116可操作地耦合到异步桥302、IP块108和CSR集合112。一个或多个相应时钟门控制器204可以可操作地耦合在时钟管理器116、异步桥302、IP块108或CSR集合112(例如,图3的时钟门控制器204-1、204-2和204-3)之间。

在804,第一时钟信号被提供给IP块以使能IP块的核心或IP块的操作,这可以包括IP块的一个或多个IP子系统与应用处理器之间的通信。例如,时钟管理器116将核心时钟信号402提供给IP块108。核心时钟信号402使能IP子系统110与应用处理器114之间的通信。

在806,生成第二时钟信号。第二时钟信号具有导出时钟速率,该导出时钟速率是比第一时钟信号的时钟速率更慢的整数除法或比第一时钟信号的时钟速率更快的整数乘法。第二时钟信号还能够独立于第一时钟信号被选择性地门控。例如,时钟管理器116还能够生成导出时钟信号404。导出时钟信号404具有比核心时钟信号402的时钟速率慢(例如,慢两倍)的整数除法的导出时钟速率。导出时钟速率也能够比核心时钟信号402的时钟速率慢三倍、四倍、五倍或六倍。在其它实施方案中,导出时钟速率能够比核心时钟信号402的时钟速率快两倍、三倍、四倍、五倍或六倍。也能够独立于核心时钟信号402选择性地门控导出时钟信号404。因此,第二时钟信号可以在到IP块的时钟信号被门控和/或IP块处于不活动的状态时使能CSR访问。替代地,当不访问CSR时,可以门控或禁用第二时钟信号,启用CSR相关的功率节省,同时IP块操作以向AP或SoC提供其相应功能。

在808,第二时钟信号被提供给CSR集合和异步桥,以使能以导出时钟速率在应用处理器和CSR集合之间的通信。例如,时钟管理器116能够将导出时钟信号404提供给CSR集合112和异步桥302,以使能以导出时钟速率在应用处理器114和CSR集合112之间的通信。通过使用导出时钟速率,CSR可以以较低的频率操作和/或当IP块不活动时,使得SoC能够在独立于IP块的核心时钟访问CSR的同时节省功率。

示例设备和系统

图9图示了可以实现CSR的独立计时的各方面的示例SoC 900。SoC 900可以被体现为如参考图1至8描述的任何类型的用户设备102、用户设备、装置、其他设备或系统,以实现CSR的独立计时的各方面。尽管参考基于芯片的封装进行了描述,但是图9中所图示的组件也可以被体现为其他系统或组件配置,诸如FPGA、ASIC、专用标准产品(ASSP)、数字信号处理器(DSP)、复杂可编程逻辑器件(CPLD)、系统级封装(SiP)、层叠封装(PoP)、处理和通信芯片组、通信协处理器、传感器协处理器等。

在该示例中,SoC 900包括一个或多个应用处理器902(例如,处理器核),其处理各种计算机可执行指令以控制SoC 900的操作并且使能用于CSR(例如,CSR集112)的所描述的独立计时的技术。替代地或附加地,SoC 900能够用结合处理和控制电路(图9中未图示)实现的硬件、固件或固定逻辑电路中的任何一个或组合来实现。尽管未示出,但是SoC 900还可以包括总线、互连、交叉开关或耦合系统内的各种组件的结构。

SoC 900还包括存储器904(例如,计算机可读存储介质),诸如使能持久或非瞬态数据存储的一个或多个存储器电路,并且因此不包括瞬态信号或载波。存储器904的示例包括RAM、非易失性存储器(例如,ROM、EPROM、EEPROM等)或闪存。存储器904为系统数据906以及固件908、应用910以及与SoC 900的操作方面相关的任何其他类型的信息或数据提供数据存储。例如,固件908能够被维持为存储器904内的操作系统(例如,实时OS)的处理器可执行指令,并且在应用处理器902上执行。

应用910可以包括系统管理器,诸如任何形式的控制应用、软件应用、信号处理和控制模块、特定系统原生的代码、抽象模块或姿态模块等。存储器904还可以存储用于实现用于CSR的所描述的独立计时的各方面的系统组件或实用程序。

SoC 900还包括根据如本文中所描述的CSR的独立计时的一个或多个方面实现的时钟管理器116、时钟门控制器204和异步桥302。通常,时钟管理器116、时钟门控制器204和异步桥302耦合在应用处理器902和SoC 900的功能块之间,以使能SoC 900的组件(例如,功能块或IP块)的相应CSR的独立计时。在该示例中,SoC 900还包括各种功能块或处理器912至924,其中的任一个可以被实现为具有对应的IP子系统的IP块,以提供相应所描述的功能和可由应用处理器902访问的CSR集合,如本文中所描述的。

如图9所示,SoC 900包括使能系统数据906(例如,接收到的数据、正被接收的数据、被调度用于广播、分包化的数据等)的有线或无线通信的通信收发器912和无线调制解调器914。在一些方面,无线调制解调器914是可配置成根据各种通信协议或在不同频带中通信的多模式多频带调制解调器或基带处理器。无线调制解调器914可以包括用于与收发器电路(例如,RF收发器104)传送编码或调制信号的收发器接口(未示出)。

SoC 900能够包括一个或多个数据输入916,能够经由其接收任何类型的数据、媒体内容或输入,诸如用户输入、用户可选择的输入(显式或隐式)或从内容或数据源接收到的任何其他类型的音频、视频或图像数据。替代地或附加地,数据输入916可以包括各种数据接口,其能够被实现为串行或并行接口、无线接口、网络接口、以及实现与其他设备或系统的通信的任何其他类型的通信接口中的任何一个或多个。

SoC 900还包括用于使能其他功能的附加的处理器或协处理器(例如,图1至8的IP块108),诸如图形处理器918、音频处理器920和图像传感器处理器922。图形处理器918可以渲染与SoC 900的用户界面、操作系统或应用相关联的图形内容。在一些情况下,音频处理器920对音频数据和信号(诸如音频信号和与语音呼叫或编码的音频数据相关联的信息)进行编码或解码以用于回放。图像传感器处理器922可以被耦合到图像传感器并且提供图像数据处理、视频捕获和其他视觉媒体调节和处理功能。SoC还可以包括传感器接口924。传感器接口924使能SoC 900从各种传感器(诸如电容和运动传感器)接收数据。

示例

在以下部分中,提供了示例。

示例1:一种片上系统(SoC),包括:知识产权(IP)块,该IP块包括至少一个IP子系统,一个IP块包括与至少一个IP子系统相关联的配置和状态寄存器(CSR)集合;异步桥,该异步桥可操作地耦合在CSR集合与应用处理器之间;以及时钟管理器,该时钟管理器可操作地耦合到异步桥、IP块和CSR集合,该时钟管理器被配置为:生成第一时钟信号;向IP块提供第一时钟信号以使能在至少一个IP子系统与应用处理器之间的通信;生成第二时钟信号,该第二时钟信号具有导出时钟速率,该导出时钟速率是比第一时钟信号的时钟速率更慢的整数除法或比第一时钟信号的时钟速率更快的整数乘法并且能够独立于第一时钟信号被选择性地门控;以及将第二时钟信号提供给CSR集合和异步桥,以使能以导出时钟速率在应用处理器与CSR集合之间的通信。

示例2:根据示例1所述的SoC,其中导出时钟速率可动态地调整到第一时钟信号的时钟速率的不同整数除法或不同整数乘法。

示例3:根据示例2所述的SoC,其中:不同整数除法等于二、三、四、五或六中的至少两个;或者不同整数乘法等于二、三、四、五或六中的至少两个。

示例4:根据示例1至3中任一项所述的SoC,SoC还包括可操作地耦合在时钟管理器与CSR集合之间的时钟门控制器,该时钟门控制器被配置为实现第二时钟信号的选择性门控。

示例5:根据示例4所述的SoC,SoC还包括可操作地耦合在时钟管理器与至少一个IP子系统之间的另一时钟门控制器,该另一时钟门控制器被配置成独立于第二时钟信号实现第一时钟信号的选择性门控。

示例6:根据示例5所述的SoC,其中,应用处理器被配置为:当选择性地门控第一时钟信号时,将配置值写入CSR集合。

示例7:根据示例5或6所述的SoC,其中,另一时钟门控制器还被配置为实现第一时钟信号的选择性门控以使能用于至少一个IP子系统的自动时钟门控模式。

示例8:根据示例1至7中任一项所述的SoC,SoC还包括可操作地耦合到CSR集合的保持电源轨。

示例9:根据示例1至8中任一项所述的SoC,其中,第二时钟信号的性能点独立于第一时钟信号的性能点。

示例10:示例1至9中任一项的SoC,其中在CSR集合处终止的电路路径被配置为多循环路径。

示例11:示例1至10中任一项的SoC,其中第二时钟信号的导出时钟速率与第一时钟信号的时钟速率同步。

示例12:根据示例1至11中任一项所述的SoC,SoC还包括:多个IP块,多个IP块中的每一个包括相应IP子系统和与该IP子系统相关联的相应CSR集合;多个相应异步桥,多个相应异步桥中的每一个可操作地耦合在应用处理器与相应CSR集合之间;以及多个相应时钟管理器,该多个相应时钟管理器中的每一个可操作地耦合到相应异步桥、相应IP块和相应CSR集合。

示例13:根据示例1至12中任一项所述的SoC,其中:SoC被包括在用户设备中;并且IP块是使能用户设备的功能的SoC的处理器或协处理器。

示例14:根据示例13所述的SoC,其中,用户设备包括移动电话、平板设备、膝上型计算机、台式计算机、计算机化手表、可穿戴计算机或语音辅助系统。

示例15:一种方法,包括:由可操作地耦合到异步桥、知识产权(IP)块以及配置和状态寄存器集合的时钟管理器生成第一时钟信号,该IP块包括至少一个IP子系统和与至少一个IP子系统相关联的CSR集合,异步桥可操作地耦合在CSR集合与应用处理器之间;向IP块提供第一时钟信号以使能在至少一个IP子系统与应用处理器之间的通信;生成第二时钟信号,该第二时钟信号具有导出时钟速率,该导出时钟速率是比第一时钟信号的时钟速率更慢的整数除法或比第一时钟信号的时钟速率更快的整数乘法并且能够独立于第一时钟信号被选择性地门控;以及将第二时钟信号提供给CSR集合和异步桥,以使能以导出时钟速率在应用处理器与CSR集合之间的通信。

结论

虽然已经以特定于特征和/或方法的语言描述了用于CSR的独立计时的各种装置、配置和方法,但是应当理解,所附权利要求的主题不必限于所描述的特定特征或方法。相反,具体特征和方法被公开为用于CSR的独立计时的非限制性示例。

相关技术
  • 一种能够控糖、补充营养的主食伴侣
  • 一种控糖降三高减肥补充调理营养的食品
技术分类

06120116545292