CN112712829A - 一种跨时钟域的寄存器读写电路及方法 - Google Patents
一种跨时钟域的寄存器读写电路及方法 Download PDFInfo
- Publication number
- CN112712829A CN112712829A CN201911019799.8A CN201911019799A CN112712829A CN 112712829 A CN112712829 A CN 112712829A CN 201911019799 A CN201911019799 A CN 201911019799A CN 112712829 A CN112712829 A CN 112712829A
- Authority
- CN
- China
- Prior art keywords
- data
- bus
- register
- read
- write
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims 1
- 238000012790 confirmation Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1087—Data input latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- 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)
- Information Transfer Systems (AREA)
Abstract
本发明提供一种跨时钟域的寄存器读写电路及方法,所述电路包括:读寄存器电路,连接在慢速时钟域的寄存器与快速时钟域的总线接口之间,用于在总线选中目标寄存器进行读操作时,多级缓存目标寄存器中的数据并将缓存的数据与原始数据比较,在两者相等时通知总线读取数据;写寄存器电路,连接在慢速时钟域的寄存器与快速时钟域的总线接口之间,用于在总线选中目标寄存器进行写操作时,对总线的写数据线锁存后向目标寄存器写入数据。本发明采用多级缓存目标寄存器数据并与原始数据比较的确认机制,以及采用锁存器结构进行写操作,可以有效避免异步信号的亚稳态风险,无需握手反馈即实现快速时钟域总线对慢速时钟域寄存器的快速写入。
Description
技术领域
本发明涉及寄存器读写技术领域,具体而言,涉及一种跨时钟域的寄存器读写电路及方法。
背景技术
在高性能、低功耗的大规模集成电路的设计中,跨时钟域、跨电压域的设计不可避免。当同步信号进入异步时钟域时,如果不作任何处理,那么来自异步时钟域的信号在某时刻可能会无法满足建立时间而产生亚稳态,导致数据错误,使得电路逻辑功能失效。现有的异步时钟域的信号处理方式通常有以下几种方式:
1、使用两级触发器进行同步,消除亚稳态。该方式电路结构简单,一般只用于单比特的信号传输。而且通常适用于高频的时钟采集低频时钟的信号,当低频时钟需要采集来自高频时钟的信号时,需要对高频的信号进行拓展超过低频的时钟周期,然后由低频时钟进行同步。
2、对于多比特数据传输,通常使用异步的先入先出(FIFO)存储器,其本质是双端的随机存取存储器(RAM),由一个时钟域写入,另一个时钟域读取,依靠空/满信号控制数据的读写,通常在两时钟域相差不大且数据传输不连续时,通过选用合适的FIFO深度来达到速度与功能的平衡。
3、单比特或多比特数据的异步传输通常也采用握手电路,其中数据发送方发送请求,由数据接收方反馈确认。请求和确认两个握手信号跨时钟域传输后经过两级触发器同步,从而完成对另一方数据读写的控制。
上述跨时钟域的数据处理方式只有2和3可以用于多比特寄存器的读写。然而当快速时钟和慢速时钟相差过大时,低速时钟往往会导致高速时钟的读写效率大幅下降。如,在MCU中总线速度处于兆赫兹(106Hz)数量级;而目标IP的寄存器有时为千赫兹(103Hz)数量级,如实时时钟电路(RCT)。此时使用异步FIFO或握手机制操作目标寄存器,会导致总线在读写寄存器时受到来自慢速时钟的反馈信号(FIFO的满/空信号,握手信号)影响,因而总线需要等待低速时钟才能完成读写,导致高速总线速度被低速限制。另外,当系统待机时RTC依然工作,两者处于不同电压域,因此跨时钟域的信号还需要经过电平转换(LevelShift),所以会导致更长的不确定状态。此时穿越Level Shift的时钟将变得不可靠,进而导致在此情况下更无法使用异步FIFO进行同步。
现有技术中提供了一种高速与低速时钟域之间的数据传输的同步电路,在写慢速时钟寄存器时,采用的是双触发器同步快速时钟的写使能信号后再产生慢速时钟的写入信号,但由于该双触发器需要顺序完成两个操作,需要慢速时钟的2个周期,因此,对于相差3倍以上、数十倍乃至上百倍的两个时钟域,写入速度更为缓慢,异步时钟之间的数据同步会浪费相当长的总线时钟周期,影响系统运行效率,尤其在跨电压域的寄存器访问时,电平转换(Level Shift)电路引起信号的不确定时间增大,继而引起时钟不准确导致数据同步困难。对于读寄存器,是将慢速时钟触发器产生的读信号同步至快速时钟,刷新快速时钟的读寄存器,这种读信号机制,读取速度和时间会受慢速时钟的影响。
发明内容
本发明提供了一种跨时钟域的寄存器读写方法,能够解决上述问题。
本发明提供的技术方案如下:
一种跨时钟域的寄存器读写电路,包括:
读寄存器电路,连接在慢速时钟域的n个寄存器与快速时钟域的总线接口之间,用于在总线选中目标寄存器进行读操作时,多级缓存目标寄存器中的数据并将缓存的数据与原始数据比较,在两者相等时通知总线读取数据;以及
写寄存器电路,连接在慢速时钟域的寄存器与快速时钟域的总线接口之间,用于在总线选中目标寄存器进行写操作时,对总线的写数据线锁存后向目标寄存器写入数据。
更进一步地,所述读寄存器电路包括:
多路选择器,与慢速时钟域的n个寄存器连接,用于根据总线控制信号从n个寄存器中选中目标寄存器,并将所述目标寄存器数据作为读数据线输出到触发器;以及
触发器,连接在多路选择器与快速时钟域的总线接口之间,用于对目标寄存器中的数据进行多级缓存后将缓存的数据与原始数据进行比较,两者相等时通知总线读取数据。
更进一步地,所述触发器包括:
前i级触发器,用于对目标寄存器中的数据进行i级缓存后将缓存的数据与原始数据进行比较,两者相等时将目标寄存器中的数据传递到后级触发器,并通知总线读取数据;
后级触发器,用于对接收到的目标寄存器中的数据存储后经总线接口传递至总线。
更进一步地,所述写寄存器电路包括:
地址译码器,与快速时钟域的总线接口连接,用于根据总线的地址线和写使能信号选择目标寄存器;
锁存器,与慢速时钟域的n个寄存器连接,用于对总线的写数据线锁存后向目标寄存器写入数据。
更进一步地,所述写寄存器电路还包括:
写使能信号产生电路,用于产生锁存器的写使能信号,所述写使能信号由总线的使能信号产生。
更进一步地,所述写使能信号产生电路,包括:
前级触发器,用于接入总线的使能信号,并将输出后信号与接入的信号相与产生脉冲信号,传递至后j级触发器;
后j级触发器,用于产生写使能信号,并通知总线写入数据。
更进一步地,所述使能信号产生电路,包括:
计数器,用于接入总线的使能信号,在计数值为k时产生写使能信号,计数值为2k-1时产生通知总线写入数据的信号并清零计数器。
本发明还提供一种跨时钟域的寄存器读写方法,应用于所述的跨时钟域的寄存器读写电路,所述方法包括:
在总线选中目标寄存器进行读操作时,多级缓存目标寄存器中的数据并将缓存的数据与原始数据比较,在两者相等时通知总线读取数据;
在总线选中目标寄存器进行写操作时,对总线的写数据线锁存后向目标寄存器写入数据。
更进一步地,所述在总线选中目标寄存器进行读操作时,多级缓存目标寄存器数据并将缓存的数据与原始数据比较,在两者相等时通知总线读取数据,具体包括:
根据总线控制信号从n个寄存器中选中目标寄存器,并将所述目标寄存器数据作为读数据线输出到触发器;
触发器对目标寄存器数据进行多级缓存后与原始数据进行比较,两者相等时通知总线读取数据。
更进一步地,所述触发器对目标寄存器数据进行多级缓存后与原始数据进行比较,两者相等时通知总线读取数据,具体包括:
前i级触发器对目标寄存器数据进行i级缓存后与原始数据进行比较,两者相等时将目标寄存器数据传递到后级触发器,并通知总线读取数据;
后级触发器对接收到的目标寄存器数据存储后经总线接口传递至总线。
本发明采用多级缓存目标寄存器数据并与原始数据比较的确认机制,以及采用锁存器结构进行写操作,可以有效避免异步信号的亚稳态风险,同时由于电路结构简单,无需握手反馈即实现快速时钟域的总线对慢速时钟域的n个寄存器的快速写入,也解决了时钟相差过大时寄存器读写效率低的问题;在两个时钟域间使用锁存器存储,不需要传输时钟信号,因此可以用于跨电压域的寄存器读写。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例一提供的总体电路框图;
图2为本发明实施例二至三提供的读寄存器电路图;
图3为本发明实施例三提供的读寄存器电路时序图;
图4为本发明实施例四提供的写寄存器电路图;
图5为本发明实施例五提供的写寄存器电路时序图;
图6为本发明实施例五提供的使能信号产生电路图;
图7为本发明实施例五提供的另一种写寄存器电路图;
图8为本发明实施例六提供的跨时钟域的寄存器读写方法流程图;
图9为本发明实施例六提供的步骤S1流程图;
图10为本发明实施例六提供的步骤S2流程图;
图11为本发明实施例六提供的步骤S12流程图;
图中:
SCLK为慢速时钟域
FCLK为快速时钟域
Mux为多路选择器
WriteEn为写使能信号
Addr为地址线
Rdata为读数据线
Wdata为写数据线
FF1、FF2、FFRD、FFWR均为触发器
L1、L2、Ln均为锁存器
Select、Write、Read、Enable、Ready、Fclk分别为总线相关控制信号
图1、2、4中加粗线为多比特数据,细线为单比特数据。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
实施例一
本发明实施例提供了一种跨时钟域的寄存器读写电路,如图1所示,包括:
读寄存器电路,连接在慢速时钟域的n个寄存器与快速时钟域的总线接口之间,用于在总线选中目标寄存器进行读操作时,多级缓存目标寄存器中的数据并将缓存的数据与原始数据比较,在两者相等时通知总线读取数据;以及
写寄存器电路,连接在慢速时钟域的寄存器与快速时钟域的总线接口之间,用于在总线选中目标寄存器进行写操作时,对总线的写数据线锁存后向目标寄存器写入数据。
上述总线所在的时钟域为微控制器总线的高速时钟FCLK驱动的时钟域(以下称高速时钟域FCLK),其总线速度可达48MHz;目标IP模块、寄存器RCT所在慢速时钟域SCLK为32KHz,且两者处于不同电压域,因此信号需要经过Level Shift,但这会导致系统长时间处于不确定状态,因而本实施例通过多次采样进行避免系统长时间处于不确定状态。
具体地,高速时钟域FCLK的系统总线可为AHB、APB、AXI等,系统总线的控制信号和地址经过总线接口转换为写使能信号WriteEn和地址线Addr,总线的读/写数据线分别经过读/写控制逻辑转为写数据线Wdata和读数据线Rdata。
本实施例中,采用多级缓存目标寄存器数据并与原始数据比较的确认机制,以及采用锁存结构进行写操作,可以有效避免异步信号的亚稳态风险,无需握手反馈即实现快速时钟域的总线对慢速时钟域的寄存器的快速写入,解决了时钟相差过大时寄存器读写效率低下的问题。
实施例二
本发明实施例提供一种跨时钟域的寄存器读写电路,如图2所示,在实施例一的基础上,其中的读寄存器电路包括:
多路选择器Mux,与寄存器1,寄存器2,……寄存器n连接,用于根据总线控制信号从n个寄存器中选中目标寄存器,并将目标寄存器数据作为读数据线Rdata输出到触发器;以及
触发器,连接在多路选择器Mux与快速时钟域的总线接口之间,用于对目标寄存器数据进行多级缓存后与将缓存的数据与原始数据进行比较,两者相等时通知总线读取数据。
具体地,慢速时钟域SCLK的n个寄存器数据经过由地址线Addr控制的多路选择器Mux之后输出为读数据线Rdata,当总线选中目标寄存器进行读操作时,即总线的控制信号Select和Read均为高电平,也即CE为高电平,此时跨过时钟域的多比特读数据线Rdata会产生不定值,行多级缓存后与原始数据进行比较,当两者相等时即认为数据已经稳定,通知总线读取数据。
实施例三
本发明实施例提供一种跨时钟域的寄存器读写电路,如图2所示,在实施例二的基础上,其中的触发器包括:
前i级触发器,用于对目标寄存器数据进行i级缓存后与原始数据进行比较,两者相等时将目标寄存器数据传递到后级触发器,并通知总线读取数据;
后级触发器,用于对接收到的目标寄存器数据存储后经总线接口传递至总线。
具体地,前i级触发器至少包含两级触发器,即i≥2,且各级触发器均为D触发器。
以i=2为例,FF1和FF2分别为前两级触发器,对目标寄存器数据即读数据线Rdata缓存两次后,再与原始读数据线Rdata进行比较,当两者相等时即认为数据已经稳定,此时向后级触发器FFRD传递稳定数值,同时产生Ready信号通知总线读取。
从图3所示的时序图可以看出,在不定值X的时间少于2个高速时钟域FCLK周期时,总线从外设的目标寄存器地址到读取到目标寄存器的数据只需要5个高速时钟域FCLK周期,并且针对不同电平转换(Level Shift)的不确定时间,若不定值X的时间更长时,可以通过改变图2中触发器(FF)的级数i,来增加采样读数据线Rdata的次数,从而增加有限个高速时钟域FCLK周期的采样延迟,达到消除未知态的目的。
实施例四
本发明实施例提供一种跨时钟域的寄存器读写电路,如图4所示,在实施例一的基础上,其中的写寄存器电路包括:
地址译码器,与快速时钟域的总线接口连接,用于根据总线的地址线Addr和写使能信号WriteEn选择目标寄存器;
锁存器L1~Ln,分别与n个寄存器连接,用于对总线的写数据线锁存后向目标寄存器写入数据。
具体地,在慢速时钟域SCLK的n个寄存器前分别插入了锁存器L1~Ln,写数据线Wdata接入了锁存器的输入端D,每个锁存器的使能端E由对应的地址和写使能信号WriteEn共同确定。
本实施例中,在两个时钟域间使用锁存器存储,不需要传输时钟信号,因此可以用于跨电压域的寄存器读写。在慢速时钟域SCLK中,写使能信号WriteEn和地址线Addr控制地址译码器选择对应的目标寄存器,写数据Wdata通过锁存器锁存并由目标寄存器读取,读数据Rdata直接来自目标寄存器的数据。
实施例五
本发明实施例提供一种跨时钟域的寄存器读写电路,在实施例四的基础上,其中的写寄存器电路还包括:
写使能信号产生电路,用于产生锁存器的写使能信号WriteEn,所述写使能信号由总线的使能信号Enable产生。
作为一种优选实施方式,使能信号产生电路,如图4所示,包括:
前级触发器FFWR,用于接入总线的使能信号Enable,并将输出后信号与接入的信号相与产生脉冲信号,传递至后两级触发器;
后级触发器,用于产生写使能信号WriteEn,并通知总线写入数据。
具体地,j为偶数,且j≥2,且各级触发器均为D触发器。
以j=2为例,FF3和FF4分别为后两级触发器,分别位于写使能信号WriteEn前后,在高速时钟域FCLK,写使能信号WriteEn由总线的使能信号Enable产生,具体是将使能信号Enable经过触发器FFWR之后在FFWR_Q端取反并与原信号Enable相与产生一个脉冲信号,该脉冲经过触发器FF3之后即为WriteEn,经过触发器FF4之后为总线的Ready信号。
从图5所示的时序可以看出,当总线向地址为0x01的寄存器写入数据时,Wdata经过电平转换(Level Shift)在跨越时钟域之后,在锁存器L1的L1_D端已经有未知态产生,为了保证数据准确,WriteEn只有在Wdata稳定以后才产生一个高电平脉冲,使锁存器L1锁存Wdata信号,在此之后,该有效数据即可被寄存器1正确读出。同样,不定值X的时间在2个快速时钟域FCLK周期内,总线从选中的目标寄存器到将数据写入到寄存器只需要5个快速时钟域FCLK时钟周期,写入速度明显优于现有技术。当不定值X的时间更长时,可以改变图4中触发器FF的级数j=4,如图6所示,写使能信号WriteEn前设置有触发器FF5和FF6,写使能信号WriteEn后设置有触发器FF7和FF8,以此类推。由于在图4基础上写使能信号WriteEn前后各增加了一级触发器(FF),可以保证写使能信号WriteEn时序产生在有效的Wdata中间,从而消除未知态。
作为另一种优选实施方式,使能信号产生电路,如图7所示,包括:
计数器,用于接入总线的使能信号Enable,在计数值为k(k≥2)时产生写使能信号WriteEn,计数值为2k-1时产生通知总线写入数据的信号并清零计数器。
具体地,图7中的使能信号产生电路,是将图4中触发器FFWR、FF1和FF2写使能信号脉冲产生电路替换为一个由计数器组成的电路,该电路在使能信号Enable下,在计数值为k时产生写使能信号WriteEn,计数至2k-1时产生ready信号并清零计数器。当k取2时,同样也可以实现图5所示的时序,从而实现相同功能。当不定值X的时间更长时,通过增加k的个数,延长稳定时间来消除未知态。
实施例六
本发明实施例提供一种跨时钟域的寄存器读写方法,应用于跨时钟域的寄存器读写电路,如图8所示,该方法包括:
步骤S1、在总线选中目标寄存器进行读操作时,多级缓存目标寄存器数据并将缓存的数据与原始数据比较,在两者相等时通知总线读取数据;
步骤S2、在总线选中目标寄存器进行写操作时,对总线的写数据线锁存后向目标寄存器写入数据。
其中的步骤S1,如图9所示,具体包括:
步骤S11、根据总线控制信号从n个寄存器中选中目标寄存器,并将所述目标寄存器数据作为读数据线Rdata输出到触发器;
步骤S12、触发器对目标寄存器数据进行多级缓存后,将缓存的数据与原始数据进行比较,两者相等时通知总线读取数据。
其中的步骤S2,如图10所示,具体包括:
步骤S21、地址译码器根据总线的地址线Addr和写使能信号WriteEn选择目标寄存器;
步骤S22、锁存器对总线的写数据线锁存后向目标寄存器写入数据。
进一步地,如图11所示,步骤S12具体包括:
步骤S121、前i级触发器对目标寄存器数据进行i级缓存后将缓存的数据与原始数据进行比较,两者相等时将目标寄存器数据传递到后级触发器,并通知总线读取数据;
步骤S122、后级触发器对接收到的目标寄存器数据存储后经总线接口传递至总线。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种跨时钟域的寄存器读写电路,其特征在于,包括:
读寄存器电路,连接在慢速时钟域的n个寄存器与快速时钟域的总线接口之间,用于在总线选中所述n个寄存器中的目标寄存器进行读操作时,多级缓存目标寄存器中的数据并将缓存的数据与原始数据比较,在两者相等时通知总线读取数据;以及
写寄存器电路,连接在慢速时钟域的寄存器与快速时钟域的总线接口之间,用于在总线选中目标寄存器进行写操作时,对总线的写数据线锁存后向目标寄存器写入数据。
2.根据权利要求1所述的跨时钟域的寄存器读写电路,其特征在于,所述读寄存器电路包括:
多路选择器,与慢速时钟域的n个寄存器连接,用于根据总线控制信号从n个寄存器中选中目标寄存器,并将所述目标寄存器数据作为读数据线输出到触发器;以及
触发器,连接在多路选择器与快速时钟域的总线接口之间,用于对目标寄存器中的数据进行多级缓存后将缓存的数据与原始数据进行比较,两者相等时通知总线读取数据。
3.根据权利要求2所述的跨时钟域的寄存器读写电路,其特征在于,所述触发器包括:
前i级触发器,用于对目标寄存器中的数据进行i级缓存后将缓存的数据与原始数据进行比较,两者相等时将目标寄存器中的数据传递到后级触发器,并通知总线读取数据;
后级触发器,用于对接收到的目标寄存器中的数据存储后经总线接口传递至总线。
4.根据权利要求1所述的跨时钟域的寄存器读写电路,其特征在于,所述写寄存器电路包括:
地址译码器,与快速时钟域的总线接口连接,用于根据总线的地址线和写使能信号选择目标寄存器;
锁存器,与慢速时钟域的n个寄存器连接,用于对总线的写数据线锁存后向目标寄存器写入数据。
5.根据权利要求4所述的跨时钟域的寄存器读写电路,其特征在于,所述写寄存器电路还包括:
写使能信号产生电路,用于产生锁存器的写使能信号,所述写使能信号由总线的使能信号产生。
6.根据权利要求5所述的跨时钟域的寄存器读写电路,其特征在于,所述写使能信号产生电路,包括:
前级触发器,用于接入总线的使能信号,并将输出后信号与接入的信号相与产生脉冲信号,传递至后两级触发器;
后j级触发器,用于产生写使能信号,并通知总线写入数据。
7.根据权利要求5所述的跨时钟域的寄存器读写电路,其特征在于,所述使能信号产生电路,包括:
计数器,用于接入总线的使能信号,在计数值为k时产生写使能信号,计数值为2k-1时产生通知总线写入数据的信号并清零计数器。
8.一种跨时钟域的寄存器读写方法,其特征在于,应用于权利要求1至7任一项所述的跨时钟域的寄存器读写电路,所述方法包括:
在总线选中目标寄存器进行读操作时,多级缓存目标寄存器中的数据并将缓存的数据与原始数据比较,在两者相等时通知总线读取数据;
在总线选中目标寄存器进行写操作时,对总线的写数据线锁存后向目标寄存器写入数据。
9.根据权利要求8所述的跨时钟域的寄存器读写方法,其特征在于,所述在总线选中目标寄存器进行读操作时,多级缓存目标寄存器数据并将缓存的数据与原始数据比较,在两者相等时通知总线读取数据,具体包括:
根据总线控制信号从n个寄存器中选中目标寄存器,并将所述目标寄存器数据作为读数据线输出到触发器;
触发器对目标寄存器数据进行多级缓存后与原始数据进行比较,两者相等时通知总线读取数据。
10.根据权利要求9所述的跨时钟域的寄存器读写方法,其特征在于,所述触发器对目标寄存器数据进行多级缓存后与原始数据进行比较,两者相等时通知总线读取数据,具体包括:
前i级触发器对目标寄存器数据进行i级缓存后与原始数据进行比较,两者相等时将目标寄存器数据传递到后级触发器,并通知总线读取数据;
后级触发器对接收到的目标寄存器数据存储后经总线接口传递至总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911019799.8A CN112712829B (zh) | 2019-10-24 | 2019-10-24 | 一种跨时钟域的寄存器读写电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911019799.8A CN112712829B (zh) | 2019-10-24 | 2019-10-24 | 一种跨时钟域的寄存器读写电路及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112712829A true CN112712829A (zh) | 2021-04-27 |
CN112712829B CN112712829B (zh) | 2024-07-02 |
Family
ID=75540885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911019799.8A Active CN112712829B (zh) | 2019-10-24 | 2019-10-24 | 一种跨时钟域的寄存器读写电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112712829B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756197A (zh) * | 2022-03-21 | 2022-07-15 | 成都登临科技有限公司 | 用于在不同时钟域的分块间实现异步fifo的系统及方法 |
CN115589372A (zh) * | 2022-01-25 | 2023-01-10 | 浙江理工大学 | 一种基于同频异相时钟的非驻留数据跨时钟域方法 |
CN116225151A (zh) * | 2023-05-10 | 2023-06-06 | 上海励驰半导体有限公司 | 一种基于时钟总线的数据处理系统和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030056135A1 (en) * | 2001-09-14 | 2003-03-20 | Splett Vincent E. | Method and apparatus for synchronization of clock domains |
CN1864130A (zh) * | 2003-08-26 | 2006-11-15 | 国际商业机器公司 | 用于降低功率的按需驱动时钟调节的处理器 |
CN101901202A (zh) * | 2010-07-29 | 2010-12-01 | 东莞市泰斗微电子科技有限公司 | 一种ahb总线设备跨时钟域访问apb总线设备的电路及方法 |
CN106603442A (zh) * | 2016-12-14 | 2017-04-26 | 东北大学 | 一种片上网络的跨时钟域高速数据通信接口电路 |
CN108241584A (zh) * | 2016-12-23 | 2018-07-03 | 德克萨斯仪器股份有限公司 | 用于同步在高速与低速时钟域之间的数据传送的集成电路、方法和接口电路 |
CN110346618A (zh) * | 2019-07-29 | 2019-10-18 | 天津大学 | 一种针对于多时钟域at-speed测试的OCC电路 |
-
2019
- 2019-10-24 CN CN201911019799.8A patent/CN112712829B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030056135A1 (en) * | 2001-09-14 | 2003-03-20 | Splett Vincent E. | Method and apparatus for synchronization of clock domains |
CN1864130A (zh) * | 2003-08-26 | 2006-11-15 | 国际商业机器公司 | 用于降低功率的按需驱动时钟调节的处理器 |
CN101901202A (zh) * | 2010-07-29 | 2010-12-01 | 东莞市泰斗微电子科技有限公司 | 一种ahb总线设备跨时钟域访问apb总线设备的电路及方法 |
CN106603442A (zh) * | 2016-12-14 | 2017-04-26 | 东北大学 | 一种片上网络的跨时钟域高速数据通信接口电路 |
CN108241584A (zh) * | 2016-12-23 | 2018-07-03 | 德克萨斯仪器股份有限公司 | 用于同步在高速与低速时钟域之间的数据传送的集成电路、方法和接口电路 |
CN110346618A (zh) * | 2019-07-29 | 2019-10-18 | 天津大学 | 一种针对于多时钟域at-speed测试的OCC电路 |
Non-Patent Citations (2)
Title |
---|
彭莉, 秦建业, 付宇卓: "异步FIFO的设计与验证", 计算机工程与应用, no. 03, pages 98 - 101 * |
肉娃娃: "FPGA基础学习(3) -- 跨时钟域处理方法", Retrieved from the Internet <URL:https://www.cnblogs.com/rouwawa/p/7501319.html> * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115589372A (zh) * | 2022-01-25 | 2023-01-10 | 浙江理工大学 | 一种基于同频异相时钟的非驻留数据跨时钟域方法 |
WO2023142444A1 (zh) * | 2022-01-25 | 2023-08-03 | 浙江理工大学 | 确定性现场总线网络数据转发二分频锁存缓冲电路及应用 |
CN114756197A (zh) * | 2022-03-21 | 2022-07-15 | 成都登临科技有限公司 | 用于在不同时钟域的分块间实现异步fifo的系统及方法 |
CN116225151A (zh) * | 2023-05-10 | 2023-06-06 | 上海励驰半导体有限公司 | 一种基于时钟总线的数据处理系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112712829B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367495B (zh) | 一种异步先入先出的数据缓存控制器 | |
CN112712829A (zh) | 一种跨时钟域的寄存器读写电路及方法 | |
US5539739A (en) | Asynchronous interface between parallel processor nodes | |
TW569087B (en) | Efficient clock start and stop apparatus for clock forwarded system I/O | |
CN113009961B (zh) | 一种跨时钟同步电路及SoC系统 | |
JP2002323995A (ja) | トレース回路 | |
US6208703B1 (en) | First-in-first-out synchronizer | |
CN108667628B (zh) | 一种接口转换装置和接口转换方法 | |
US6900665B2 (en) | Transfer of digital data across asynchronous clock domains | |
CN113342718A (zh) | 一种rtc的硬件架构及其读写控制方法 | |
US7392406B2 (en) | Circuit and method for generating clock signals for clocking digital signal processor and memory | |
CN209842447U (zh) | 一种跨时钟域信号同步电路 | |
CN115220528B (zh) | 时钟获得方法、装置、芯片、电子设备及存储介质 | |
US6715111B2 (en) | Method and apparatus for detecting strobe errors | |
JP3191302B2 (ja) | メモリ回路 | |
Huemer et al. | Timing domain crossing using Muller pipelines | |
US7529960B2 (en) | Apparatus, system and method for generating self-generated strobe signal for peripheral device | |
CN110618950A (zh) | 一种异步fifo读写控制电路及方法、可读存储介质及终端 | |
US10742216B1 (en) | Clock domain crossing for an interface between logic circuits | |
US7899955B2 (en) | Asynchronous data buffer | |
CN112036103B (zh) | 一种从快时钟域跨慢时钟域处理多比特数据的装置及方法 | |
TWI835417B (zh) | 電子裝置 | |
CN111324562B (zh) | 一种ahb总线跨时钟域的系统及工作方法 | |
CN114089946B (zh) | 一种fifo装置和数据处理系统 | |
JP3592169B2 (ja) | 非同期データ転送制御装置および非同期データ転送制御方法 |
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 |