CN107911102B - 跨时钟域异步数据的同步滤波器和方法 - Google Patents
跨时钟域异步数据的同步滤波器和方法 Download PDFInfo
- Publication number
- CN107911102B CN107911102B CN201711223930.3A CN201711223930A CN107911102B CN 107911102 B CN107911102 B CN 107911102B CN 201711223930 A CN201711223930 A CN 201711223930A CN 107911102 B CN107911102 B CN 107911102B
- Authority
- CN
- China
- Prior art keywords
- data signal
- clock domain
- sampling unit
- combinational logic
- unit
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一种跨时钟域异步数据的同步滤波器和方法,其中,同步滤波器包括同步化处理单元(30)、组合逻辑单元(31)、输出采样单元(32);同步化处理单元(30),对时钟域1的数据信号进行同步化处理,得到时钟域2的数据信号;组合逻辑单元(31),对所述时钟域2的数据信号进行组合逻辑处理,得到组合逻辑处理结果;输出采样单元(32),对所述组合逻辑处理结果和所述时钟域2的数据信号进行采样,输出时钟域2的数据信号。本发明有效降低了数据信号从时钟域1传递至时钟域2时,信号出现亚稳态的概率,解决了因亚稳态导致后级电路出现逻辑混乱的问题,极大提高了电路的稳定性。
Description
技术领域
本发明涉及嵌入式***硬件设计,特别是涉及一种跨时钟域异步数据的同步电路和方法。
背景技术
在专用集成电路(ASIC,Application Specific Integrated Circuit)和现场可编程门阵列(FPGA,Field Programmable Gate Array)的逻辑设计中,往往会有多个时钟域之间的信号需要交互,跨时钟域异步信号的交互处理是否合理,即跨时钟域异步信号是否能够被稳定采样,是硬件电路设计是否可靠的关键因素之一。
目前有一种跨时钟域异步数据的处理方法,请参照图1,第一时钟域的脉冲信号Pulse_i需要传输到第二时钟域。在第一时钟域,使用时钟信号CLK1由脉冲保持寄存器10和取反逻辑11生成脉冲信号Pulse_n,;在第二时钟域,使用时钟信号CLK2,由同步电路12,经过两级寄存器120、121去亚稳态后将第二级寄存器的信号Q2再输出到寄存器13,并取寄存器121和寄存器13的输出值做异或,从而实现第一时钟域的脉冲信号到第二时钟域的脉冲信号的转换;当第一时钟域再来一个脉冲信号时,则上次保持脉冲的信号被取反,而后进入第二时钟域,第二时钟域的电路不变,实现脉冲信号的传递。
图2为采用现有技术跨时钟域异步数据处理方法的数据信号波形图。从图2中可以看出,只要输入到脉冲保持寄存器的数据高有效,脉冲保持寄存器输出的结果就会变化。而且,脉冲保持寄存器只能接收单比特数据位宽的数据,对于多位数据位宽的异步信号,目前的跨时钟域异步数据的处理方法并不适用。
现有技术的缺点为:只能对单脉冲的跨时钟域异步信号做同步处理,对于多脉冲的跨时钟域异步信号不适用;只能对单比特的跨时钟域异步信号做同步处理,对于数据总线型的多比特跨时钟域异步数据不适用。
发明内容
本发明的目的在于提供一种跨时钟域异步数据的同步滤波器,以避免跨时终域的异步数据产生亚稳态,以及毛刺对逻辑电路的影响。
本发明的另一目的在于提供一种跨时钟域异步数据的同步滤波方法,以避免跨时终域的异步数据产生亚稳态,以及毛刺对逻辑电路的影响。
本发明的目的可以这样实现,设计一种跨时钟域异步数据的同步滤波器,包括同步化处理单元、组合逻辑单元、输出采样单元;
同步化处理单元,对第一时钟域的数据信号进行同步化处理,得到第二时钟域的数据信号;
组合逻辑单元,对第二时钟域的数据信号进行组合逻辑处理,得到组合逻辑处理结果;
输出采样单元,对所述组合逻辑处理结果和所述第二时钟域的数据信号进行采样,输出第二时钟域的数据信号。
进一步地,同步化处理单元包括一级采样单元、二级采样单元、三级采样单元;
一级采样单元,对第一时钟域的数据信号进行采样,使数据信号的亚稳态衰减,得到属于第二时钟域的数据信号;
二级采样单元,对一级采样单元输出的数据信号进行采样,使数据信号的亚稳态再次衰减,得到属于第二时钟域的数据信号;
三级采样单元,对二级采样单元输出的数据信号进行采样,使得数据信号的亚稳态再次衰减,得到属于第二时钟域的数据信号。
进一步地,组合逻辑单元将二级采样单元和三级采样单元输出的数据信号进行组合逻辑计算,输出组合逻辑处理结果。
进一步地,输出采样单元将组合逻辑处理结果和三级采样单元的输出的数据信号进行采样,输出第二时钟域的数据信号。
进一步地,一级采样单元、二级采样单元、三级采样单元为触发器。
进一步地,输出采样单元为带使能端的触发器。
本发明的另一目的可以这样实现,设计一种跨时钟域异步数据的同步滤波方法,包括步骤:
A、设置同步化处理单元、组合逻辑单元、输出采样单元,同步化处理单元包括一级采样单元、二级采样单元和三级采样单元;
B、一级采样单元采样时钟域1的数据信号D,采样时钟为时钟域2的CLK2,一级采样单元得到属于时钟域2的数据信号Q1;
C、二级采样单元采样一级采样单元发送的数据信号Q1,采样时钟为时钟域2的CLK2,二级采样单元得到属于时钟域2的数据信号Q2;
D、三级采样单元采样所述数据信号Q2,采样时钟为时钟域2的CLK2,三级采样单元采样得到属于时钟域2的数据信号Q3;
E、组合逻辑单元对所述时钟域2的数据信号Q2和数据信号Q3进行组合逻辑处理,组合逻辑单元得到组合逻辑处理结果L;
F、输出采样单元采样组合逻辑处理结果L和数据信号Q3,只有当组合逻辑处理结果L等于设定值时,输出采样单元才会采样数据信号Q3,输出时钟域2的数据信号D’。
进一步地,组合逻辑单元采用的组合逻辑为等式运算符;数据信号Q2等于数据信号Q3,组合逻辑处理结果L等于1;否则,组合逻辑处理结果L等于0。
进一步地,输出采样单元为带使能端的触发器,其中组合逻辑处理结果L与触发器的使能端相连,只有当组合逻辑处理结果L等于1时,输出采样单元才会采样数据信号Q3。
本发明有效降低了数据信号从第一时钟域传递至第二时钟域时,信号出现亚稳态的概率,解决了因亚稳态导致后级电路出现逻辑混乱的问题,极大提高了电路的稳定性。
附图说明
图1是现有技术的跨时钟域异步数据信号处理方法示意图;
图2是现有技术的数据信号时序图;
图3是本发明较佳实施例的跨时钟域异步数据信号处理方法结构图;
图4是本发明较佳实施例的数据信号时序图。
具体实施方式
以下结合实施例对本发明作进一步的描述。
如图3所示,一种跨时钟域异步数据的同步滤波器,包括同步化处理单元30、组合逻辑单元31、输出采样单元32;同步化处理单元30,对第一时钟域的数据信号进行同步化处理,得到第二时钟域的数据信号;组合逻辑单元31,对所述第二时钟域的数据信号进行组合逻辑处理,得到组合逻辑处理结果;输出采样单元32,对所述组合逻辑处理结果和所述第二时钟域的数据信号进行采样,输出第二时钟域的数据信号。
所述同步化处理单元30包括一级采样单元300、二级采样单元301和三级采样单元302。
所述一级采样单元300用来采样第一时钟域的数据信号D,采样时钟为第二时钟域的CLK2,得到属于第二时钟域的数据信号Q1;如果采样时,第一时钟域的数据信号D正处于变化时刻,那么势必造成亚稳态的产生。如图4所示,在采样时刻40,第一时钟域的数据信号D正从数据A变化到B,这就势必导致一级采样单元300输出的Q1在振荡时间(Tmet)内处于不稳定状态。
所述二级采样单元301用来采样所述数据信号Q1,采样时钟为第二时钟域的CLK2,采样得到属于第二时钟域的数据信号Q2。一级采样单元300输出的数据Q1在振荡时间(Tmet)后将趋于一个稳定的值,但这个稳定的值是一个不可控的值,任何值都有可能。如图4所示,在采样时刻41,二级采样单元301采样一级采样单元300输出的数据Q1,并输出一个稳定的不可控的值E。
所述三级采样单元302用来采样所述数据信号Q2,采样时钟为第二时钟域的CLK2,采样得到属于第二时钟域的数据信号Q3。
所述组合逻辑单元31用来对所述第二时钟域的数据信号Q2和数据信号Q3进行组合逻辑处理,得到组合逻辑处理结果L;所述组合逻辑为等式运算符,如果数据信号Q2等于数据信号Q3,组合逻辑处理结果L等于1;否则,组合逻辑处理结果L等于0。如果没有所述组合逻辑,而是将Q3直接输出给输出采样单元32,那么输出采样单元32输出的值D’中就包含了一个错误的值E,这可能导致后级逻辑电路错误。
所述输出采样单元32用来采样组合逻辑处理结果L和数据信号Q3,输出第二时钟域的数据信号D’;所述输出采样单元32是带使能端的触发器,其中组合逻辑处理结果L与所述触发器的使能端相连,只有当组合逻辑处理结果L等于1时,输出采样单元32才会采样数据信号Q3。
一种跨时钟域异步数据的同步滤波方法,包括步骤:
A、设置同步化处理单元、组合逻辑单元、输出采样单元,同步化处理单元包括一级采样单元、二级采样单元和三级采样单元;
B、一级采样单元采样时钟域1的数据信号D,采样时钟为时钟域2的CLK2,一级采样单元得到属于时钟域2的数据信号Q1;
C、二级采样单元采样一级采样单元发送的数据信号Q1,采样时钟为时钟域2的CLK2,二级采样单元得到属于时钟域2的数据信号Q2;
D、三级采样单元采样所述数据信号Q2,采样时钟为时钟域2的CLK2,三级采样单元采样得到属于时钟域2的数据信号Q3;
E、组合逻辑单元对所述时钟域2的数据信号Q2和数据信号Q3进行组合逻辑处理,组合逻辑单元得到组合逻辑处理结果L;
F、输出采样单元采样组合逻辑处理结果L和数据信号Q3,只有当组合逻辑处理结果L等于设定值时,输出采样单元才会采样数据信号Q3,输出时钟域2的数据信号D’。
组合逻辑单元采用的组合逻辑为等式运算符;数据信号Q2等于数据信号Q3,组合逻辑处理结果L等于1;否则,组合逻辑处理结果L等于0。输出采样单元为带使能端的触发器,其中组合逻辑处理结果L与触发器的使能端相连,只有当组合逻辑处理结果L等于1时,输出采样单元才会采样数据信号Q3。
本发明具有以下有益效果:通过对跨时钟域异步数据信号进行同步化处理后,有效降低了异步数据信号跨时钟域时出现亚稳态的概率;通过组合逻辑单元计算,有效降低了异步数据信号跨时钟域时亚稳态对后级电路的影响,提高了电路的稳定性。
Claims (6)
1.一种跨时钟域异步数据的同步滤波器,其特征在于:包括同步化处理单元(30)、组合逻辑单元(31)、输出采样单元(32);
同步化处理单元(30),对第一时钟域的数据信号进行同步化处理,得到第二时钟域的数据信号;同步化处理单元(30)包括一级采样单元(300)、二级采样单元(301)、三级采样单元(302);一级采样单元(300),对第一时钟域的数据信号进行采样,使数据信号的亚稳态衰减,得到属于第二时钟域的数据信号;二级采样单元(301),对一级采样单元输出的数据信号进行采样,使数据信号的亚稳态再次衰减,得到属于第二时钟域的数据信号;三级采样单元(302),对二级采样单元输出的数据信号进行采样,使得数据信号的亚稳态再次衰减,得到属于第二时钟域的数据信号;
组合逻辑单元(31),对第二时钟域的数据信号进行组合逻辑处理,得到组合逻辑处理结果;组合逻辑单元(31)将二级采样单元(301)和三级采样单元(302)输出的数据信号进行组合逻辑计算,输出组合逻辑处理结果;
输出采样单元(32),对所述组合逻辑处理结果和所述第二时钟域的数据信号进行采样,输出第二时钟域的数据信号;输出采样单元(32)将组合逻辑处理结果和三级采样单元(302)的输出的数据信号进行采样,输出第二时钟域的数据信号。
2.根据权利要求1所述的跨时钟域异步数据的同步滤波器,其特征在于:一级采样单元(300)、二级采样单元(301)、三级采样单元(302)为触发器。
3.根据权利要求1所述的跨时钟域异步数据的同步滤波器,其特征在于:输出采样单元(32)为带使能端的触发器。
4.一种跨时钟域异步数据的同步滤波方法,其特征在于,包括步骤:
A、设置同步化处理单元、组合逻辑单元、输出采样单元,同步化处理单元包括一级采样单元、二级采样单元和三级采样单元;
B、一级采样单元采样时钟域1的数据信号D,采样时钟为时钟域2的CLK2,一级采样单元得到属于时钟域2的数据信号Q1;
C、二级采样单元采样一级采样单元发送的数据信号Q1,采样时钟为时钟域2的CLK2,二级采样单元得到属于时钟域2的数据信号Q2;
D、三级采样单元采样所述数据信号Q2,采样时钟为时钟域2的CLK2,三级采样单元采样得到属于时钟域2的数据信号Q3;
E、组合逻辑单元对所述时钟域2的数据信号Q2和数据信号Q3进行组合逻辑处理,组合逻辑单元得到组合逻辑处理结果L;
F、输出采样单元采样组合逻辑处理结果L和数据信号Q3,只有当组合逻辑处理结果L等于设定值时,输出采样单元才会采样数据信号Q3,输出时钟域2的数据信号D’。
5.根据权利要求4所述的跨时钟域异步数据的同步滤波方法,其特征在于:组合逻辑单元采用的组合逻辑为等式运算符;数据信号Q2等于数据信号Q3,组合逻辑处理结果L等于1;否则,组合逻辑处理结果L等于0。
6.根据权利要求4所述的跨时钟域异步数据的同步滤波方法,其特征在于:输出采样单元为带使能端的触发器,其中组合逻辑处理结果L与触发器的使能端相连,只有当组合逻辑处理结果L等于1时,输出采样单元才会采样数据信号Q3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711223930.3A CN107911102B (zh) | 2017-11-29 | 2017-11-29 | 跨时钟域异步数据的同步滤波器和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711223930.3A CN107911102B (zh) | 2017-11-29 | 2017-11-29 | 跨时钟域异步数据的同步滤波器和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107911102A CN107911102A (zh) | 2018-04-13 |
CN107911102B true CN107911102B (zh) | 2021-06-29 |
Family
ID=61849217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711223930.3A Active CN107911102B (zh) | 2017-11-29 | 2017-11-29 | 跨时钟域异步数据的同步滤波器和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107911102B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660249A (zh) * | 2018-12-21 | 2019-04-19 | 天津国芯科技有限公司 | 异步脉冲同步器 |
CN113615088B (zh) * | 2019-03-26 | 2023-07-14 | 华为技术有限公司 | 跨时钟域同步电路以及方法 |
CN109947226A (zh) * | 2019-04-03 | 2019-06-28 | 深圳芯马科技有限公司 | 一种mcu芯片的uart唤醒电路 |
CN113821075A (zh) * | 2021-09-27 | 2021-12-21 | 上海航天计算机技术研究所 | 一种异步多比特信号跨时钟域处理方法及装置 |
CN114185397B (zh) * | 2022-02-15 | 2022-05-17 | 深圳市爱普特微电子有限公司 | 跨时钟域数据传输电路及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449728B1 (en) * | 1999-08-31 | 2002-09-10 | Motorola, Inc. | Synchronous quad clock domain system having internal and external sample logic units matching internal and external sample signatures to a pattern corresponding to a synchronous multiple ratio |
CN101009487A (zh) * | 2007-01-24 | 2007-08-01 | 华为技术有限公司 | 跨时钟域异步数据处理、异步数据跨时钟域的方法及装置 |
US7288969B1 (en) * | 2006-04-05 | 2007-10-30 | Alcatel Lucent | Zero clock delay metastability filtering circuit |
CN103219982A (zh) * | 2013-03-22 | 2013-07-24 | 中山大学 | 一种基于双采样的异步信号同步电路 |
-
2017
- 2017-11-29 CN CN201711223930.3A patent/CN107911102B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449728B1 (en) * | 1999-08-31 | 2002-09-10 | Motorola, Inc. | Synchronous quad clock domain system having internal and external sample logic units matching internal and external sample signatures to a pattern corresponding to a synchronous multiple ratio |
US7288969B1 (en) * | 2006-04-05 | 2007-10-30 | Alcatel Lucent | Zero clock delay metastability filtering circuit |
CN101009487A (zh) * | 2007-01-24 | 2007-08-01 | 华为技术有限公司 | 跨时钟域异步数据处理、异步数据跨时钟域的方法及装置 |
CN103219982A (zh) * | 2013-03-22 | 2013-07-24 | 中山大学 | 一种基于双采样的异步信号同步电路 |
Non-Patent Citations (2)
Title |
---|
Containment of Metastable Voltages in FPGAs;Robert Najvirt 等;《2015 IEEE 18th International Symposium on Design and Diagnostics of Electronic Circuits & Systems》;20150831;197-202 * |
FPGA设计中跨时钟域信号同步方法;邹晨;《航空计算技术》;20140430;131-134 * |
Also Published As
Publication number | Publication date |
---|---|
CN107911102A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911102B (zh) | 跨时钟域异步数据的同步滤波器和方法 | |
US9092013B2 (en) | Time-to-digital converter | |
CN109709475B (zh) | 输入/输出总线中的毛刺检测 | |
US10116318B1 (en) | Method and system for asynchronous clock generation for successive approximation analog-to-digital converter (SAR ADC) | |
CN109039307B (zh) | 双沿防抖电路结构 | |
CN106897238B (zh) | 一种数据处理装置及方法 | |
JP2016513920A (ja) | 状態周期ごとに状態を変えるとともにデータのレーン間スキューおよびデータ状態遷移グリッチに影響されない、多線データ信号からクロック信号を回復する回路 | |
CN101009487A (zh) | 跨时钟域异步数据处理、异步数据跨时钟域的方法及装置 | |
CN106772185B (zh) | 一种用于示波器的信号间隔或周期检测方法和装置 | |
KR20130095832A (ko) | 비트 생성 장치 및 비트 생성 방법 | |
US8339158B2 (en) | High speed dynamic comparative latch | |
CN113009961B (zh) | 一种跨时钟同步电路及SoC*** | |
US20080211559A1 (en) | Data holding circuit and signal processing circuit | |
CN108347245B (zh) | 时钟分频器 | |
CN116318075A (zh) | 一种单脉冲信号跨时钟域电路及方法 | |
US9112489B2 (en) | Sequential logic circuit and method of providing setup timing violation tolerance therefor | |
CN111367158B (zh) | 基于sca的波形数字化时间测量方法及*** | |
US7823003B1 (en) | Voltage referencing clock for source-synchronous multi-level signal buses | |
CN104076178A (zh) | 一种具有改进触发功能的示波器 | |
CN109039308A (zh) | 单一时钟数据同步电路在数据传输中的应用 | |
US7679404B2 (en) | Missing clock pulse detector | |
US6999542B1 (en) | Data ready indicator between different clock domains | |
CN113821075A (zh) | 一种异步多比特信号跨时钟域处理方法及装置 | |
US9154159B2 (en) | Low latency data deserializer | |
US8896347B2 (en) | Synchronous input signal capture system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |