CN110515419B - 一种优化格雷码编码方式实现跨时钟域的装置 - Google Patents
一种优化格雷码编码方式实现跨时钟域的装置 Download PDFInfo
- Publication number
- CN110515419B CN110515419B CN201910784082.6A CN201910784082A CN110515419B CN 110515419 B CN110515419 B CN 110515419B CN 201910784082 A CN201910784082 A CN 201910784082A CN 110515419 B CN110515419 B CN 110515419B
- Authority
- CN
- China
- Prior art keywords
- flag
- trigger
- addr
- value
- module
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Analogue/Digital Conversion (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种优化格雷码编码方式实现跨时钟域的装置,通过在原有格雷码转换电路基础上,通过增加2bit指示信号,实现了非2的n次幂地址编码转换逻辑时,在最大值与0地址之间的过渡期间,只根据新增的2bit指示信号进行判断,在其他情况下,仍然采用标准的格雷码转换逻辑。本发明从跨时钟处理的效果上看,编码后仍然可以保证有效的地址指示信号只发生一bit变化,原理上保证了时钟跨接处理的正确性,并与标准的格雷码转换效果相当。
Description
技术领域
本发明属于信号处理技术领域,尤其是涉及一种优化格雷码编码方式实现跨时钟域的装置。
背景技术
随着时间的推移,集成电路行业发展至今,已有类似如Intel这样先进的foundry,提出迈入10nm制程的规划。高集成度的推行,也使芯片规模越来越大,功能越来越复杂,目前SOC的内部时钟高度复杂,导致跨时钟域的接口越来越多。针对这些异步信号的处理方法多种多样,在最常用的异步FIFO实现的跨时钟域处理中个,大量采用格雷码编码的方式实现读写指针的跨时钟域处理。
格雷码属于可靠性编码,是一种错误最小化的编码方式,因为,虽然自然二进制码可以直接由数/模转换器转换成模拟信号,但在某些情况,例如从十进制的3转换为4时二进制码的每一位都要变,能使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它在相邻位间转换时,只有一位产生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。由于这种编码相邻的两个码组之间只有一位不同,引起数字量发生变化时,格雷码仅改变一位,这样与其它编码同时改变两位或多位的情况相比更为可靠,即可减少出错的可能性。
然而采用格雷码实现地址指针的跨时钟域处理时,根据格雷码编解码方式的特点,需要地址变化范围必须是2的N次方,当地址变化范围不满足2的N次方时,地址回0时就不能保证格雷码是单bit跳变的了,很难保证跨接后采样的正确性。
发明内容
有鉴于此,本发明旨在提出一种优化格雷码编码方式实现跨时钟域的装置,通过增加2bit指示信号和2个mux逻辑,实现了n>2的任意深度的地址指针的跨时钟域处理。
为达到上述目的,本发明的技术方案是这样实现的:
一种优化格雷码编码方式实现跨时钟域的装置,包括flag_gen模块、bin2gray模块、gray2bin模块、以及flag_sel模块,其中,flag_gen模块的输入端为地址指针的最大值addr_max以及第一时钟域下的地址指针addr_in,输出端一方面连接第四D触发器的D端,另一方面分别连接第一多路选择器m1和第二多路选择器m2的输入端,第四触发器的Q端连接第五触发器的D端,第五触发器的Q端连接第六触发器的D端,第六触发器的Q端连接flag_sel模块的输入端,第一多路选择器的输入端还连接第一时钟域下的地址指针addr_in,第一多路选择器m1的输出端连接bin2gray模块的输入端,bin2gray模块的输出端连接第二多路选择器m2的输入端,第二多路选择器的输出端连接第一D触发器的D端,第一D触发器的Q端连接第二D触发器的D端,第二D触发器的Q端连接第三触发器的D端,第三触发器的Q端连接gray2bin模块的输入端,gray2bin模块的输出端连接flag_sel模块的输入端,第一D触发器、第四D触发器的CP端连接第一时钟,第二D触发器、第三D触发器、第五D触发器、第六D触发器的CP端连接第二时钟。
进一步的,所述bin2gray模块为标准的二进制数据向格雷码的转换逻辑。
进一步的,所述gray2bin模块为标准的格雷码向二进制数据转换的逻辑。
进一步的,所述flag_gen模块为编码器,其功能为:
当addr_in的值与addr_max的值相等时,flag_gen输出的2bit信号值为10,flag_gen控制m2给D1触发器的信号为0;
当addr_in的值与addr_max–1的值相等时,flag_gen输出的2bit信号值为11,flag_gen控制m2给D1触发器的信号为0;
当addr_in的值与addr_max–2的值相等时,flag_gen输出的2bit信号值为01,flag_gen控制m2给D1触发器的信号为bin2gray的输出值,flag_gen控制m1给bin2gray模块的输入信号为addr_max-3;
在其他情况下,flag_gen输出的2bit信号值为00,flag_gen控制m2给D触发器的输入为bin2gray的输出值,flag_gen控制m1给bin2gray的输入为addr_in。
进一步的,在第二时钟域下经过连续两次打拍消除亚稳态后,在flag_sel模块中实现地址指针的恢复,其功能为:
当输入flag_sel的2bit指示信号为10时,addr_out的值为addr_max;
当输入flag_sel的2bit指示信号为11时,addr_out的值为addr_max-1;
当输入flag_sel的2bit指示信号为01时,addr_out的值为addr_max–2;
当输入flag_sel的2bit指示信号为00时,addr_out的值为gray2bin的输出值。
相对于现有技术,本发明所述的一种优化格雷码编码方式实现跨时钟域的装置具有以下优势:
(1)本发明通过在原有格雷码转换电路基础上,通过增加2bit指示信号,实现了非2的n次幂地址编码转换逻辑时,在最大值与0地址之间的过渡期间,只根据新增的2bit指示信号进行判断,在其他情况下,仍然采用标准的格雷码转换逻辑。
(2)本发明从跨时钟处理的效果上看,编码后仍然可以保证有效的地址指示信号只发生一bit变化,原理上保证了时钟跨接处理的正确性,并与标准的格雷码转换效果相当
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种优化格雷码编码方式实现跨时钟域的装置逻辑电路示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示为本发明的逻辑电路,包括flag_gen模块、bin2gray模块、gray2bin模块、以及flag_sel模块,其中,flag_gen模块的输入端为地址指针的最大值addr_max以及第一时钟域下的地址指针addr_in,输出端一方面连接第四D触发器的D端,另一方面分别连接第一多路选择器m1和第二多路选择器m2的输入端,第四触发器的Q端连接第五触发器的D端,第五触发器的Q端连接第六触发器的D端,第六触发器的Q端连接flag_sel模块的输入端,第一多路选择器的输入端还连接第一时钟域下的地址指针addr_in,第一多路选择器m1的输出端连接bin2gray模块的输入端,bin2gray模块的输出端连接第二多路选择器m2的输入端,第二多路选择器的输出端连接第一D触发器的D端,第一D触发器的Q端连接第二D触发器的D端,第二D触发器的Q端连接第三触发器的D端,第三触发器的Q端连接gray2bin模块的输入端,gray2bin模块的输出端连接flag_sel模块的输入端,第一D触发器、第四D触发器的CP端连接第一时钟,第二D触发器、第三D触发器、第五D触发器、第六D触发器的CP端连接第二时钟。
图中,地址指针的最大值为addr_max,在clk_1时钟域下的地址指针为addr_in,地址指针的bit位宽为n,其中n>2。经过本文所述逻辑电路转换后,在clk_2时钟下输出的地址指针为addr_out。图中:
(1)Clk_1为地址指针addr_in的产生时钟,经过本逻辑电路跨时钟域处理后,跨接到clk_2时钟域,产生addr_out地址指针输出。Addr_max为一个常量,表示地址指针的最大值时多少。
(2)bin2gray模块为标准的二进制数据向格雷码的转换逻辑。Gray2bin模块为标准的格雷码向二进制数据转换的逻辑。该逻辑电路共有6组D触发器。
(3)flag_gen模块为一个编码器,其功能为:
当addr_in的值与addr_max的值相等时,flag_gen输出的2bit信号值为10,flag_gen控制m2给D1触发器的信号为0;
当addr_in的值与addr_max–1的值相等时,flag_gen输出的2bit信号值为11,flag_gen控制m2给D1触发器的信号为0;
当addr_in的值与addr_max–2的值相等时,flag_gen输出的2bit信号值为01,flag_gen控制m2给D1触发器的信号为bin2gray的输出值,flag_gen控制m1给bin2gray模块的输入信号为addr_max-3;
在其他情况下,flag_gen输出的2bit信号值为00,flag_gen控制m2给D触发器的输入为bin2gray的输出值,flag_gen控制m1给bin2gray的输入为addr_in;
(4)在clk_2时钟域下经过连续两次打拍消除亚稳态后,在flag_sel模块中实现地址指针的恢复,其功能为:
当输入flag_sel的2bit指示信号为10时,addr_out的值为addr_max;
当输入flag_sel的2bit指示信号为11时,addr_out的值为addr_max-1;
当输入flag_sel的2bit指示信号为01时,addr_out的值为addr_max–2;
当输入flag_sel的2bit指示信号为00时,addr_out的值为gray2bin的输出值。
综上所述,本申请所采用的编码规则如下表所示,为了表述方便,假设n为4,地址指针的最大值addr_max为13,表中addr为地址指针,flag为2bit位宽跨时钟域的指示信号,gray为4bit位宽跨时钟域编码信号。则他们的编码规则如表1:
表1
需要着重说明的是,当地址指针addr从11跳变到12时,因为此时addr_out的输出结果只根据2bit的flag信号产生,与gray的跳变无关,因此可以保证仍然可以看做时只有1bit发生跳变。
本发明在传统的格雷码转换电路的基础上,增加了2bit指示信号,通过对编解码逻辑规则的改动,实现了时钟跨接逻辑设计。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种优化格雷码编码方式实现跨时钟域的装置,其特征在于:包括flag_gen模块、bin2gray模块、gray2bin模块、以及flag_sel模块,其中,flag_gen模块的输入端为地址指针的最大值addr_max以及第一时钟域下的地址指针addr_in,输出端一方面连接第四D触发器的D端,另一方面分别连接第一多路选择器m1和第二多路选择器m2的输入端,第四D触发器的数据输出管脚Q端连接第五D触发器的数据输入管脚D端,第五D触发器的数据输出管脚Q端连接第六D触发器的数据输入管脚D端,第六D触发器的数据输出管脚Q端连接flag_sel模块的输入端,第一多路选择器的输入端还连接第一时钟域下的地址指针addr_in,第一多路选择器m1的输出端连接bin2gray模块的输入端,bin2gray模块的输出端连接第二多路选择器m2的输入端,第二多路选择器的输出端连接第一D触发器的数据输入管脚D端,第一D触发器的数据输出管脚Q端连接第二D触发器的数据输入管脚D端,第二D触发器的数据输出管脚Q端连接第三触发器的数据输入管脚D端,第三触发器的数据输出管脚Q端连接gray2bin模块的输入端,gray2bin模块的输出端连接flag_sel模块的输入端,第一D触发器、第四D触发器的时钟管脚CP端连接第一时钟,第二D触发器、第三D触发器、第五D触发器、第六D触发器的时钟管脚CP端连接第二时钟;
所述flag_gen模块为编码器,其功能为:
当addr_in的值与addr_max的值相等时,flag_gen输出的2bit信号值为10,flag_gen控制m2给D1触发器的信号为0;
当addr_in的值与addr_max–1的值相等时,flag_gen输出的2bit信号值为11,flag_gen控制m2给D1触发器的信号为0;
当addr_in的值与addr_max–2的值相等时,flag_gen输出的2bit信号值为01,flag_gen控制m2给D1触发器的信号为bin2gray的输出值,flag_gen控制m1给bin2gray模块的输入信号为addr_max-3;
在其他情况下,flag_gen输出的2bit信号值为00,flag_gen控制m2给D触发器的输入为bin2gray的输出值,flag_gen控制m1给bin2gray的输入为addr_in。
2.根据权利要求1所述的一种优化格雷码编码方式实现跨时钟域的装置,其特征在于:所述bin2gray模块为标准的二进制数据向格雷码的转换逻辑。
3.根据权利要求1所述的一种优化格雷码编码方式实现跨时钟域的装置,其特征在于:所述gray2bin模块为标准的格雷码向二进制数据转换的逻辑。
4.根据权利要求1所述的一种优化格雷码编码方式实现跨时钟域的装置,其特征在于:在第二时钟域下经过连续两次打拍消除亚稳态后,在flag_sel模块中实现地址指针的恢复,其功能为:
当输入flag_sel的2bit指示信号为10时,addr_out的值为addr_max;
当输入flag_sel的2bit指示信号为11时,addr_out的值为addr_max -1;
当输入flag_sel的2bit指示信号为01时,addr_out的值为addr_max -2;
当输入flag_sel的2bit指示信号为00时,addr_out的值为gray2bin的输出值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784082.6A CN110515419B (zh) | 2019-08-23 | 2019-08-23 | 一种优化格雷码编码方式实现跨时钟域的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784082.6A CN110515419B (zh) | 2019-08-23 | 2019-08-23 | 一种优化格雷码编码方式实现跨时钟域的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110515419A CN110515419A (zh) | 2019-11-29 |
CN110515419B true CN110515419B (zh) | 2023-03-10 |
Family
ID=68626552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910784082.6A Active CN110515419B (zh) | 2019-08-23 | 2019-08-23 | 一种优化格雷码编码方式实现跨时钟域的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515419B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293149B2 (en) * | 2003-05-30 | 2007-11-06 | Sun Microsystems Inc. | Method and apparatus for determining a status of an asynchronous memory |
US6937172B1 (en) * | 2004-05-04 | 2005-08-30 | Xilinx, Inc. | Method and system for gray-coding counting |
CN1858853A (zh) * | 2005-11-29 | 2006-11-08 | 上海华为技术有限公司 | 异步时钟域转换时地址调整的系统及其方法 |
CN102025276B (zh) * | 2010-11-11 | 2013-07-31 | 东南大学 | 一种数字控制开关电源跨时钟域控制器及其控制方法 |
CN106897238B (zh) * | 2015-12-18 | 2020-05-26 | 浙江大华技术股份有限公司 | 一种数据处理装置及方法 |
CN107577623A (zh) * | 2017-07-19 | 2018-01-12 | 成都华微电子科技有限公司 | 跨时钟域异步fifo及数据处理方法 |
CN108880531B (zh) * | 2018-07-09 | 2020-02-18 | 电子科技大学 | 一种偶数次格雷码计数器电路 |
-
2019
- 2019-08-23 CN CN201910784082.6A patent/CN110515419B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110515419A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ajanya et al. | Thermometer code to binary code converter for flash ADC-a review | |
US4520347A (en) | Code conversion circuit | |
CN110022157A (zh) | 信号处理装置和δ-σ调制器 | |
CN108880531B (zh) | 一种偶数次格雷码计数器电路 | |
CN110515419B (zh) | 一种优化格雷码编码方式实现跨时钟域的装置 | |
US7579973B2 (en) | Analog-to-digital converter | |
CN101090270A (zh) | 一种实现高速模/数转换的装置及其方法 | |
GB2095952A (en) | Bi-phase space code data signal reproducing circuit | |
JPS58165441A (ja) | Pcm信号符号器 | |
CN110187918B (zh) | 二进制至格雷转换电路、相关的fifo存储器、集成电路和方法 | |
Bellavin et al. | Study of Bubble Errors Conversion in a Modified ROM Encoder | |
US6816098B2 (en) | High-speed oversampling modulator device | |
CN111565048B (zh) | 一种逐次逼近型adc的逻辑控制系统 | |
KR20080062056A (ko) | 이진 코드를 그레이 코드로 변환하는 장치 | |
JP3723362B2 (ja) | フラッシュ方式アナログ/デジタル変換装置 | |
CN210274034U (zh) | 一种高精度dac | |
Yin et al. | High Logic Density Cyclic Redundancy Check and Forward Error Correction Logic Sharing Encoding Circuit for JESD204C Controller | |
CN116318154B (zh) | 模数转换装置及信号转换设备 | |
CN109412598A (zh) | 一种逐次逼近式模数转换装置 | |
CN109525241B (zh) | 一种格雷码计数器 | |
WO2023087368A1 (zh) | 一种基于时间交织adc的通道随机化电路及方法 | |
CN117614458A (zh) | Rtl电路中有限状态机不同编码间的转换方法及转换电路 | |
KR100314675B1 (ko) | 디지털 텔레비전의 양위상 디코더 | |
CN102655414A (zh) | 一种格雷码编码的并行设计电路 | |
EP0959566B1 (en) | Digital to analog conversion apparatus and method |
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 |