CN114461009B - 一种应用于fpga单比特信号自动识别时钟域转换的方法 - Google Patents
一种应用于fpga单比特信号自动识别时钟域转换的方法 Download PDFInfo
- Publication number
- CN114461009B CN114461009B CN202210017057.7A CN202210017057A CN114461009B CN 114461009 B CN114461009 B CN 114461009B CN 202210017057 A CN202210017057 A CN 202210017057A CN 114461009 B CN114461009 B CN 114461009B
- Authority
- CN
- China
- Prior art keywords
- clock
- cnt
- counter
- clock domain
- original
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 17
- 230000001960 triggered effect Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种应用于FPGA单比特信号自动识别时钟域转换的方法;包括:步骤一:触发一个一直为高的电平信号;步骤二:原时钟域下的计数器s_cnt与目的时钟域下的计数器d_cnt开始计数;步骤三:所述计数器s_cnt和计数器d_cnt计数到设定值时停止;步骤四:判断出原时钟是快时钟还是慢时钟;步骤五:根据所述步骤四的判断自动选择单比特信号时钟域转换分支。本发明让计数器s_cnt和计数器d_cnt计数到设定值时停止,通过判断到设定值得时间判断出快时钟和慢时钟,这些过程都可以自动实现。可以自动识别原时钟与目的时钟快慢,方便单比特信号CDC设计,减少设计难度。
Description
技术领域
本发明涉及自动识别时钟域转换的技术领域,尤其涉及一种应用于FPGA单比特信号自动识别时钟域转换的方法。
背景技术
在FPGA(Field Programmable Gate Array,现场可编程门阵列)及IC(IntegratedCircuit,集成电路)功能设计时信号时钟域转换是经常要遇到的问题,处理不好CDC(ClockDomain Conversion,时钟域转换)问题将会使时钟不能采到正确的数据,导致整个系统不能正常工作。
单比特信号跨时钟问题是目前CDC问题常见的一种。在处理单比特信号CDC问题时,现有技术将单比特信号原时钟及目的时钟分为两类处理,一种是原时钟快目的时钟慢,另一种是原时钟慢目的时钟快。这样在设计单比特信号跨时钟转换问题需要考虑原时钟和目的时钟快慢的问题。现有方案中,在比较大的工程设计时,往往需要很多人合作去完成,这样会出现设计人员处理单比特信号时钟域转换时不清楚原时钟和目的时钟谁快谁慢的问题。
发明内容
本发明的目的就是为了解决上述问题,提供一种应用于FPGA单比特信号自动识别时钟域转换的方法,采用自动识别技术,在处理单比特信号时钟域转换时自动识别原时钟及目的时钟的快慢,识别后分别进入相应分支进行时钟域转换处理。
为了实现上述目的,本发明采用如下技术方案:
一种应用于FPGA单比特信号自动识别时钟域转换的方法,包括:
步骤一:触发一个一直为高的电平信号;
步骤二:原时钟域下的计数器s_cnt与目的时钟域下的计数器d_cnt开始计数;
步骤三:所述计数器s_cnt和计数器d_cnt计数到设定值时停止;
步骤四:判断出原时钟是快时钟还是慢时钟;
步骤五:根据所述步骤四的判断自动选择单比特信号时钟域转换分支。
当原时钟域接收到设定数据时,触发一个一直为高的电平信号。
当原时钟域或目的时钟接收到设定数据时,触发一个一直为高的电平信号。
当原时钟域接收到第一个有效数据时,原时钟域下触发一个一直为高的电平信号。
所述步骤三中根据所述计数器s_cnt和计数器d_cnt计数到设定值时所用的时间判断出原时钟是快时钟还是慢时钟。
所述计数器s_cnt计数到设定值时所用时间比所述计数器d_cnt时间长,则原时钟为慢时钟,目的时钟为快时钟,否则原时钟为快时钟,目的时钟为慢时钟。
通过组合逻辑判断出原时钟是快时钟还是慢时钟。
当原时钟是快时钟,目的时钟为慢时钟时,所述步骤五执行快时钟域到慢时钟域单比特信号跨时钟域处理。
当原时钟是慢时钟,目的时钟快时钟时,所述步骤五执行慢时钟域到快时钟域单比特信号跨时钟域处理。
本发明的有益效果:
本发明当原时钟域接收到第一个有效数据时,触发一个高电平信号,这样可以省去一个信号的输入,简化设计。
本发明让计数器s_cnt和计数器d_cnt计数到设定值时停止,通过判断到设定值得时间判断出快时钟和慢时钟,这些过程都可以自动实现。可以自动识别原时钟与目的时钟快慢,方便单比特信号CDC设计,减少设计难度。
当原时钟域收到第一个有效信号时开始进行原时钟与目的时钟频率比较,比较完后进入对应分支进行时钟域转换。这样设计人员在处理单比特信号时钟域转换时无需考虑原时钟与目的时钟快慢的问题。
附图说明
图1为FPGA单比特信号自动识别时钟域转换流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
一种应用于FPGA单比特信号自动识别时钟域转换的方法,如图1所示,图中d_clk为原时钟,d_data为原时钟域下的数据,s_clk为目的时钟,s_data为同步后目的时钟域下的数据。当第一个输入信号d_data有效时f_s_elect被拉高,触发原时钟域s_cnt和目的时钟域d_cnt计数器开始计数,当计数到达到设定值时计数停止,如果s_cnt先计数到设定值时进入快->慢单比特跨时钟处理模块,否则进入慢->快单比特跨时钟处理模块。当单比特跨时钟处理完时,通过判断进入了哪个单比特跨时钟处理模块选择s_data输出。
具体方法包括:
步骤一:触发一个一直为高的电平信号;
步骤二:原时钟域下的计数器s_cnt与目的时钟域下的计数器d_cnt开始计数;
步骤三:所述计数器s_cnt和计数器d_cnt计数到设定值时停止;
步骤四:判断出原时钟是快时钟还是慢时钟;
步骤五:根据所述步骤四的判断自动选择单比特信号时钟域转换分支。
当原时钟域接收到设定数据时,触发一个一直为高的电平信号。
当原时钟域接收到第一个有效数据时,原时钟域下触发一个一直为高的电平信号。
所述步骤三中根据所述计数器s_cnt和计数器d_cnt计数到设定值时所用的时间判断出原时钟是快时钟还是慢时钟。
所述计数器s_cnt计数到设定值时所用时间比所述计数器d_cnt时间长,则原时钟为慢时钟,目的时钟为快时钟,否则原时钟为快时钟,目的时钟为慢时钟。
通过组合逻辑判断出原时钟是快时钟还是慢时钟。
当原时钟是快时钟,目的时钟为慢时钟时,所述步骤五执行快时钟域到慢时钟域单比特信号跨时钟域处理。
当原时钟是慢时钟,目的时钟快时钟时,所述步骤五执行慢时钟域到快时钟域单比特信号跨时钟域处理。
当原时钟域接收到第一个有效数据时,开始自动识别原时钟与目的时钟快慢,并在原时钟域下产生一个一直为高电平信号f_s_elect。
在f_s_elect信号为高时,触发原时钟域下的计数器s_cnt与目的时钟域下的计数器d_cnt进行计数。s_cnt与d_cnt计数到相同的值n时计数停止,由于时钟频率不同s_cnt与d_cnt计数到n的时间不同,此时通过组合逻辑就可以判断原时钟域与目的时钟域哪个是快时钟哪个是慢时钟。
通过判断原时钟与目的时钟快慢,自动选择单比特信号时钟域转换分支,即,当判断原时钟快目的时钟慢,进入快时钟域到慢时钟域单比特信号跨时钟域处理,当判断原时钟慢目的时钟快,进入慢时钟域到快时钟域单比特信号跨时钟域处理。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (4)
1.一种应用于FPGA单比特信号自动识别时钟域转换的方法,其特征是,包括:
步骤一:当原时钟域接收到第一个有效数据时,原时钟域下触发一个一直为高的电平信号;
步骤二:原时钟域下的计数器s_cnt与目的时钟域下的计数器d_cnt开始计数;
步骤三:所述计数器s_cnt和计数器d_cnt计数到设定值时停止;
步骤四:所述计数器s_cnt和计数器d_cnt计数到设定值时所用的时间判断出原时钟是快时钟还是慢时钟;所述计数器s_cnt计数到设定值时所用时间比所述计数器d_cnt时间长,则原时钟为慢时钟,目的时钟为快时钟,否则原时钟为快时钟,目的时钟为慢时钟;
步骤五:根据所述步骤四的判断自动选择单比特信号时钟域转换分支。
2.如权利要求1所述一种应用于FPGA单比特信号自动识别时钟域转换的方法,其特征是,通过组合逻辑判断出原时钟是快时钟还是慢时钟。
3.如权利要求1所述一种应用于FPGA单比特信号自动识别时钟域转换的方法,其特征是,当原时钟是快时钟,目的时钟为慢时钟时,所述步骤五执行快时钟域到慢时钟域单比特信号跨时钟域处理。
4.如权利要求1所述一种应用于FPGA单比特信号自动识别时钟域转换的方法,其特征是,当原时钟是慢时钟,目的时钟快时钟时,所述步骤五执行慢时钟域到快时钟域单比特信号跨时钟域处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210017057.7A CN114461009B (zh) | 2022-01-07 | 2022-01-07 | 一种应用于fpga单比特信号自动识别时钟域转换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210017057.7A CN114461009B (zh) | 2022-01-07 | 2022-01-07 | 一种应用于fpga单比特信号自动识别时钟域转换的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114461009A CN114461009A (zh) | 2022-05-10 |
CN114461009B true CN114461009B (zh) | 2024-04-26 |
Family
ID=81409953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210017057.7A Active CN114461009B (zh) | 2022-01-07 | 2022-01-07 | 一种应用于fpga单比特信号自动识别时钟域转换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461009B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112307A (en) * | 1993-12-30 | 2000-08-29 | Intel Corporation | Method and apparatus for translating signals between clock domains of different frequencies |
US6603336B1 (en) * | 2000-09-14 | 2003-08-05 | Conexant Systems Inc. | Signal duration representation by conformational clock cycles in different time domains |
US6845457B1 (en) * | 2000-09-26 | 2005-01-18 | Sun Microsystems, Inc. | Method and apparatus for controlling transitions between a first and a second clock frequency |
CN103197139A (zh) * | 2012-01-06 | 2013-07-10 | 上海华虹集成电路有限责任公司 | 时钟频率测试方法和时钟频率测试电路 |
CN104199276A (zh) * | 2014-09-23 | 2014-12-10 | 李亚锋 | 基于fpga的信号时差测量方法及时间数字转换器 |
CN104412222A (zh) * | 2012-06-27 | 2015-03-11 | 北欧半导体公司 | 时钟域之间的数据传输 |
CN111813181A (zh) * | 2020-07-09 | 2020-10-23 | 长沙海格北斗信息技术有限公司 | Rtc数字电路断电保护方法、rtc数字电路及其芯片 |
CN113821075A (zh) * | 2021-09-27 | 2021-12-21 | 上海航天计算机技术研究所 | 一种异步多比特信号跨时钟域处理方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809972B2 (en) * | 2007-03-30 | 2010-10-05 | Arm Limited | Data processing apparatus and method for translating a signal between a first clock domain and a second clock domain |
US8024597B2 (en) * | 2008-02-21 | 2011-09-20 | International Business Machines Corporation | Signal phase verification for systems incorporating two synchronous clock domains |
US8443224B2 (en) * | 2010-10-27 | 2013-05-14 | Freescale Semiconductor, Inc. | Apparatus and method for decoupling asynchronous clock domains |
US9134751B2 (en) * | 2012-03-30 | 2015-09-15 | Intel Corporation | Time keeping in unknown and unstable clock architecture |
-
2022
- 2022-01-07 CN CN202210017057.7A patent/CN114461009B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112307A (en) * | 1993-12-30 | 2000-08-29 | Intel Corporation | Method and apparatus for translating signals between clock domains of different frequencies |
US6603336B1 (en) * | 2000-09-14 | 2003-08-05 | Conexant Systems Inc. | Signal duration representation by conformational clock cycles in different time domains |
US6845457B1 (en) * | 2000-09-26 | 2005-01-18 | Sun Microsystems, Inc. | Method and apparatus for controlling transitions between a first and a second clock frequency |
CN103197139A (zh) * | 2012-01-06 | 2013-07-10 | 上海华虹集成电路有限责任公司 | 时钟频率测试方法和时钟频率测试电路 |
CN104412222A (zh) * | 2012-06-27 | 2015-03-11 | 北欧半导体公司 | 时钟域之间的数据传输 |
CN104199276A (zh) * | 2014-09-23 | 2014-12-10 | 李亚锋 | 基于fpga的信号时差测量方法及时间数字转换器 |
CN111813181A (zh) * | 2020-07-09 | 2020-10-23 | 长沙海格北斗信息技术有限公司 | Rtc数字电路断电保护方法、rtc数字电路及其芯片 |
CN113821075A (zh) * | 2021-09-27 | 2021-12-21 | 上海航天计算机技术研究所 | 一种异步多比特信号跨时钟域处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
数字信号在不同时钟域间同步电路的设计;刘宗福;马冬冬;郭新民;;电子元器件应用;20110715(07);第47-49页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114461009A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9685953B1 (en) | Low latency asynchronous interface circuits | |
US8255748B2 (en) | Soft error and transient error detection device and methods therefor | |
US4298987A (en) | Memory-based frame synchronizer | |
CN103197139A (zh) | 时钟频率测试方法和时钟频率测试电路 | |
CN105245203A (zh) | 高精度低速时钟占空比检测系统及方法 | |
CN114461009B (zh) | 一种应用于fpga单比特信号自动识别时钟域转换的方法 | |
CN103346771A (zh) | 兼容两种协议的多通道切换控制电路及控制方法 | |
AU616258B2 (en) | Process and arrangement for the monitoring of a clock signal | |
US3898444A (en) | Binary counter with error detection and transient error correction | |
CN109164982B (zh) | 数据处理电路、方法及数据存储设备 | |
CN114253879A (zh) | 一种基于软件模拟的多通道串口通信方法及系统 | |
US3996523A (en) | Data word start detector | |
CN112886951A (zh) | 一种高精度守时设备的多时钟源无缝切换电路及方法 | |
CN1287715A (zh) | 实现多个计数的计数器及其方法 | |
CN116318090B (zh) | 一种逻辑保护电路及其控制方法、功率模块 | |
US20210119621A1 (en) | Debounce circuit with noise immunity and glitch event tracking | |
CN114397953B (zh) | 一种集成电路mcu设计中的复位滤波电路设计实现方法 | |
CN112713895B (zh) | 一种时钟检测电路及方法 | |
CN1719352A (zh) | 基于流水线逻辑控制和游标时间内插方法的连续测时系统 | |
RU2444780C1 (ru) | Многоканальное устройство для подключения абонентов к общей магистрали | |
CN113376513B (zh) | 延时测量电路、同步信号补偿装置及ic测量装置 | |
US6677785B1 (en) | Power level detection circuit | |
KR100232868B1 (ko) | 공급되는 클럭의 상태를 검출하는 회로 | |
US6670823B2 (en) | Detecting counter contents for time-critical applications | |
CN118054789A (zh) | 一种异步saradc亚稳态检测消除电路 |
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 |