CN1813437A - 跨时钟域的事件无损传递 - Google Patents

跨时钟域的事件无损传递 Download PDF

Info

Publication number
CN1813437A
CN1813437A CNA2004800179711A CN200480017971A CN1813437A CN 1813437 A CN1813437 A CN 1813437A CN A2004800179711 A CNA2004800179711 A CN A2004800179711A CN 200480017971 A CN200480017971 A CN 200480017971A CN 1813437 A CN1813437 A CN 1813437A
Authority
CN
China
Prior art keywords
signal
circuit
territory
value
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004800179711A
Other languages
English (en)
Other versions
CN100588149C (zh
Inventor
O·斯泰恩布施
M·斯特里克
R·德格瑞尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1813437A publication Critical patent/CN1813437A/zh
Application granted granted Critical
Publication of CN100588149C publication Critical patent/CN100588149C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information

Abstract

公开了一种传递电路(200、400、500),用于在监控时钟域中监控目标时钟域(170)中发生的目标事件。一些实施例(200)对域时钟强加重要的约束并且包括:一个事件检测器(210);一个发送电路(220),其针对每个事件来改变请求信号(150)的值;以及一个接收电路(230),其检测请求信号中的变化。其它的实施例在范围更广的时钟内工作并且包括:一个计算器(410),当进行传递时,其产生一个事件发生的递增计数(415);发送和接收寄存器(420、430、530),用于递增计数;请求发送和接收电路(220、230),其中,请求信号在每次传递递增计数的时候就改变值;以及用于确认信号的发送和接收电路(470、480)。

Description

跨时钟域的事件无损传递
技术领域
本发明通常涉及用于设计数字电子电路的方法和设备,尤其是用于设计这类包括多个时钟域的电路的方法和设备。更确切地说,本发明涉及一个用于在时钟域之间传递事件的电路,以便在一个时钟域中监控发生在不同的时钟域中的事件。
背景技术
现代社会和技术通常越来越基于电子学,而尤其基于集成电路(IC)。其中的许多装置通常都基于IC或通常至少包括一个IC,这些装置包括计算机、移动电话、个人数字助理(PDA)、微波炉、洗衣机和汽车。
当今,集成电路的容量已经发展到在一个芯片上可以很平常地安置整个电子系统(SoC)的地步。这类SoC通常是被独立设计的功能块或模块的集合体。对于这类模块所常见的是,当该模块最初被设计时,其占用整个IC或需要几个IC来实现。
许多IC是基于同步或时钟逻辑,其中,一个时钟域内的所有逻辑元件都使用相同的时钟。时钟是一个电子信号,其以恒定速率不断地从相对较低的电压变化到相对较高的电压。例如,时钟信号的电压可能在10纳秒(ns,或一秒的十亿分之一)中是0.3伏特,接着在大约3ns内达到大约3.0伏特,然后在大约10ns中保持稳定,并且然后在大约3ns内回到大约0.3伏特。
实际上,时钟电路比非时钟电路更容易设计。然而,时钟电路强加一个约束,即约束电路内的非时钟信号何时可以合理地改变值。通常,进入时钟逻辑元件的信号必须满足建立时间约束和保持时间约束,每个约束都与时钟升至3.0伏特的时间有关。例如,在时钟上升前的6ns以及其后的1ns中,进入的信号可能必须稳定在0.3伏特左右或3.0伏特左右。
片上系统中出现的一个问题是它们通常包含多个时钟域。即,SoC内的模块可能有以不同速度运行的时钟,以相同速度运行而其相位关系未知的时钟,或同时存在这两种时钟。随着所使用的设计和处理技术不断进步和开展,有利于具有多个时钟的系统的因素正变得日益重要。
在SoC内可能需要不同的时钟,因为在SoC外的不同电路中所使用的时钟可能具有不同的速度。在SoC内可能有与这类电路紧密结合来操作的电路,并且这些内部电路应该匹配外部时钟速度。可能需要不同的时钟,因为精密地预测和控制两个时钟的速度和相位关系非常困难;因为时钟怎样在速度和相位上趋向不同取决于电噪声级别、工作电压、工作温度或制造过程;因为SoC内的模块最初怎样被设计;因为模块的复杂性或功能性;因为提高总体系统性能的需要;或因为具有多个工作模式的需要。例如,SoC可能具有一个使用特殊的电源电压和时钟速度的大功率、高性能模式,以及一个使用较低的电压和时钟速度的低功率、低性能模式。
当信号跨过时钟域之间的边界时,即当信号被运行在一个时钟上的电路产生并由运行在一个不同的时钟上的电路接收时,整个同步逻辑元件满足建立和保持时间约束是不可能的。如果没有特殊的电路,域间信号违反建立和保持约束是很普通的。这类违反是一个严重的问题,因为一个在建立和保持期间改变电压的信号可能导致不知道逻辑元件的输出应该基于信号的旧值还是基于新值。
此外,这类违反是一个严重的问题,因为某些常用的逻辑元件可能当输入信号在建立和保持周期中改变值时进入亚稳定状态。在亚稳定状态中,在逻辑元件的输出端产生的电压可能随机地改变,直到逻辑元件自身稳定下来为止。
此外,这类违反是一个严重的问题,因为它们很难在一个设计中被检测到。许多设计IC的工程师都习惯于单个时钟域内的时钟和同步电路设计,而某些工程师可能不熟悉在时钟域之间发生的亚稳定性问题。
此外,这类违反是一个严重的问题,因为只要具有这类违反的IC被制造出来,它们就很难被调试。这类IC在大多数时间里可以正常工作,并且可能只是偶尔失灵。可能出现IC失灵的环境是随机的。这可能使得识别问题的任务变得极其困难。
发明内容
本发明的目的是提供一个改进的电路,用于把事件从一个时钟域传递到另一个时钟域。本发明的某些实施例有利地几乎不对两个时钟强加约束,从而可以容纳模式多样化、特征不确定的时钟系统。有利地,其它实施例也很简单、IC面积很小、延迟很低、并能高速运行。
本发明的一个实施例在目标时钟域中包括:用于检测目标事件的发生并作为响应用于断言一个目标域事件信号的装置;以及用于响应于该目标域事件信号来改变请求信号的值的装置。该实施例还在监控时钟域中包括用以响应于请求信号值的变化来断言一个监控域事件信号的装置。
本发明的另一个实施例在目标时钟域中包括:计数器;发送寄存器;和请求发送电路。计数器产生在一个时间周期内发生的目标事件数量的一个递增计数。响应于传递信号,计数器传递并清除该递增计数,发送寄存器载入该递增计数并保存该递增计数,并且请求发送电路改变一个请求信号的值。
这个实施例还在监控时钟域内包括:请求接收电路;接收寄存器;和确认发送电路。请求接收电路检测请求信号中的变化,并且响应地产生一个接收信号。响应于该接收信号,接收寄存器从发送寄存器载入该递增计数,并且确认发送电路改变一个确认信号的值。
这个实施例在目标时钟域中还包括一个确认接收电路和一个控制电路。确认接收电路检测确认信号中的变化,并且响应地产生一个目标域确认信号。控制电路基于计数器中的递增计数和目标域确认信号来产生传递信号。
本发明的又一个实施例在目标时钟域内包括:一个检测器,每当发生目标事件时,其断言一个目标域事件信号;和一个发送电路,每当断言目标域事件信号时,其改变一个请求信号的值。这个实施例在监控时钟域中还包括一个接收电路,其检测请求信号中的变化,并且只要变化被检测到,它就断言一个监控域事件信号。
附图说明
本发明的目的、特色和优点将通过此处结合附图做出的说明和讨论变得明显。与本发明相关的技术、本发明的实施例和本发明的使用例在附图中被说明,其中:
图1根据本发明的一个实施例示出了集成电路(IC)中的功能元件及其互连,该集成电路(IC)包括监控与调试模块、第一处理器以及第二处理器,每个都运行在独立时钟上。
图2示出了在用于在时钟域之间传递事件的第一示例电路中的功能元件及其互连。
图3示出了在根据本发明的一个实施例的请求发送电路和请求接收电路中的逻辑元件及其互连。
图4示出了用于在时钟域之间传递事件的第二示例电路中的功能元件及其互连。
图5示出了用于在时钟域之间传递事件的第三示例电路中的功能元件及其互连。
图6说明了本发明的实施例可能在其中运行的两个工作状态并且示出了这个实施例怎样在这些状态之间切换。
具体实施方式
此处的说明、讨论和附图说明了与本发明相关的技术,示出了本发明的例子并给出了使用本发明的例子。已知的方法、程序、系统、电路或元件可能没有被详细地说明和描述,以免模糊本发明的原理。另一方面,本发明的具体实施例的细节被给出,然而这类细节可能不适用于本发明的其它实施例。
此处的某些说明和讨论使用抽象或常规术语,它们非限制性地包括:发送、接收、传递、等于、小于、保持、相位、时钟、变化、递增、断言、真或假。本领域技术人员使用这类术语来为计算机内、数字或机电系统内的元件、数据或操作、适当地命名。这类元件、数据和操作由实际目标的物理性能来表示,非限制性地包括电子电压、磁场或光反射率。例如,″断言″或″真″可能指一个大约为3伏特的电子信号,而″没有断言″或″假″则可能指一个大约为0.3伏特的信号,反之亦然。类似地,非限制性地包括检测、确定和控制的感知或精神的术语也可能指这类元件、数据、操作或物理性能处理。
图1是一个根据本发明实施例的IC的功能框图,其具有三个时钟域。本发明可被用于不同设计的IC并可被用于包括多个IC的系统。从而,图1的系统配置只是众多例子中的一个。
集成电路100包括监控与调试模块140、第一处理器110、共享存储器120和第二处理器130。第一处理器和共享存储器在一个时钟上运行并且构成第一目标时钟域170A。事件A发生在第一处理器内并导致请求信号150A的值发生变化,比如从低到高的上升变化或转换,或者从高到低的下降转换。请求信号150A在监控与调试模块140内被接收。事件B发生在共享存储器内并导致请求信号150B的值发生变化,该信号也在监控与调试模块140内被接收。
第二处理器130在另一个时钟上运行并构成第二目标时钟域170B。事件C和D发生在第二处理器内并导致请求信号150C并150D的值发生变化,这两个信号也在监控与调试模块140内被接收。监控与调试模块140在监控时钟上运行并构成监控时钟域180。
使用本发明的一个实施例,监控与调试模块180能够精确地确定在目标域事件信号被断言的任一目标时钟域中的周期数量。事件不会在时钟域之间的传递过程中丢失,也不会被插入任何无关的事件。不需要暂停、停顿、停止或改变目标事件的产生速率。
然而,本发明没有穿过时钟域边界来传达确定的信息。其中没有断言目标域事件信号的周期的正确数目在监控域中是未知的。具有断言事件信号和那些不具有断言事件信号的目标域时钟周期的确切交错顺序是未知的。目标域事件发生和其在监控时钟域中的再现或检测之间的延迟不具有顶级优先级。一个任意值可以通过首先把值串插到事件序列中而在时钟域之间被传递,其中,该序列中的事件数量指示所述值。这些冗长(omissions)是深思熟虑的,目的在于有利地使本发明的某些实施例更简单、更迅速、并小于提供这类能力的电路。
图2是一个根据本发明的实施例的用于在时钟域之间传递事件的电路功能框图。传递电路200很简单、所要求的IC面积很小、延迟很低、并且能够以高速运行。然而,它对监控与目标域中的时钟强加了约束。
传递电路200包括事件检测器210和发送电路220,它们都由目标时钟信号来计时。目标时钟域170包括事件检测器和发送电路,以及任何在这个时钟上运行的其它电路。
传递电路200还包括接收电路230和事件监控器240,它们都由监控时钟信号来计时。监控时钟域180包括接收电路和事件检测器,以及任何基于监控器时钟运行的其它电路。
分别在目标和监控时钟域170或180中的电路优选地、但不是必要地以用于同步、上升沿触发数字电路的设计技术为基础。在这类电路中,认为输入信号在每个时钟周期中都被断言,其中,信号值在时钟上升沿处为高。
特别地考虑一个例子,其中,一个事件信号进入一个具有建立时间和保持时间的时钟逻辑元件,例如D型触发器。事件信号在每个时钟周期中被断言一次,其中,信号从时钟上升沿之前的至少一个建立时间直到上升沿之后的至少一个保持时间中为高。
如果事件信号在违反建立时间或保持时间约束的时刻改变值,则由D型触发器输出的值不可预知或亚稳定。这类亚稳定的输出信号可能具有转换之前的事件信号值,转换之后的事件信号值,或者输出信号可能不稳定并且值有变化。通常,D型触发器的亚稳定性在下一个事件信号不违反约束的时钟周期中结束,但是这取决于D型触发器的设计细节。尽管取决于设计、处理和工作参数,然而亚稳定状态持续一个时钟周期以上是有可能的,这个可能性不太可能产生。
许多标准的时钟信号和逻辑元件是上升沿触发的;即,当它由时钟上升沿触发时,时钟元件的输出取决于元件的输入。许多标准的逻辑元件只响应时钟上升沿的信号值。
相比之下,请求信号150根据请求信号的当前值把一个请求编码为上升沿或下降沿。接收电路230以相同模式响应请求信号150的上升沿或下降沿;即,请求信号值中的任何变化产生相同的响应。
传递电路200有利地是简单的、高性能的、并且其所要求的IC面积很小。然而,不同于传递电路400和500(关于图4、5描述)、传递电路200电路在目标域和监控域时钟之间的关系上强加了一个重要的约束。监控时钟域必须比目标时钟域运行得更快。
在一个目标时钟域比监控时钟域运行更快而传递电路200不能正确运行的系统中,与监控域可以接受、检测、计数或监控的数目相比,目标时钟域可以产生更多的目标事件。
传递电路200正确运行的主要情况是,当目标时钟周期至少是监控器时钟周期与接收电路所要求的设置时间之和时。甚至在这个约束之下,接收电路内的第一逻辑元件(即D触发器320B)也有可能进入亚稳定状态。虽然如此,因为请求被编码为转换而不是被编码为值,所以触发器320B中的临时亚稳定状态不会导致故障的信息传递。从而,即使当请求信号值的变化最初引起亚稳定性,请求信号值的变化也在下一个监控域时钟周期中被正确地解释。
在一些SoC设计中,要求目标时钟的周期至少是监控器时钟周期与接收电路所要求的设置时间之和也许不太现实。这类设计应该利用传递电路400或500,它们关于图4和5被描述。
传递电路200正确运行的次要情况是当目标时钟和监控器时钟具有相等的周期并具有一个适当的相位关系时。虽然传递电路200在一个总是在这个条件下运行的系统中是多余的,但是如果这类系统中的时钟发生变化,或者由于系统工作模式的故意变化或由于时钟中的非故意变化,则也可能需要传递电路200。
在本发明不同的实施例中,不同的检测输入205由事件检测器210接收。在一些实施例中,一个或多个检测输入信号是目标电路或模块的固有部分。在其它情况下,监控或调试逻辑被添加到一个电路中以便产生检测输入205。
通常,检测输入205和事件检测器210的设计取决于由监控与调试模块140监控的电路或模块的具体情况。可能被检测到的事件非限制性地包括以下一个或多个:
●一个指令地址断点,其中,处理器的程序计数器匹配一个目标值,在一个范围之内或具有匹配目标值的指定比特位;
●一个指令操作断点,其中,处理器执行的操作码匹配一个目标值,在一个范围之内或具有指定匹配目标值的指定比特位;
●一个数据地址断点,其中,负载事务处理或存储事务处理、或载入或存储使用了一个与目标值匹配的数据地址,在一个范围之内或具有匹配目标值的比特位;
●一个数据值断点,其中,负载事务处理或存储事务处理、或载入或存储使用一个与目标值匹配的数据值,在一个范围之内或具有匹配目标值的比特位;
●一个中断或异常发生;
●一个电路或模块转换到目标运行模式中,比如用户模式、核心模式、管理模式、调试模式等等;
●一个性能监控事件,比如缓存缺失、管道停顿、支路误预测等等;
●一个总线或存储控制器选择了一个目标装置或信道;
●一个芯片内的锁相环路(PLL)获得了对输入信号的锁定从而产生一个可靠的时钟信号;
●一个缓存器,或一个先进先出(FIFO)寄存器溢出或变成空;
●一个电路或模块进入或离开一个目标状态;或
●以上两个或更多的逻辑组合,例如,目标FIFO寄存器在目标模块没有在空闲状态中的时候变成空。
响应于一个或多个检测输入信号205的值,事件检测器210产生一个或多个目标域事件信号215,每个信号都被耦合到发送电路220的对应情况。发送电路220的每个情况都具有接收电路230的一个对应情况和请求信号150的一个对应情况。
响应于目标域事件信号215的每次断言,发送电路220都改变请求信号150的值,例如,发送电路220把当前为″1″的请求信号变为″0″,反之亦然。使用一个如请求信号150的信号把相同的信息编码为上升或者下降转换是有利的,因为请求信号会传输穿过时钟域。因为请求信号把请求编码为任一转换,所以由请求信号传达的信息和请求信号的结果与基于时钟的定时无关。请求信号转换发生时的目标时钟周期的相位和监控器时钟周期的相位都不对接收电路230或事件监控器240怎样响应请求信号产生任何影响。
响应于请求信号150的一个情况的每次的变化,对应的接收电路230做出一个监控域事件信号235的断言。一个或多个监控域事件信号被提供到事件监控器240。响应于监控域事件信号,事件监控器240产生一个或多个调试信号245。
事件监控器240的设计细节、一个或多个所产生的调试信号245的特性和该调试信号的使用通常取决于被监控与调试模块140监控的电路或模块的设计细节。事件监控器240可能非限制性地包括用来执行以下一个或多个的电路:
●保存标志,其示出什么类型的目标事件已经发生或已经在一个目标事件之后发生;
●计数每一种目标事件的发生;
●执行对目标事件计数的算术操作,例如,确定类型A事件发生了三次;
●执行对事件标志的逻辑操作,例如,确定已经发生了A、B类型的目标事件;或
●执行其两个或更多的组合的操作,例如,类型A事件至少发生了两次,而类型B事件发生小于1000次。
调试信号245的断言可以导致一个或多个以下动作:
●通过暂停或停止用于那些电路的一个或多个时钟来暂停或停止一个或多个电路或模块的操作;
●向一个或多个电路或模块发送一个停止、暂停或关闭信号;
●把被监控事件的当前状况、值和状态编码到一个信息中,并经由一个输出管脚把该信息发送到集成电路100之外的调试或监控电路;
●把一个值强加到一个被监控的电路或模块内的寄存器中;
●把一个值强加到一个总线上;和
●强制被监控的电路或模块改变状态。
在某些情况下,所使用的调试信号固有地是目标电路或模块的一部分。在其它情况下,监控或调试逻辑被添加到一个电路以便响应于调试信号来执行适当的动作。
图3是根据本发明一个实施例的请求发送电路和请求接收电路的逻辑图。
请求发送电路220接收进入请求信号330并产生请求信号150。发送电路220响应于输入请求信号的每次断言而改变请求信号150的值。如在传递电路200(关于图2描述)中所使用的,目标域事件信号215作为输入请求信号330被提供给请求发送电路。如在传递电路500(关于图5描述)中所使用的,传递信号522作为输入请求信号330被提供给请求发送电路。
请求接收电路230接收请求信号150并产生监控域请求信号340。响应于请求信号150值的每次变化,接收电路230做出一个呼出请求信号340的断言。
如在传递电路200中所使用的,呼出请求信号340变成监控域事件信号235。如在传递电路500中所使用的,传递呼出请求信号340变成接收信号535。
发送电路220包括″异或″门310A和D触发器320A。请求信号150是由目标域时钟370来计时的D触发器320A的输出。触发器420A的D输入端是具有两个输入端的异或(XOR)门310A的输出端。门310A的第一输入是请求信号150。第二输入是输入请求信号320。
接收电路230包括三个D触发器320B、320C和320D,它们由监控域时钟380来计时。这三个触发器被串联连接,即除了第一D触发器外所有的D输入是前面D触发器的输出。这个序列中的第一D触发器320B的一个输入是请求信号150。呼出请求信号330、信号235是”异或”门310B的输出,”异或”门310B的两个输入是D触发器320C和320D的输出。
图4是一个根据本发明实施例用于在时钟域之间传递事件的另一个电路的功能框图。传递电路200和传递电路400跨越时钟域边界来传递事件。两个传递电路在监控时钟域比目标时钟域运行得快得多的时候都正确地运行。
与传递电路400相比,传递电路200有利地更简单、IC面积更小、并且在目标事件发生的时间和它被传递到监控域的时间之间的延迟更低。
与传递电路200相比,传递电路400有利地对监控和目标域中的时钟强加更少的约束。传递电路400在目标域和监控域具有相等的时钟周期的情况中正确地运行,而不管时钟之间有什么相位关系。此外,传递电路400在监控时钟域比目标时钟域快但快的程度不足以满足目标时钟周期等于监控器时钟周期加上接收电路所要求设置时间这一约束条件的情况中也工作。
在目标时钟域比监控时钟域运行更快的情况中,传递电路400并不总是正确地运行;即,较慢的监控时钟域可能跟不上在较快的目标时钟域中产生的事件。然而本领域技术人员应当明白可能存在特殊的系统,其中,时钟速率差别、事件发生速率、事件发生之间的最小延迟以及计数器410的大小可以让传递电路400正确运行。
传递电路400在目标时钟域170中包括:事件检测器210;计数器410;发送寄存器420;请求发送电路220;以及确认接收电路480。传递电路400在监控时钟域180中还包括:请求接收电路230;接收寄存器430;确认发送电路470;以及事件监控器240。事件监控器240包括目标值寄存器450、累加器440以及比较电路460。
事件检测器210、请求发送电路220和请求接收电路230与参考图2和3说明的设计和操作相同,不同之处在于请求信号150在目标域事件信号215每次发生的时候不改变它的值。相反地,请求信号150每当存在一个递增事件计数值的时候发生改变,该递增事件计数值准备从发送寄存器420传递到接收寄存器430。
当第一递增计数值的传递正在进行和当正在返回对应的确认的时候,如果必要,即如果目标事件在这个期间发生,则计数器410累加另一个递增计数值。这样的一个递增计数值将在当前运行的传递完成之后被传递。
因为传递是一个相对较快的过程,所以递增计数的最大值很小;在执行同步开销所需的时间期间,它只需要足够大来缓存事件。例如,当传递电路500(关于图5描述)在具有相同时钟周期的域之间传递事件时,传递完成之前在目标时钟域中最多只能存在七个时钟周期。
计数器410产生一个目标域时钟周期数量的递增计数,所述目标域时钟周期内目标域事件信号215被断言。这个计数只在有限的时间周期内被累加。响应于一个传递信号,计数器410把递增计数传递到发送寄存器420并清除保持的递增计数的值。响应于相同的传递信号,发送寄存器420从计数器410载入该递增计数。然后发送寄存器保持该递增计数值直到传递信号下一次发生为止。同样,响应于该传递信号,请求发送电路220改变请求信号150的值。
请求接收电路230检测请求信号150中的变化,并且响应地产生一个接收信号。响应于该接收信号,接收寄存器430从发送寄存器420中载入域间递增计数425。
同样响应于该接收信号,确认发送电路470改变确认信号475的值。发送电路470与发送电路220的设计相同。尽管域间传递的方向相反,然而电路470和220在功能上也是相同的。
确认接收电路480检测确认信号475中的变化,并且响应地产生一个目标域确认信号。接收电路480与接收电路230相比在设计上是相同的。尽管域间传递的方向相反,电路480和230在功能上也是相同的。
目标时钟域170内的一个控制电路基于计数器410中的递增计数和目标域确认信号来产生传递信号。
在事件监控器240内,累加器440通常但不是必要地在监控器时钟周期期间从接收寄存器430接收递增计数,这紧在接收寄存器430接收递增计数之后。累加器440保持事件计数445,其计数目标事件的发生。累加器通过将每次接收到的递增计数值加入其中来更新计数445。
此外在事件监控器240内,目标值寄存器450保持目标值455。在所使用的其它目标选择当中,目标值455可能是一个预定值,或者可以被用户编程,或者可以在事件监控器240内动态地产生。比较电路460比较目标值455与事件计数445,并基于这个比较来断言调试信号245。任何逻辑或算术比较都可以被使用,非限制性地包括:等于、大于、小于、小于或等于等等。
图5是一个根据本发明实施例的用于在时钟域之间传递事件的一个电路的功能框图。传递电路500在被用作传递电路400的时钟上强加约束,因而不同于传递电路200。不同于产生事件计数的传递电路400,传递电路500使用降值计数器530在对应于目标事件的监控域中产生事件。传递电路400和500之间的选择可以基于系统是否要求计数或再产生目标事件而做出。
请求发送电路220、计数器410、发送寄存器420、域间递增计数425、请求信号150、确认信号475和确认接收电路480和参考图4描述的操作和设计相同。
降值计数器530响应于接收信号535从发送寄存器420接收域间递增计数425。在随后的时钟周期内,降值计数器530递减计数器530中保持的递增计数值并断言监控域事件信号235。断言和递减一直持续到降值计数器中保持的递增计数值为零为止。降值计数器530产生的忽略延迟、监控域事件的数量正好等于被检测到的目标域事件的数量。
请求接收和确认发送电路510产生接收信号535,并且在这点上它与请求接收电路230的操作和设计是等效的。电路510还产生确认信号475,是中间的D触发器540E的输出。电路510与请求接收电路230和确认发送电路430的组合在功能方面是等效的,而电路510更简单、所要求的IC面积更小,并且在传递事件中具有更低的延迟。
状态机520产生传递信号522,对传递信号522的断言使计数器410清除它的值,使发送寄存器420加载目标域递增计数415并使请求发送电路改变请求信号150的值。
状态机520基于目标域确认信号524的历史和当前值以及计数为零信号526的当前值来产生传递信号522。特别地,除了状态机520等候从监控时钟域接收一个确认信号的时段之外,非零计数器410中保持的计数触发传递信号522的断言,该确认信号指出递增计数值的当前主动传递已完成。
图6是被用于本发明的实施例的一个有限状态机的状态图。状态机520包括两种状态:空闲状态610和等待确认状态620。
每当状态机520处于空闲状态610并且计数器410大于零的时候,即计数为零的信号526没有被断言的时候,转换640发生。转换640使状态机进入等待确认状态620。另外,转换640触发事件630A,其中,状态机520在下一个时钟周期中断言传递信号522。作为断言传递信号522的结果,目标域递增计数415从计数器410被传递到发送寄存器420,计数器410中的值被重置为零,并且请求信号150的值被改变。
每当状态机520处于等待状态620,计数器410是零并且目标域确认信号524被断言的时候,转换650发生。转换650使状态机520进入空闲状态610。转换650不使状态机断言任何信号,其在图6中被示为事件635。
当状态机520在等待状态620中、计数器410不是零并且确认信号被接收时,转换660发生。转换660把状态机520保留在等待状态620中。另外,转换660使状态机520在下一个时钟周期期间断言传递信号522,其导致事件630B发生。事件630B的语义与事件603A的语义相同,即传递信号522被断言。
本发明可以在工业上被采用,根据在此包含的本发明及其使用的说明,这对于本领域技术人员来说是显而易见的。本发明可以用已知的或在此描述的元件和制造技术来实现。例如,包括触发器和计数器的集成电路是众所周知的。
本发明解决了目前的问题并满足了在此描述的当前需要。例如,片上系统(SoC)是IC的例子,两者常常包括多个时钟域并且常常要求跨时钟域监控事件。
本发明的范围通过以下的权利要求及其合法的等效物来阐明。根据这里的讲解,本发明可以进行许多更改、变化、替换选择、形式改变和改进,这些技术为本领域技术人员所熟知并且有待于在本领域中进一步地发展。这里的附图和说明用来通过给出具体细节来说明本发明;不打算用它们将本发明排他地限定于所公开的设计、形式和实施例。

Claims (13)

1.一个用于把发生在目标时钟域(170)中的目标事件传递到监控时钟域(180)的电路(200),该传递电路包括:
一个检测器(210),在目标时钟域中,其被配置用于每当发生目标事件的时候,就断言一个目标域事件信号(215);
一个发送电路(220),在目标时钟域中,其被配置用于每当目标域事件信号被断言的时候,就改变请求信号(150)的值;和
一个接收电路(230),在监控时钟域中,其被配置用于检测请求信号值的变化,并且对于每个被检测到的值的变化,断言一个监控域事件信号(235)一次。
2.权利要求1的传递电路,其中:
该传递电路适宜在集成电路(100)内的调试模块(140)中使用;并且
该传递电路还包括一个监控电路(240),其被配置用于响应于监控域事件信号来断言一个调试事件(245)信号。
3.权利要求1的传递电路,还包括:
第二检测器(210),在第二目标时钟域(170)中,其被配置用于在发生第二目标事件的时候断言第二目标域事件信号(215);
第二发送电路(220),在第二目标时钟域中,其被配置用于每当第二目标域事件信号被断言的时候,就改变第二请求信号(150)的值;和
第二接收电路(230),在监控时钟域中,其被配置用于检测第二请求信号值的变化,并且对于每个被检测到的值的变化,断言第二监控域事件信号(235)一次。
4.权利要求3的传递电路,还包括:
一个监控电路(240),在监控时钟域中,其被配置用于:响应于监控域事件信号递增第一计数(445),响应于第二监控域事件信号递增第二计数(445),保持第一目标值(455),通过比较第一计数与第一目标值来产生第一触发信号(465),保持第二目标值(455),和通过比较第二计数与第二目标值来产生第二触发信号(465);
其中,该传递电路适宜在集成电路(100)内的调试模块(140)中使用,并且监控电路还被配置用于根据从第一触发信号、第二触发信号或其逻辑组合中选择的一个信号来断言一个调试信号(245)。
5.权利要求1的传递电路,其中,目标时钟的周期至少是监控器时钟周期与接收电路所要求的设置时间之和。
6.一个用于把发生在目标时钟域(170)中的目标事件传递到一个监控时钟域(180)的电路(400、500),该传递电路包括:
一个计数器(410),在目标时钟域中,其被配置用于在目标事件的时间周期内产生一个发生次数的递增计数415,并且响应于传递信号(525)来传递该递增计数和清除递增计数;
一个发送寄存器(420),在目标时钟域中,其被配置用于响应于该传递信号而加载递增计数,并且保持该递增计数,其中,计数器产生递增计数的时间周期包括发送寄存器保持该递增计数的时间周期;
一个请求发送电路(220),在目标时钟域中,其被配置用于响应于传递信号来改变请求信号(150)的值;
一个请求接收电路(230),在监控时钟域中,其被配置用于检测请求信号值的变化,并且对其响应,产生一个接收信号(535);
一个接收寄存器(430、530),在监控时钟域中,其被配置用于响应于接收信号从发送寄存器中载入递增计数;
一个确认发送电路(470),在监控时钟域中,其被配置用于响应于接收信号来改变确认信号(475)的值;
一个确认接收电路(480),在目标时钟域中,其被配置用于检测确认信号值的变化,并且响应地断言一个目标域确认信号(524);和
一个控制电路(520),在目标时钟域中,其被配置用于当计数器中的递增计数非零并且目标域确认信号对请求信号的每个值变化都已经断言时,产生传递信号。
7.权利要求6的传递电路,其中,接收寄存器(530)还被配置用于:当接收寄存器中的递增计数非零时断言一个监控域事件信号(235);并且每当监控域事件信号被断言的时候就递减该递增计数。
8.权利要求6的传递电路,还包括:
一个监控电路(240),在监控时钟域中,其被配置用于向一个事件计数(445)添加该递增计数。
9.权利要求8的传递电路,其中:
该传递电路适宜在集成电路(100)内的调试模块(140)中使用;并且
该监控电路还被配置用于保持一个目标值(455),比较事件计数与该目标值,并且基于此来断言一个调试信号(245)。
10.一个用于向监控时钟域传递发生在目标时钟域中的目标事件的电路,该传递电路包括:
在目标时钟域中,用于检测目标事件的发生,并且响应地断言一个目标域事件信号的装置;
在目标时钟域中,用于响应于该目标域事件信号来改变请求信号的值的装置;
在监控时钟域中,用于接收请求信号并且响应于该请求信号的值变化来断言一个监控域事件信号的装置。
11.权利要求10的传递电路,其中:
该传递电路适宜在集成电路内的调试模块中使用;并且
该传递电路还包括:用于响应于监控域事件信号来触发一个调试事件的装置。
12.权利要求10的传递电路,其中:
每当目标域事件信号被断言的时候,请求信号的值就发生变化;并且
目标时钟周期至少是监控器时钟周期与接收装置所要求的设置时间之和。
13.权利要求10的传递电路,还包括:
在目标域中,用于计数在一个时间周期内目标事件的发生,从而产生一个递增计数,并且当其被启用时传递一个非零的递增计数并重置该递增计数的装置;
在目标域中,用于保持从计数装置接收的递增计数的装置,其中,计数装置计数的时间周期包括保持装置保持递增计数的时间周期;和
在监控域中,用于通过从保持装置接收递增计数并改变一个确认信号的值来响应请求信号值的变化的装置;和
在目标域中,用于禁止非零的递增计数的传递,直到确认信号改变值为止的装置;
其中,每当非零的递增计数被传递的时候,请求信号的值就改变。
CN200480017971A 2003-06-25 2004-06-25 将目标时钟域中发生的目标事件传递到监控时钟域的电路 Expired - Fee Related CN100588149C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48235703P 2003-06-25 2003-06-25
US60/482,357 2003-06-25

Publications (2)

Publication Number Publication Date
CN1813437A true CN1813437A (zh) 2006-08-02
CN100588149C CN100588149C (zh) 2010-02-03

Family

ID=33551981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480017971A Expired - Fee Related CN100588149C (zh) 2003-06-25 2004-06-25 将目标时钟域中发生的目标事件传递到监控时钟域的电路

Country Status (6)

Country Link
US (1) US8284879B2 (zh)
EP (1) EP1676391B1 (zh)
JP (1) JP2007526670A (zh)
CN (1) CN100588149C (zh)
AT (1) ATE510373T1 (zh)
WO (1) WO2005002129A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102822804A (zh) * 2010-03-31 2012-12-12 罗伯特·博世有限公司 检验定时器模块中的信号活动性及模块活动性的方法和定时器模块
CN110249309A (zh) * 2017-01-31 2019-09-17 德克萨斯仪器股份有限公司 用于缓慢外围设备的中断处理方法和设备

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4841927B2 (ja) * 2005-10-20 2011-12-21 富士通株式会社 非同期伝送装置、非同期伝送方法
US7793021B2 (en) 2006-01-05 2010-09-07 Freescale Semiconductor, Inc. Method for synchronizing a transmission of information and a device having synchronizing capabilities
US20110239196A1 (en) * 2010-03-29 2011-09-29 Laurent Ichard Micro-Task Pipeline Visualization
US8768652B1 (en) 2010-07-16 2014-07-01 The Mathworks, Inc. Managing dynamic state of a physical system
US9201986B1 (en) 2010-07-16 2015-12-01 The Mathworks, Inc. Managing dynamic state of a physical system
US8738784B1 (en) * 2010-07-16 2014-05-27 The Mathworks, Inc. Managing dynamic state of a physical system
US8543611B1 (en) 2010-07-16 2013-09-24 Brian Mirtich Managing dynamic state of a physical system
US8380467B1 (en) 2010-07-16 2013-02-19 The Mathworks, Inc. Representing geometry of a system in a modeling environment
US9274915B2 (en) * 2014-05-19 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Sideband logic for monitoring PCIe headers
CN107678488A (zh) * 2017-11-23 2018-02-09 南京火零信息科技有限公司 一种跨时钟域事件传递的电路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3435358A (en) 1966-06-08 1969-03-25 Anaconda Electronics Co Cable television amplifier powering
GB2262415B (en) 1991-12-13 1995-08-16 Digital Equipment Int Handshake synchronization system
US5331669A (en) * 1992-05-06 1994-07-19 Ologic Corporation Asynchronous pulse converter
US6151310A (en) * 1994-03-24 2000-11-21 Ericsson Inc. Dividable transmit antenna array for a cellular base station and associated method
US7793261B1 (en) 1999-10-01 2010-09-07 Stmicroelectronics Limited Interface for transferring debug information
US6681103B1 (en) 2000-08-25 2004-01-20 Sige Semiconductor Inc. On-chip image reject filter
US7168032B2 (en) * 2000-12-15 2007-01-23 Intel Corporation Data synchronization for a test access port
US7187741B2 (en) * 2001-10-31 2007-03-06 Nxp B.V. Clock domain crossing FIFO
JP3798292B2 (ja) 2001-10-31 2006-07-19 富士通株式会社 データ同期化回路及び通信インターフェース回路
DE10229129C1 (de) * 2002-06-28 2003-12-11 Advanced Micro Devices Inc Debug-Schnittstelle für einen Ereigniszeitgeber

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102822804A (zh) * 2010-03-31 2012-12-12 罗伯特·博世有限公司 检验定时器模块中的信号活动性及模块活动性的方法和定时器模块
US8954779B2 (en) 2010-03-31 2015-02-10 Robert Bosch Gmbh Method for checking signal and module activities in a timer module and timer module
CN102822804B (zh) * 2010-03-31 2015-07-08 罗伯特·博世有限公司 检验定时器模块中的信号活动性及模块活动性的方法和定时器模块
CN110249309A (zh) * 2017-01-31 2019-09-17 德克萨斯仪器股份有限公司 用于缓慢外围设备的中断处理方法和设备

Also Published As

Publication number Publication date
ATE510373T1 (de) 2011-06-15
WO2005002129A1 (en) 2005-01-06
US8284879B2 (en) 2012-10-09
EP1676391A1 (en) 2006-07-05
EP1676391B1 (en) 2011-05-18
US20110096880A1 (en) 2011-04-28
JP2007526670A (ja) 2007-09-13
CN100588149C (zh) 2010-02-03

Similar Documents

Publication Publication Date Title
Martin et al. Asynchronous techniques for system-on-chip design
US10853304B2 (en) System on chip including clock management unit and method of operating the system on chip
CN1308794C (zh) Usb省电控制电路及方法
CN1813437A (zh) 跨时钟域的事件无损传递
CN103324546B (zh) 一种延时喂狗的方法及装置
US9015510B2 (en) Optimizing energy efficiency using device idle duration information and latency tolerance based on a pre-wake configuration of a platform associated to the device
CN1497407A (zh) 用于在低工作量期间减少时钟频率的方法和装置
US9685953B1 (en) Low latency asynchronous interface circuits
CN1214320C (zh) 异步数据处理装置及数据处理方法
CN1732450A (zh) 在检测到的静态循环中对总线信号终端进行补偿的装置和方法
CN102541942B (zh) 一种数据批量转移系统及其方法
Stanley-Marbell et al. Reducing serial I/O power in error-tolerant applications by efficient lossy encoding
TWI752291B (zh) 應用處理器、汽車電子處理器、以及包含應用處理器的計算裝置
CN113297122A (zh) 基于串行总线聚合io连接管理来影响处理器调节
US20160117429A1 (en) System for reducing power consumption of integrated circuit
CN107463236A (zh) 一种复位检测电路和复位检测方法
KR101575711B1 (ko) 하이브리드 레인 스톨링 또는 비고정 버스 아키텍처를 위한 방법, 장치, 시스템
CN117321580A (zh) 无缝集成的微控制器芯片
CN107436856B (zh) 具有直接控制的通信装置及相关方法
US6973520B2 (en) System and method for providing improved bus utilization via target directed completion
CN101093403B (zh) 减小时钟电路和时钟管理电路中的电磁干扰的方法
US11836026B1 (en) System-on-chip with DVFM protection circuit
CN1830173A (zh) 数字系统性能增强的系统和方法
Darbari et al. Industrial strength formal using abstractions
Kailas et al. Formal verification of correctness and performance of random priority-based arbiters

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20070810

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070810

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100203

Termination date: 20200625

CF01 Termination of patent right due to non-payment of annual fee