CN102111260B - 一种跨时钟域事件双向传递的方法及其装置 - Google Patents
一种跨时钟域事件双向传递的方法及其装置 Download PDFInfo
- Publication number
- CN102111260B CN102111260B CN2009102434860A CN200910243486A CN102111260B CN 102111260 B CN102111260 B CN 102111260B CN 2009102434860 A CN2009102434860 A CN 2009102434860A CN 200910243486 A CN200910243486 A CN 200910243486A CN 102111260 B CN102111260 B CN 102111260B
- Authority
- CN
- China
- Prior art keywords
- state
- event
- clock
- clock domain
- indicating device
- 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.)
- Active
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提出了一种用于多时钟域数字集成电路设计领域中对跨时钟域事件进行双向传递的方法及其装置。在本发明中,包含两个在不同时钟域的信号或数据变化检测装置、一个内部包含两个子模块的状态指示装置以及两个在不同时钟域的状态检测装置。当上述任一时钟域中的事件触发后,检测装置产生脉冲控制信号启动状态指示装置,状态指示装置中相应时钟域的子状态模块发生状态翻转,最终状态检测装置根据两个子状态模块的状态输出结果,完成事件在源时钟域信号到目标时钟域的传递。由于状态指示器中的两个状态子模块完全对偶,因此依据本发现设计的装置可用于从源时钟域到目标时钟域以及相反方向的跨时钟域双向传递,且对两个时钟域的时钟无特殊要求。
Description
技术领域
本发明主要应用于多时钟域数字集成电路设计中跨时钟域事件的双向传递,如中断请求事件与响应事件的传递、共享数据缓冲区读写事件的传递等等。
背景技术
在数字集成电路设计领域,片上***(SOC)设计已成为目前集成电路设计中一项最主要的技术。随着SOC设计规模的越来越大,对异步电路进行动态仿真来进行验证所花费的时间也越来越长,甚至变得不可接受。而对于同步电路而言,其特性在于电路的输出变化总是与时钟有着固定的关系(如总是在时钟上升沿或下降沿时刻变化)。因此对于同步电路可以使用一些静态的分析手段(如静态时序分析)来减小验证设计时序的工作量,大大缩短验证的时间。因此基于时钟的同步电路在数字集成电路设计中被大量广泛的使用。
随着设计复杂度的增加以及出于降低集成电路功耗的考虑,在设计中往往会采用多个时钟信号,各个时钟信号的频率和相位都可能各不相同。在本领域中一般将同一个时钟信号驱动下的电路称为一个时钟域。如果工作在某个时钟下的电路的输出为工作在另一个时钟下电路的输入,则把这个信号称为跨时钟域信号。如果在设计中对跨时钟域信号的处理不当,就会因为同步电路的时序违反,从而导致电路出现亚稳态,进而可能导致逻辑错误或功能出错。由于此类错误的出现取决于两个时钟之间的关系以及亚稳态出现后最终导致错误的几率,因此这种类型的错误往往最终表现为可靠性较低,会偶尔发生功能错误,因此这种设计错误在早期的验证过程中很难被识别出来。
此外当设计中需要跨时钟域传递事件时,也需要对电路进行仔细设计,一般的传递电路会对源时钟域和目标时钟域的时钟频率关系或相位关系要一定要求,且只能实现单向的事件传递。当实现上述功能的电路设计不当时就会出现被传递的事件丢失,导致整个集成电路芯片功能出错。
发明内容
本发明的目的在于解决一种利用状态量的跨时钟域事件双向传递的方法,其不仅可用于两个时钟域之间跨时钟域事件的双向传递,也可适用于多个时钟域两两之间跨时钟域事件的双向传递。
两个时钟域之间事件的双向传递问题,即两个时钟域在不同的时刻既可能是发送事件的源时钟域又可能是接收事件的目标时钟域。通过采用本发明中所提出的方法或装置可以在两个时钟频率、相位完全无关的时钟域之间实现事件的可靠双向传递,也可完成多个时钟域两两之间跨时钟域事件的双向传递。本发明所采用的具体技术方案如下:
(1).工作在时钟域1中的事件检测装置检测到时钟域1中的一个有效事件时,事件可能是一个中断请求或对共享数据缓冲区的一次读或写操作事件。当检测到特定事件发生时(如中断请求信号有效,或外部设备对共享数据缓冲区执行了一次读或写操作),检测装置输出一个有效脉冲信号。
(2).状态指示装置中的两个子模块各自工作在时钟域1和时钟域2,两个子模块使用1比特数据(状态量)来表示其状态。在初始状态下,两个子模块的状态量被设置为完全相同;当两个子模块的状态量相异时表示两个子模块状态互斥。
(3).当状态指示装置接收到时钟域1中事件检测装置输出的脉冲信号之后,首先对其内部两个子模块的状态进行判断,若两个子模块已处于互斥状态,那么则表示之前的事件传递尚未完成,需要丢弃新产生的事件,因此子模块不更新其状态。若两个子模块处于非互斥状态,则状态指示装置更新子模块A的状态,翻转其状态量。
(4).工作在时钟域2中的状态检测装置检测到状态指示装置内部子模块A和B的状态量相异,则在时钟域2输出检测结果,实现事件从时钟域1到时钟域2的传递,并同时产生回应脉冲信号,状态指示装置根据回应脉冲信号更新子模块B的状态,(即翻转其状态量),使子模块A和B的状态量再次变为相同,此时整个装置回到初始状态,一次从时钟域1到时钟域2的事件传递完成。
(5).由于整个装置为对偶结构,因此当需要从时钟域2向时钟域1传递事件时,整个过程与上述步骤1至4类似。
附图说明
图1给出了依据本发明中的方法所实现的装置所包含的各个功能模块及其互连关系。
图2给出了状态指示模块中子模块的状态切换图。
图3给出了依据本发明实施例所设计芯片的功能框图。
图4给出了依据本发明实施例所设计芯片的关键信号时序图。
具体实施方式
下面结合附图对本发明的实施例进行说明。本实施例在以本发明技术方案的前提下进行实施,给出了详细的实施方式和实现细节,本发明的保护范围不限于下述的实施例。
如图3中所示,当***设备的特定事件发生时,需要通知处于另一个时钟域中的处理器来进行相应处理。同时,在另一些情况下,当处理器上特定事件发生时也需要通知处于另一个时钟域中的***设备进行相应处理。整个过程的实现细节如下所述,整个过程中关键信号的时序如图4中所示:
1.初始情况下,两个时钟域的事件检测装置的输出event_detectA和event_detectB均保持为低电平,状态指示装置中子模块A的状态和子模块B的状态为一致,其状态量stateA和stateB均为低电平;
2.当***设备的特定事件发生时,时钟域1中的事件检测装置产生事件触发脉冲event_detectA,此脉冲信号保持一个时钟域1中时钟(clkl)周期的高电平;
3.在事件触发脉冲的控制下,状态指示装置中的子模块A发生状态更新,其状态量(stateA)发生翻转;
4.利用时钟域2的时钟(clk2)对stateA信号进行两级D触发器采样处理得到stateA’,此时工作在时钟域2的状态检测装置通过检测stateA’和stateB获知子模块A和子模块B状态量的不同,因此输出一个检测结果脉冲(resultB)以及一个回应脉冲(ackB);
5.在回应脉冲的控制下,状态指示装置中子模块B的状态被更新,其状态量stateB翻转,此时事件从时钟域1到时钟域2的事件传递完成,状态指示装置中子模块A和子模块B的状态再次相同,只不过此时状态量均为高电平,此时整个电路又回到初始状态,可以进行下一次的事件传递;
6.当处理器上特定事件发生时,时钟域2中的事件检测装置产生事件触发脉冲event_detectB,与event_detectA时序类似,此信号也保持一个时钟域2中时钟(clk2)周期的高电平;
7.在事件触发脉冲的控制下,状态指示装置中的子模块B发生状态更新,其状态量(stateB)发生翻转;
8.利用时钟域1的时钟(clkl)对stateB信号进行两级D触发器采样处理得到stateB’,此时工作在时钟域1的状态检测装置通过检测stateB’和stateA获知子模块A和子模块B状态量的不同,因此输出一个检测结果脉冲(resultA)以及一个回应脉冲(ackA);
9.在回应脉冲的控制下,状态指示装置中子模块A的状态被更新,其状态量stateA翻转,此时事件从时钟域2到时钟域1的事件传递完成,状态指示装置中子模块A和子模块B的状态再次相同,此后整个电路又可以进行下一次的事件传递;
上面描述了通过本发明中的装置在两个时钟域之间进行双向事件传递的过程以及具体的实现细节。本发明中所提出的方法及依照其实现的装置可以应用于两个频率、相位无关时钟域之间的双向事件传递,也可适用于多个时钟域两两之间跨时钟域事件的双向传递。
Claims (6)
1.一种利用状态量的跨时钟域事件双向传递的装置,其特征在于包括:
事件检测装置:当该时钟域事件发生时产生事件触发脉冲,事件检测装置输出一个有效脉冲信号,启动状态指示装置动作;
状态指示装置:当任一时钟域的事件触发脉冲发生时,状态指示装置更新相应时钟域的子模块状态;
状态检测装置:状态检测装置对状态指示装置中两个子模块状态的输出进行比较,当两个子模块状态相异时输出有效结果,并产生回应脉冲控制信号,状态指示装置根据回应脉冲控制信号更新对应子模块的状态,实现跨时钟事件的传递。
2.根据权利要求1所述的一种利用状态量的跨时钟域事件双向传递的装置,其特征在于所述状态指示装置内部包含两个子模块,两个子模块的初始状态相同,当两个子模块状态量相异时,不再更新子模块的状态。
3.根据权利要求1所述的一种利用状态量的跨时钟域事件双向传递的装置,其特征在于所述状态指示装置中的子模块利用1比特数据来表示子模块状态,当一个子模块状态被更新后其状态量也相应发生翻转。
4.一种利用状态量的跨时钟域事件双向传递的方法,其特征在于包含以下步骤:
(1).工作在一个时钟域中的事件检测装置检测到此时钟域中的一个有效事件,事件检测装置输出一个有效脉冲信号;
(2).当状态指示装置接收到此时钟域中事件检测装置输出的脉冲信号之后,首先对其内部两个子模块的状态进行判断,若两个子模块状态量相异,需要丢弃此有效事件,子模块状态不更新;若两个子模块状态量相同,则状态指示装置更新对应子模块的状态,翻转其状态量;
(3).工作在另一时钟域中的状态检测装置检测到状态指示装置内部子模块的状态量相异,则在此时钟域输出检测结果,并同时产生回应脉冲信号,状态指示装置根据回应脉冲信号更新对应子模块的状态。
5.如权利要求4所述的一种利用状态量的跨时钟域事件双向传递的方法,其特征在于状态指示装置中的两个子模块工作在各自时钟域,两个子模块使用1比特数据表示其状态,在初始状态下,两个个子模块的状态量被设置为相同。
6.如权利要求4所述的一种利用状态量的跨时钟域事件双向传递的方法,其特征在于该方法适用于多个时钟域两两之间跨时钟域事件的双向传递。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102434860A CN102111260B (zh) | 2009-12-23 | 2009-12-23 | 一种跨时钟域事件双向传递的方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102434860A CN102111260B (zh) | 2009-12-23 | 2009-12-23 | 一种跨时钟域事件双向传递的方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102111260A CN102111260A (zh) | 2011-06-29 |
CN102111260B true CN102111260B (zh) | 2013-11-13 |
Family
ID=44175295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102434860A Active CN102111260B (zh) | 2009-12-23 | 2009-12-23 | 一种跨时钟域事件双向传递的方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102111260B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678488B (zh) * | 2017-11-23 | 2024-06-07 | 南京火零信息科技有限公司 | 一种跨时钟域事件传递的电路 |
-
2009
- 2009-12-23 CN CN2009102434860A patent/CN102111260B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102111260A (zh) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10990121B2 (en) | Apparatus and method for achieving glitch-free clock domain crossing signals | |
CN102362432A (zh) | 具有扫描测试支持的低功率双边沿触发存储单元及其时钟门控电路 | |
CN212622809U (zh) | 检测电路 | |
EP2737473A1 (en) | High speed data testing without high speed bit clock | |
US9203415B2 (en) | Modulated clock synchronizer | |
CN101908012A (zh) | 时钟信号测试装置及测试方法 | |
CN103812472A (zh) | 抗单粒子瞬态效应的触发器 | |
US9837170B2 (en) | Systems and methods for testing performance of memory modules | |
CN102111260B (zh) | 一种跨时钟域事件双向传递的方法及其装置 | |
CN113282134A (zh) | 热备份三模冗余计算机时间同步实现装置及方法 | |
CN105141302A (zh) | 一种基于时钟沿的单粒子翻转自检纠错电路 | |
US8341471B2 (en) | Apparatus and method for synchronization within systems having modules processing a clock signal at different rates | |
US11402431B2 (en) | Detection circuit and detection method | |
CN112886951B (zh) | 一种高精度守时设备的多时钟源无缝切换电路及方法 | |
US6182237B1 (en) | System and method for detecting phase errors in asics with multiple clock frequencies | |
EP3761508A2 (en) | Immediate fail detect clock domain crossing synchronizer | |
US20120033772A1 (en) | Synchroniser circuit and method | |
US20220209759A1 (en) | Clock sweeping system | |
CN101232350B (zh) | 奇偶校验误差检测电路和方法 | |
US8890594B1 (en) | System for functional reset across multiple clock domains | |
US9160322B2 (en) | Clock edge detection device and method | |
CN103647528B (zh) | 非交叠时钟产生电路 | |
US6166574A (en) | Circuit for turning on and off a clock without a glitch | |
US11487600B2 (en) | Electronic circuit | |
CN114679158B (zh) | 周期信号发生装置、信号处理***及其周期信号发生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP02 | Change in the address of a patent holder |
Address after: 102209 Beijing, Beiqijia, the future of science and technology in the south area of China electronic network security and information technology industry base C building, Patentee after: Beijing CEC Huada Electronic Design Co., Ltd. Address before: 100102 Beijing City, Chaoyang District Lize two Road No. 2, Wangjing science and Technology Park A block five layer Patentee before: Beijing CEC Huada Electronic Design Co., Ltd. |