CN112767977A - 读写窗口校准电路及方法、存储器、fpga芯片 - Google Patents
读写窗口校准电路及方法、存储器、fpga芯片 Download PDFInfo
- Publication number
- CN112767977A CN112767977A CN202011633790.9A CN202011633790A CN112767977A CN 112767977 A CN112767977 A CN 112767977A CN 202011633790 A CN202011633790 A CN 202011633790A CN 112767977 A CN112767977 A CN 112767977A
- Authority
- CN
- China
- Prior art keywords
- read
- window
- write
- circuit
- calibration
- 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
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/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- 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
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请实施例提供了一种读写窗口校准电路及方法、存储器、FPGA芯片,涉及集成电路技术领域,可以自动调节读窗口和写窗口,在读写窗口校准电路的工作频率满足预设频率的情况下,使读数据通过读窗口、写数据通过写窗口。该读写窗口校准电路包括:校准验证电路,在当前时钟周期内,验证读数据、写数据是否能通过读窗口写窗口;读写控制时序生成电路,当读数据不能通过读窗口时,增大读窗口,当写数据不能通过写窗口时,增大写窗口;校准验证电路,获取读写窗口校准电路的工作频率,当工作频率小于预设频率时,控制读写控制时序生成电路减小读窗口和/或所述写窗口,并在下一个时钟周期,重复验证读数据是否能通过读窗口、写数据是否能通过写窗口。
Description
技术领域
本申请涉及集成电路技术领域,尤其涉及一种读写窗口校准电路及方法、存储器、FPGA芯片。
背景技术
现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)包含大量的存储器,存储器的每个存储单元的读和写都是在单个时钟周期内完成的。
随着FPGA芯片的规模达到千万门级以后,工艺漂移和制造缺陷风险也越来越高,经常出现存储单元的读/写窗口与读/写数据失配的问题,从而导致读、写功能失效,影响整颗FPGA芯片的功能实现。
发明内容
本申请实施例提供了一种读写窗口校准电路及方法、存储器、FPGA芯片,以解决上述问题。
第一方面,提供一种读写窗口校准电路,包括校准验证电路和读写控制时序生成电路。校准验证电路,被配置为在当前时钟周期内,验证读数据是否能通过读窗口、写数据是否能通过写窗口。读写控制时序生成电路,被配置为当读数据不能通过读窗口时,增大读窗口。读写控制时序生成电路,还被配置为当写数据不能通过写窗口时,增大写窗口。校准验证电路,还被配置为获取读写窗口校准电路的工作频率,当工作频率小于预设频率时,控制读写控制时序生成电路减小读窗口和/或所述写窗口,并在下一个时钟周期,重复验证读数据是否能通过读窗口、写数据是否能通过写窗口。
第二方面,提供一种存储器,包括多个存储单元以及第一方面所述的读写窗口校准电路,读写窗口校准电路用于校准存储单元的读窗口以及写窗口。
第三方面,提供一种FPGA芯片,包括第二方面所述的存储器。
第四方面,提供一种读写窗口校准方法,包括:校准验证电路在当前时钟周期内,验证读数据是否能通过读窗口、写数据是否能通过写窗口;当读数据不能通过所述读窗口时,读写控制时序生成电路增大读窗口;当写数据不能通过写窗口时,读写控制时序生成电路增大写窗口;校准验证电路获取读写窗口校准电路的工作频率,当工作频率小于预设频率时,控制读写控制时序生成电路减小读窗口和/或写窗口,并在下一个时钟周期,重复验证读数据是否能通过读窗口、写数据是否能通过写窗口。
本申请实施例提供的读写窗口校准电路及方法、存储器、FPGA芯片中,读写窗口校准电路包括校准验证电路和读写控制时序生成电路。利用校准验证电路验证读数据是否可以通过读窗口、写数据是否可以通过写窗口;当读数据不能通过读窗口时,可以增大读窗口,使读数据尽可能多地通过读窗口,当写数据不能通过写窗口时,可以增大写窗口,使写数据尽可能多地通过写窗口;之后,由于增大读窗口和/或写窗口,导致读写窗口校准电路的工作频率减小,若工作频率小于预设频率,可以适当减小读窗口和/或写窗口,使得读数据可以通过读窗口、写数据可以通过写窗口,且工作频率满足预设频率,从而使得读写窗口校准电路可以在正常工作频率下,读写数据。上述过程可以由读写窗口校准电路自动完成,方便且可靠,可以提高用户体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的读写窗口校准电路的电路连接关系图;
图2为本申请实施例提供的读写窗口校准电路的工作过程图;
图3为本申请实施例提供的读写窗口校准电路的工作过程图;
图4为本申请实施例提供的读写窗口校准电路的工作过程图;
图5为本申请实施例提供的读写窗口校准电路的工作过程图;
图6为本申请实施例提供的读写窗口校准电路的工作过程图;
图7为本申请实施例提供的存储器各模块的关系图;
图8为本申请实施例提供的FPGA芯片各模块的关系图;
图9为本申请实施例提供的读写窗口校准方法的流程示意图。
附图标记:
10000-FPGA芯片;1000-存储器;100-读写窗口校准电路;10-校准验证电路;20-读写控制时序生成电路;30-状态寄存器;40-环境监测电路;50-读写窗口配置调整电路;60-配置存储器;200-存储单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
如图1所示,本申请实施例提供一种读写窗口校准电路100,包括校准验证电路10和读写控制时序生成电路20。
校准验证电路10,被配置为在当前时钟周期内,验证读数据是否能通过读窗口、写数据是否能通过写窗口。读写控制时序生成电路20,被配置为当读数据不能通过读窗口时,增大读窗口,当写数据不能通过写窗口时,增大写窗口。校准验证电路10,还被配置为获取读写窗口校准电路100的工作频率,当工作频率小于预设频率时,控制读写控制时序生成电路减小读窗口和/或写窗口,并在下一个时钟周期,重复验证读数据是否能通过读窗口、写数据是否能通过写窗口。
在此基础上,读写窗口校准电路100还可以包括状态寄存器30,状态寄存器30用于存储校准验证电路10验证的结果。
具体的,如图1和图2所示,在配置编程完成后,读写控制时序生成电路20可以向校准验证电路10发送Verify_en信号,当Verify_en信号为高电平时,在Verify_en信号的作用下,校准验证电路10开始验证读数据是否能通过读窗口、写数据是否能通过写窗口。
当读数据不能通过读窗口时,说明读窗口过小,导致读数据不能完全通过读窗口,校准验证电路10可以向读写控制时序生成电路20发送Adjust_en信号和Adjust_rd信号,当Adjust_en信号和Adjust_rd信号为高电平时,读写控制时序生成电路20接收到Adjust_en信号时,准备工作,读写控制时序生成电路20接收到Adjust_rd信号时,开始调节读窗口的时序,增大读窗口。
当写数据不能通过读窗口时,说明写窗口过小,导致写数据不能完全通过写窗口,校准验证电路10可以向读写控制时序生成电路20发送Adjust_en信号和Adjust_wr信号,当Adjust_en信号和Adjust_wr信号为高电平时,读写控制时序生成电路20接收到Adjust_en信号时,准备工作,读写控制时序生成电路20接收到Adjust_wr信号时,开始调节写窗口的时序,增大写窗口。
在增大读窗口和/或写窗口后,读窗口和/或写窗口所占的时间变长,导致读写窗口校准电路100的工作频率降低,当工作频率小于预设频率时,校准验证电路10接收到Freq_overflow信号,在Freq_overflow信号为高电平时,校准验证电路10可以控制读写控制时序生成电路20减小读窗口和/或写窗口,并在下一个时钟周期,重复验证读数据是否能通过读窗口、写数据是否能通过写窗口。若读数据能通过读窗口、且写数据能通过写窗口,则如图3所示,输出校准成功,并停止验证,校准验证电路10向状态寄存器30发送Verify_successed信号,状态寄存器30将验证成功的状态存储起来;若读数据不能通过读窗口,和/或,写数据不能通过写窗口,则按照图1所示的流程,继续增大读窗口和/或写窗口。当校准成功时,Verify_en信号从高电平变为低电平。
上述过程中,校准验证电路10和读写控制时序生成电路20均在高电平的信号下开始工作,这与校准验证电路10和读写控制时序生成电路20的自身特性有关,当然,也可以更改校准验证电路10和读写控制时序生成电路20的特性,使校准验证电路10和读写控制时序生成电路20在接收到低电平的信号时工作,本申请实施例对此不作特殊限定,下文同样适用。
在一些实施例中,当工作频率小于预设频率时,校准验证电路10可以控制读写控制时序生成电路20减小读窗口和/或写窗口,包括:
在读数据不能通过读窗口时,读写控制时序生成电路20增大读窗口的情况下,若工作频率小于预设频率,则校准验证电路10可以控制读写控制时序生成电路20减小读窗口。其中,增大的读窗口的宽度(读窗口时长增大),大于减小的读窗口的宽度。
在读数据不能通过读窗口时,读写控制时序生成电路20增大读窗口的情况下,若工作频率小于预设频率,则校准验证电路10可以控制读写控制时序生成电路20减小写窗口。由于再当前时钟周期,写数据可以通过写窗口,而读数据不能通过读窗口,因此,在因增大读窗口而导致工作频率小于预设频率时,可以减小写窗口,降低增大读窗口后,读数据还是不能通过读窗口的几率。
在读数据不能通过读窗口时,读写控制时序生成电路20增大读窗口的情况下,若工作频率小于预设频率,则校准验证电路10可以控制读写控制时序生成电路20减小读窗口和写窗口。其中,增大的读窗口的宽度,大于减小的读窗口的宽度。
在写数据不能通过写窗口时,读写控制时序生成电路20增大写窗口的情况下,若工作频率小于预设频率,则校准验证电路10可以控制读写控制时序生成电路20减小写窗口。其中,增大的写窗口的宽度(写窗口时长增大),大于减小的写窗口的宽度。
在写数据不能通过写窗口时,读写控制时序生成电路20增大写窗口的情况下,若工作频率小于预设频率,则校准验证电路10可以控制读写控制时序生成电路20减小读窗口。由于再当前时钟周期,读数据可以通过读窗口,而写数据不能通过写窗口,因此,在因增大写窗口而导致工作频率小于预设频率时,可以减小读窗口,降低增大写窗口后,读数据还是不能通过写窗口的几率。
在写数据不能通过写窗口时,读写控制时序生成电路20增大写窗口的情况下,若工作频率小于预设频率,则校准验证电路10可以控制读写控制时序生成电路20减小读窗口和写窗口。其中,增大的写窗口的宽度,大于减小的写窗口的宽度。
在一些实施例中,可以预先存储读窗口和写窗口的调节档位,每个档位对应增大或减小一定宽度。
示例的,假设调节档位以3位的二进制进行编码,读窗口的调节档位用RD_Pn表示,写窗口的调节档位用WR_Pn表示,WR_P0和RD_P0为000,WR_P1和RD_P1为001,WR_P2和RD_P2为010,WR_P3和RD_P3为011,WR_P4和RD_P4为100,WR_P5和RD_P5为101,WR_P6和RD_P6为110,WR_P7和RD_P7为111。读窗口的调节档位和写窗口的调节档位对应的工作频率(单位MHz)可以如下表:
WR_P0 | WR_P1 | WR_P2 | WR_P3 | WR_P4 | WR_P5 | WR_P6 | WR_P7 | |
RD_P0 | 600 | 550 | 500 | 450 | 400 | 350 | 320 | 300 |
RD_P1 | 550 | 500 | 450 | 400 | 360 | 320 | 300 | 280 |
RD_P2 | 500 | 450 | 400 | 360 | 330 | 300 | 280 | 260 |
RD_P3 | 450 | 400 | 360 | 330 | 300 | 280 | 260 | 240 |
RD_P4 | 400 | 360 | 330 | 300 | 280 | 260 | 240 | 230 |
RD_P5 | 350 | 330 | 300 | 280 | 260 | 240 | 230 | 220 |
RD_P6 | 320 | 300 | 280 | 260 | 240 | 230 | 220 | 210 |
RD_P7 | 300 | 280 | 260 | 240 | 230 | 220 | 210 | 200 |
读写控制时序生成电路20在调节读窗口或写窗口时,每次可以增大或减小一个或多个调节档位。当然,调节读窗口和写窗口的调节档位也可以以其他位二进制进行编码,也可以将调节档位划分成更多档位或更少档位,本申请对此不作特殊限定。
在一些实施例中,为了防止工作频率过小,不能满足正常工作需求,在增大读窗口和/或写窗口时,一次可以仅调节一个档位。例如,读窗口在当前时钟周期对应的初始档位是RD_P4,在增大读窗口时,可以先将读窗口调节为RD_P5对应的时序,若读窗口为RD_P5时,读数据仍不能通过读窗口,则再将读窗口调节为RD_P6。
在一些实施例中,前述方案包括:先增大读窗口,之后,因工作频率小于预设频率,减小读窗口;或者,先增大写窗口,之后,因工作频率小于预设频率,减小写窗口。在此情况下,增大读窗口或写窗口时调节的档位个数,多于减小读窗口或写窗口时调节的档位个数。
示例的,读窗口在当前时钟周期对应的初始档位是RD_P0,在增大读窗口时,可以先将读窗口调节为RD_P2;之后,减小读窗口时,可以将读窗口从RD_P2调节到RD_P1。
在一些实施例中,预设频率可以是用户根据需要设置的读写窗口校准电路100的频率。当读写窗口校准电路100应用于FPGA芯片时,预设频率也可以是用户根据需要设置的FPGA芯片的频率。
在一些实施例中,读写控制时序生成电路20在增大读窗口、或增大写窗口、或减小读窗口、或减小写窗口时,实际是对读窗口或写窗口的时序进行更改。
在一些实施例中,读写窗口校准电路100可以对读窗口和写窗口进行一次或多次校准,直至校准成功或者校准出错。
在一些实施例中,在第一次对读窗口和写窗口校准之前,初始读窗口的调节档位可以是非最小档位,即,非RD_P0,初始写窗口的调节档位可以是非最小档位,即,非WR_P0。
示例的,初始读窗口的调节档位和初始写窗口的调节档位可以是最大调节档位。若初始读窗口和初始写窗口的调节档位为最大档位时,读数据仍不能通过读窗口,和/或,写数据仍不能通过写窗口,则输出校准出错。
在一些实施例中,读数据不能通过读窗口,是指:读数据全部不能读窗口,或者,读数据部分不能通过读窗口。
写数据不能通过写窗口,是指:写数据全部不能写窗口,或者,写数据部分不能通过写窗口。
本申请实施例提供一种读写窗口校准电路100,读写窗口校准电路100包括校准验证电路10和读写控制时序生成电路20。利用校准验证电路10验证读数据是否可以通过读窗口、写数据是否可以通过写窗口;当读数据不能通过读窗口时,可以增大读窗口,使读数据尽可能多地通过读窗口,当写数据不能通过写窗口时,可以增大写窗口,使写数据尽可能多地通过写窗口;之后,由于增大读窗口和/或写窗口,导致读写窗口校准电路100的工作频率减小,若工作频率小于预设频率,可以适当减小读窗口和/或写窗口,使得读数据可以通过读窗口、写数据可以通过写窗口,且工作频率满足预设频率,从而使得读写窗口校准电路100可以在正常工作频率下,读写数据。上述过程可以由读写窗口校准电路100自动完成,方便且可靠,可以提高用户体验。
可选的,如图2所示,校准验证电路10,还被配置为当工作频率大于或等于预设频率时,在下一时钟周期,重复验证读数据是否能通过读窗口、写数据是否能通过写窗口。
即,由于增大了读窗口和/或写窗口,但尚不确定增大读窗口和/或写窗口后,读数据是否可以通过读窗口、写数据是否可以通过写窗口,因此,即使读写窗口校准电路100的工作频率满足预设频率,也可以再次验证读数据是否能通过读窗口、写数据是否能通过写窗口。
可选的,如图4所示,校准验证电路10,还被配置为当在当前时钟周期内,验证读数据不能通过读窗口时,确定在当前时钟周期之前的时钟周期,读写控制时序生成电路20是否减小读窗口。
校准验证电路10,还被配置为在当前时钟周期之前的时钟周期,若读写控制时序生成电路20未减小读窗口,则控制读写控制时序生成电路20增大读窗口。
校准验证电路10,还被配置为在当前时钟周期之前的时钟周期,若读写控制时序生成电路20已减小读窗口,则输出校准出错。
具体的,若在当前时钟周期之前的时钟周期,读写控制时序生成电路20未减小读窗口,说明在当前时钟周期之前的时钟周期,工作频率满足预设频率,在此情况下,若读数据不能通过读窗口,则可以通过增大读窗口,使读数据通过读窗口。否则,在当前时钟周期之前的时钟周期,可能因工作频率小于预设频率,减小过读窗口,在此情况下,即使增大读窗口,也可能因读窗口增大,导致工作频率再次小于预设频率,因此,无需增大读窗口,直接输出校准出错,简化逻辑步骤。
可选的,校准验证电路10,还被配置为当在当前时钟周期内,验证写数据不能通过写窗口时,确定在当前时钟周期之前的时钟周期,读写控制时序生成电路20是否减小写窗口。
校准验证电路10,还被配置为在当前时钟周期之前的时钟周期,若读写控制时序生成电路20未减小写窗口,则控制读写控制时序生成电路20增大写窗口。
校准验证电路10,还被配置为在当前时钟周期之前的时钟周期,若读写控制时序生成电路已减小写窗口,则输出校准出错。具体的,若在当前时钟周期之前的时钟周期,读写控制时序生成电路20未减小读窗口,说明在当前时钟周期之前的时钟周期,工作频率满足预设频率,在此情况下,若写数据不能通过写窗口,则可以通过增大写窗口,使写数据通过写窗口。否则,在当前时钟周期之前的时钟周期,可能因工作频率小于预设频率,减小过写窗口,在此情况下,即使增大写窗口,也可能因写窗口增大,导致工作频率再次小于预设频率,因此,无需增大写窗口,直接输出校准出错,简化逻辑步骤。
本申请实施例中,在验证读数据不能通过读窗口、写数据不能通过写窗口时,可以先确定在当前时钟周期之前的时钟周期,是否减小过读窗口或写窗口,若未减小过读窗口或写窗口,说明工作频率满足预设频率,可以增大读窗口或写窗口,使得读数据或写数据通过;若减小过读窗口或写窗口,说明在当前时钟周期之前的时钟周期,因工作频率小于预设频率减小过读窗口或写窗口,在此情况下,即使增大写窗口,也可能因读窗口或写窗口增大,导致工作频率再次小于预设频率,因此,无需增大读窗口或写窗口,直接输出校准出错,简化逻辑步骤。
可选的,如图5所示,校准验证电路10,还被配置为当工作频率小于预设频率时,确定在当前时钟周期之前的时钟周期,读写控制时序生成电路20是否增大读窗口和写窗口。
校准验证电路10,还被配置为在当前时钟周期之前的时钟周期,若读窗口和写窗口未均增大,则确定是否可以减小读窗口和/或写窗口。
校准验证电路10,还被配置为在可以减小读窗口和/或写窗口时,控制读写控制时序生成电路减小读窗口和/或写窗口。
校准验证电路10,还被配置为在当前时钟周期之前的时钟周期,若读写控制时序生成电路已增大读窗口和写窗口,则输出校准出错。
具体的,当工作频率小于预设频率时,校准验证电路10接收Freq_overflow信号,且Freq_overflow信号为高电平,校准验证电路10确定在当前时钟周期之前的时钟周期,读窗口和写窗口是否均增大。
若在当前时钟周期之前的时钟周期,读窗口和写窗口均增大,则说明在之前的时钟周期,因读数据不能通过读窗口,且写数据不能通过写窗口,分别增大过读窗口和写窗口,在此情况下,若在当前时钟周期再减小读窗口和/或写窗口,又可能导致读数据不能通过读窗口,和/或,写数据不能通过写窗口,因此,直接输出校准出错,不再减小读窗口和/或写窗口。
若在当前时钟周期之前的时钟周期,读窗口和写窗口并未都均增大,则说明在当前时钟周期,至少可以通过减小读窗口或写窗口,来增大工作频率,因此,校准验证电路10可以确定是否可以减小读窗口和/或写窗口,若可以减小读窗口和/或写窗口,则校准验证电路10控制读写控制时序生成电路20减小读窗口和/或写窗口;若不能减小读窗口和写窗口,则输出校准出错。
在一些实施例中,在当前时钟周期之前的时钟周期,读窗口和写窗口未均增大,包括:在当前时钟周期之前的时钟周期,读窗口增大,但写窗口未增大;或者,在当前时钟周期之前的时钟周期,写窗口增大,但读窗口未增大;或者,在当前时钟周期之前的时钟周期,读窗口和写窗口均未增大。
本申请实施例中,在确定工作频率小于预设频率时,还可以先确定在当前时钟周期之前的时钟周期,读窗口和写窗口是否都增大过,若读窗口和写窗口都增大过,则可以直接输出校准出错,简化逻辑步骤;若读窗口和写窗口并没有都增大过,可以确定是否可以进一步减小读窗口和/或写窗口,如果可以,则减小读窗口和/或写窗口,否则,输出校准出错,简化逻辑步骤。
可选的,如图1和图6所示,读写窗口校准电路100还包括环境监测电路40。环境监测电路40,被配置为获取环境监测信号,并在环境监测信号不满足预设信号时,将环境监测信号发送至校准验证电路10。校准验证电路10,还被配置为接收环境监测信号,并在新的时钟周期验证读数据是否能通过读窗口、写数据是否能通过写窗口。
在一些实施例中,环境监测信号可以是读写窗口校准电路100当前工作环境的温度、电压等,预设信号可以是对应的预设温度和预设电压。
当当前工作环境的温度不满足预设温度,和/或,当前工作环境的电压不满足预设电压时,都可以将环境监测信号发送至校准验证电路10,利用校准验证电路10验证读数据是否能通过读窗口、写数据是否能通过写窗口,进而对读窗口或写窗口进行调节。
此处,预设温度可以具有一定的预设温度范围,当前工作环境的温度不满足预设温度,包括:当前工作环境的温度大于预设温度范围的上限,或者,当前工作环境的温度小于预设温度范围的下限。
预设电压可以具有一定的预设电压范围,当前工作环境的电压不满足预设电压,包括:当前工作环境的电压大于预设电压范围的上限,或者,当前工作环境的电压小于预设电压范围的下限。
在一些实施例中,环境监测信号不满足预设信号,还可以是当前工作环境温度与前一次测得的环境温度的差值超出预设信号,或者,当前工作环境电压与前一次测得的环境电压的差值超出预设信号。
在此情况下,环境监测电路40可以包括温度检测电路、电压检测电路、以及比较器,温度检测电路用于检测当前工作环境的温度,电压检测电路用于检测当前环境的电压,比较器用于对当前工作环境的温度与前一次测得的环境温度进行比较,若二者的差值大于预设信号,则环境监测信号不满足预设信号,或者,比较器用于对当前工作环境的电压与前一次测得的环境电压进行比较,若二者的差值大于预设信号,则环境监测信号不满足预设信号。
本申请实施例中,读写窗口校准电路100当前工作环境的温度、电压等因素发生变化时,也可能影响读窗口和写窗口的时序,或者影响读数据或写数据的传输,因此,在环境监测信号不满足预设信号时,可以将环境监测信号发送至校准验证电路10,利用校准验证电路10验证读数据是否能通过读窗口、写数据是否能通过写窗口,进而对读窗口或写窗口进行调节。
可选的,如图1所示,读写窗口校准电路还包括用户校准电路。用户校准电路,被配置为将用户校准信号发送至读写控制时序生成电路20。读写控制时序生成电路20,还被配置为接收用户校准信号,并根据用户校准信号调节读窗口和/或写窗口。
具体的,前述实施例描述了读写窗口校准电路100自动调节读窗口和写窗口的实施例,而在本申请实施例中,用户还可以手动调节读窗口和写窗口。用户可以触发用户校准电路,以向读写控制时序生成电路20发送用户校准信号User_adjust_en和User_adjust_wrrd,当用户校准信号User_adjust_en和User_adjust_wrrd为高电平时,读写控制时序生成电路20开始工作,并根据User_adjust_wrrd调节读窗口和/或写窗口。
其中,用户校准信号User_adjust_wrrd包括增大读窗口、增大写窗口、减小读窗口、减小写窗口。
在一些实施例中,当用户通过用户校准电路向读写控制时序生成电路20发送用户校准信号的同时,校准验证电路10也控制读写控制时序生成电路20调节读窗口和/或写窗口,则读写控制时序生成电路20根据用户校准电路发送的用户校准信号调节读窗口和/或写窗口,或者,读写控制时序生成电路20根据校准验证电路10发送的Adjust_en信号、djust_rd信号、以及Adjust_wr信号调节读窗口和/或写窗口。
本申请实施例中,用户还可以根据意愿,手动调节读窗口和/或写窗口。
可选的,如图1所示,读写窗口校准电路100还包括读写窗口配置调整电路50以及配置存储器60。
读写窗口配置调整电路50,被配置为当读数据不能通过所述读窗口,和/或,写数据不能通过写窗口时,接收校准验证电路10发送的调整信号,并根据调整信号调用调整信息,将调整信息发送至配置存储器60。
配置存储器60,被配置为接收调整信息,并调用与调整信息对应的配置信息,并将配置信息发送至读写控制时序生成电路20。
读写控制时序生成电路20,还被配置为根据配置信息调节读窗口和/或写窗口。
具体的,当读数据不能通过所述读窗口,和/或,写数据不能通过写窗口时,校准验证电路10向读写窗口配置调整电路50发送调整信号Adjust_en,当调整信号Adjust_en为高电平时,读写窗口配置调整电路50工作并调用调整信息,之后将调整信息发送至配置存储器60;配置存储器60接收到调整信息后,调用与调整信息对应的配置信息,并将配置信息发送至读写控制时序生成电路20,读写控制时序生成电路20根据配置信息调解读窗口和/或写窗口的时序,以调节读窗口和/或写窗口。
在一些实施例中,调整信息可以是读窗口和写窗口的调节档位,例如,读窗口的初始调整信息对应的调节档位为RD_P0,读写窗口配置调整电路50接收到调整信号Adjust_en后,确定调整后的调整信息对应的调节档位为RD_P1。
配置信息可以是与调整信息对应的、用于调节读窗口和写窗口的时序的信息。
其中,调整信息可以预先存储在读写窗口配置调整电路50中,配置信息可以预先存储在配置存储器60中。
本申请实施例中,在确定读数据不能通过所述读窗口,和/或,写数据不能通过写窗口时,可以从读写窗口配置调整电路50中调用调整信息,从配置存储器60中调用配置信息,进而利用读写控制时序生成电路20根据配置信息调解读窗口和/或写窗口的时序。
如图7所示,本申请实施例还提供一种存储器1000,存储器1000包括多个存储单元200以及前述任一实施例所述的读写窗口校准电路100,读写窗口校准电路100用于校准存储单元200的读窗口以及写窗口。
在一些实施例中,存储单元200可以与读写窗口校准电路100一一对应,一个读写窗口校准电路100用于校准一个储单元的读窗口以及写窗口。
在一些实施例中,如图1所示,存储单元200可以包括读控制电路、写控制电路、以及存储阵列。
在读控制电路与存储阵列之间的字线为高电平时,读控制电路与存储阵列导通,读控制电路通过位线将读数据存储到存储阵列中;当写控制电路与存储阵列之间的字线为高电平时,写控制电路与存储阵列导通,写控制电路通过位线将写数据存储到存储阵列中。
在存储阵列与校准验证电路10之间的字线为高电平时,存储阵列通过存储阵列与校准验证电路10之间的位线将存储的读数据和写数据发送至校准验证电路10,供校准验证电路10验证读数据是否可以通过读窗口、写数据是否可以通过写窗口。
在一些实施例中,存储器可以是静态随机存取存储器(Static Random-AccessMemory,SRAM),SRAM的多个存储单元200为可编程块存储(Block RAM,简称BRAM)。
本申请实施例提供一种存储器1000,关于其他解释说明以及有益效果,可以参考前述实施例,在此不再赘述。
如图8所示,本申请实施例还可提供一种FPGA芯片10000,包括前述任一实施例所述的存储器1000。
在此基础上,FPGA芯片10000还可以包括逻辑电路2000。逻辑电路200可以将数据存储在存储器1000中,还可以从存储器1000中调取数据。
本申请实施例提供一种FPGA芯片10000,关于其他解释说明以及有益效果,可以参考前述实施例,在此不再赘述。
如图9所示,本申请实施例提供一种读写窗口校准方法,包括:
S110、校准验证电路10在当前时钟周期内,验证读数据是否能通过读窗口、写数据是否能通过写窗口。
S120、当读数据不能通过读窗口时,读写控制时序生成电路20增大读窗口。
S130、当写数据不能通过写窗口时,读写控制时序生成电路20增大写窗口。
S140、校准验证电路10获取读写窗口校准电路的工作频率,当工作频率小于预设频率时,控制读写控制时序生成电路20减小读窗口和/或写窗口,并在下一个时钟周期,重复验证读数据是否能通过读窗口、写数据是否能通过写窗口。
在此基础上,在步骤S120的情况下,步骤S140可以包括当工作频率小于预设频率时,控制读写控制时序生成电路20减小写窗口。
在步骤S130的情况下,步骤S140可以包括当工作频率小于预设频率时,控制读写控制时序生成电路20减小读窗口。
当所述工作频率大于或等于所述预设频率时,在步骤S120和步骤S130之后,读写窗口校准方法还可以包括:在下一时钟周期,重复验证读数据是否能通过读窗口、写数据是否能通过写窗口。
在当前时钟周期内,验证所述读数据不能通过所述读窗口时,在步骤S110之后、步骤S120和步骤S130之前,读写窗口校准方法还可以包括:确定在当前时钟周期之前的时钟周期,读写控制时序生成电路20是否减小读窗口;在当前时钟周期之前的时钟周期,若读写控制时序生成电路20未减小读窗口,则控制读写控制时序生成电路20增大读窗口;在当前时钟周期之前的时钟周期,若读写控制时序生成电路20已减小读窗口,则输出校准出错。
在当前时钟周期内,验证所述写数据不能通过所述写窗口时,在步骤S110之后、步骤S120和步骤S130之前,读写窗口校准方法还可以包括:确定在当前时钟周期之前的时钟周期,读写控制时序生成电路20是否减小写窗口;在当前时钟周期之前的时钟周期,若读写控制时序生成电路20未减小写窗口,则控制读写控制时序生成电路20增大写窗口;在当前时钟周期之前的时钟周期,若读写控制时序生成电路20已减小写窗口,则输出校准出错。
当所述工作频率小于预设频率时,在步骤S120和步骤S130之后、步骤S140之前,读写窗口校准方法还可以包括:确定在当前时钟周期之前的时钟周期,读写控制时序生成电路20是否增大读窗口和写窗口;在当前时钟周期之前的时钟周期,若读窗口和写窗口未均增大,则确定是否可以减小所述读窗口和/或写窗口;在可以减小所述读窗口和/或所述写窗口时,控制读写控制时序生成电路20减小读窗口和/或写;在当前时钟周期之前的时钟周期,若读写控制时序生成电路20已增大读窗口和所述写窗口,则输出校准出错。
在步骤S110之后、步骤S120和步骤S130之前,当读数据能通过读窗口、且写数据能通过写窗口,输出校准成功。
对于本申请实施例的其他解释说明以及有益效果,可以参考前述实施例,在此不再赘述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种读写窗口校准电路,其特征在于,包括:
校准验证电路,被配置为在当前时钟周期内,验证读数据是否能通过读窗口、写数据是否能通过写窗口;
读写控制时序生成电路,被配置为当所述读数据不能通过所述读窗口时,增大所述读窗口;
所述读写控制时序生成电路,还被配置为当写数据不能通过所述写窗口时,增大所述写窗口;
所述校准验证电路,还被配置为获取所述读写窗口校准电路的工作频率,当所述工作频率小于预设频率时,控制所述读写控制时序生成电路减小所述读窗口和/或所述写窗口,并在下一个时钟周期,重复验证所述读数据是否能通过所述读窗口、所述写数据是否能通过所述写窗口。
2.根据权利要求1所述的读写窗口校准电路,其特征在于,在所述读写控制时序生成电路,被配置为在所述读数据不能通过所述读窗口时,增大所述读窗口的情况下,所述校准验证电路,还被配置为当所述工作频率小于预设频率时,控制所述读写控制时序生成电路减小写窗口。
3.根据权利要求1所述的读写窗口校准电路,其特征在于,在所述读写控制时序生成电路,被配置为在所述读数据不能通过所述写窗口时,增大所述写窗口的情况下,所述校准验证电路,还被配置为当所述工作频率小于预设频率时,控制所述读写控制时序生成电路减小读窗口。
4.根据权利要求1所述的读写窗口校准电路,其特征在于,
所述校准验证电路,还被配置为当所述工作频率大于或等于所述预设频率时,在下一时钟周期,重复验证读数据是否能通过读窗口、写数据是否能通过写窗口。
5.根据权利要求1所述的读写窗口校准电路,其特征在于,
所述校准验证电路,还被配置为当在当前时钟周期内,验证所述读数据不能通过所述读窗口时,确定在当前时钟周期之前的时钟周期,所述读写控制时序生成电路是否减小所述读窗口;
所述校准验证电路,还被配置为在当前时钟周期之前的时钟周期,若所述读写控制时序生成电路未减小所述读窗口,则控制所述读写控制时序生成电路增大所述读窗口;
所述校准验证电路,还被配置为在当前时钟周期之前的时钟周期,若所述读写控制时序生成电路已减小所述读窗口,则输出校准出错。
6.根据权利要求1所述的读写窗口校准电路,其特征在于,
所述校准验证电路,还被配置为当在当前时钟周期内,验证所述写数据不能通过所述写窗口时,确定在当前时钟周期之前的时钟周期,所述读写控制时序生成电路是否减小所述写窗口;
所述校准验证电路,还被配置为在当前时钟周期之前的时钟周期,若所述读写控制时序生成电路未减小所述写窗口,则控制所述读写控制时序生成电路增大所述写窗口;
所述校准验证电路,还被配置为在当前时钟周期之前的时钟周期,若所述读写控制时序生成电路已减小所述写窗口,则输出校准出错。
7.根据权利要求1所述的读写窗口校准电路,其特征在于,
所述校准验证电路,还被配置为当所述工作频率小于预设频率时,确定在当前时钟周期之前的时钟周期,所述读写控制时序生成电路是否增大所述读窗口和所述写窗口;
所述校准验证电路,还被配置为在当前时钟周期之前的时钟周期,若所述读窗口和所述写窗口未均增大,则确定是否可以减小所述读窗口和/或所述写窗口;
所述校准验证电路,还被配置为在可以减小所述读窗口和/或所述写窗口时,控制所述读写控制时序生成电路减小所述读窗口和/或写;
所述校准验证电路,还被配置为在当前时钟周期之前的时钟周期,若所述读写控制时序生成电路已增大所述读窗口和所述写窗口,则输出校准出错。
8.根据权利要求1所述的读写窗口校准电路,其特征在于,
所述校准验证电路,还被配置为当所述读数据能通过所述读窗口、且所述写数据能通过所述写窗口,输出校准成功。
9.根据权利要求1-8任一项所述的读写窗口校准电路,其特征在于,所述读写窗口校准电路还包括环境监测电路;
所述环境监测电路,被配置为获取环境监测信号,并在环境监测信号不满足预设信号时,将环境监测信号发送至所述校准验证电路;
所述校准验证电路,还被配置为接收所述环境监测信号,并在新的时钟周期验证读数据是否能通过读窗口、写数据是否能通过写窗口。
10.根据权利要求1-8任一项所述的读写窗口校准电路,其特征在于,所述读写窗口校准电路还包括用户校准电路;
所述用户校准电路,被配置为将用户校准信号发送至所述读写控制时序生成电路;
所述读写控制时序生成电路,还被配置为接收所述用户校准信号,并根据所述用户校准信号调节所述读窗口和/或所述写窗口。
11.根据权利要求1-8任一项所述的读写窗口校准电路,其特征在于,所述读写窗口校准电路还包括读写窗口配置调整电路以及配置存储器;
所述读写窗口配置调整电路,被配置为当所述读数据不能通过所述读窗口,和/或,所述写数据不能通过所述写窗口时,接收所述校准验证电路发送的调整信号,并根据所述调整信号调用调整信息,将所述调整信息发送至所述配置存储器;
所述配置存储器,被配置为接收所述调整信息,并调用与所述调整信息对应的配置信息,并将所述配置信息发送至所述读写控制时序生成电路;
所述读写控制时序生成电路,还被配置为根据所述配置信息调节所述读窗口和/或所述写窗口。
12.一种存储器,其特征在于,包括多个存储单元以及权利要求1-11所述的读写窗口校准电路,所述读写窗口校准电路用于校准所述存储单元的读窗口以及写窗口。
13.一种FPGA芯片,其特征在于,包括权利要求12所述的存储器。
14.一种读写窗口校准方法,其特征在于,包括:
校准验证电路在当前时钟周期内,验证读数据是否能通过读窗口、写数据是否能通过写窗口;
当所述读数据不能通过所述读窗口时,读写控制时序生成电路增大所述读窗口;
当写数据不能通过所述写窗口时,所述读写控制时序生成电路增大所述写窗口;
所述校准验证电路获取所述读写窗口校准电路的工作频率,当所述工作频率小于预设频率时,控制所述读写控制时序生成电路减小所述读窗口和/或所述写窗口,并在下一个时钟周期,重复验证所述读数据是否能通过所述读窗口、所述写数据是否能通过所述写窗口。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633790.9A CN112767977B (zh) | 2020-12-31 | 2020-12-31 | 读写窗口校准电路及方法、存储器、fpga芯片 |
PCT/CN2021/079686 WO2022141798A1 (zh) | 2020-12-31 | 2021-03-09 | 读写窗口校准电路及方法、存储器、fpga芯片 |
JP2023528283A JP7503209B2 (ja) | 2020-12-31 | 2021-03-09 | リードライトウィンドウ校正回路、方法、メモリ及びfpgaチップ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633790.9A CN112767977B (zh) | 2020-12-31 | 2020-12-31 | 读写窗口校准电路及方法、存储器、fpga芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112767977A true CN112767977A (zh) | 2021-05-07 |
CN112767977B CN112767977B (zh) | 2023-09-26 |
Family
ID=75697952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011633790.9A Active CN112767977B (zh) | 2020-12-31 | 2020-12-31 | 读写窗口校准电路及方法、存储器、fpga芯片 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7503209B2 (zh) |
CN (1) | CN112767977B (zh) |
WO (1) | WO2022141798A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118645145A (zh) * | 2024-08-09 | 2024-09-13 | 深圳超盈智能科技有限公司 | 一种存储芯片的命令序列测试方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4933939A (en) * | 1988-11-23 | 1990-06-12 | National Semiconductor Corporation | Method and apparatus for error measurement and reduction in a mass storage device memory system |
US20060136791A1 (en) * | 2004-12-16 | 2006-06-22 | Klaus Nierle | Test method, control circuit and system for reduced time combined write window and retention testing |
CN101465154A (zh) * | 2007-12-21 | 2009-06-24 | 拉姆伯斯公司 | 用于在存储系统中校准写入定时的方法和装置 |
US20130028022A1 (en) * | 2011-07-26 | 2013-01-31 | Micron Technology, Inc. | Dynamic program window determination in a memory device |
US8565033B1 (en) * | 2011-05-31 | 2013-10-22 | Altera Corporation | Methods for calibrating memory interface circuitry |
US20170270994A1 (en) * | 2016-03-16 | 2017-09-21 | International Business Machines Corporation | Simultaneous write and read calibration of an interface within a circuit |
CN108022610A (zh) * | 2016-10-28 | 2018-05-11 | 芯成半导体有限公司 | 同步半导体集成电路中的时控式命令时序调整 |
CN110097902A (zh) * | 2019-04-15 | 2019-08-06 | 中科亿海微电子科技(苏州)有限公司 | 针对同一端口的读写控制模块及方法、双端口存储器 |
CN110428856A (zh) * | 2019-07-29 | 2019-11-08 | 珠海市一微半导体有限公司 | 一种用于读写ddr内存的延时参数优化方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7881147B2 (en) | 2007-05-31 | 2011-02-01 | Qualcomm Incorporated | Clock and control signal generation for high performance memory devices |
US7668037B2 (en) | 2007-11-06 | 2010-02-23 | International Business Machines Corporation | Storage array including a local clock buffer with programmable timing |
JP5231190B2 (ja) | 2008-12-05 | 2013-07-10 | 株式会社日立超エル・エス・アイ・システムズ | 半導体装置とメモリマクロ |
US10090065B1 (en) * | 2017-03-14 | 2018-10-02 | International Business Machines Corporation | Simultaneous write, read, and command-address-control calibration of an interface within a circuit |
US10734983B1 (en) * | 2019-02-15 | 2020-08-04 | Apple Inc. | Duty cycle correction with read and write calibration |
-
2020
- 2020-12-31 CN CN202011633790.9A patent/CN112767977B/zh active Active
-
2021
- 2021-03-09 JP JP2023528283A patent/JP7503209B2/ja active Active
- 2021-03-09 WO PCT/CN2021/079686 patent/WO2022141798A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4933939A (en) * | 1988-11-23 | 1990-06-12 | National Semiconductor Corporation | Method and apparatus for error measurement and reduction in a mass storage device memory system |
US20060136791A1 (en) * | 2004-12-16 | 2006-06-22 | Klaus Nierle | Test method, control circuit and system for reduced time combined write window and retention testing |
CN101465154A (zh) * | 2007-12-21 | 2009-06-24 | 拉姆伯斯公司 | 用于在存储系统中校准写入定时的方法和装置 |
US8565033B1 (en) * | 2011-05-31 | 2013-10-22 | Altera Corporation | Methods for calibrating memory interface circuitry |
US20130028022A1 (en) * | 2011-07-26 | 2013-01-31 | Micron Technology, Inc. | Dynamic program window determination in a memory device |
US20170270994A1 (en) * | 2016-03-16 | 2017-09-21 | International Business Machines Corporation | Simultaneous write and read calibration of an interface within a circuit |
CN108022610A (zh) * | 2016-10-28 | 2018-05-11 | 芯成半导体有限公司 | 同步半导体集成电路中的时控式命令时序调整 |
CN110097902A (zh) * | 2019-04-15 | 2019-08-06 | 中科亿海微电子科技(苏州)有限公司 | 针对同一端口的读写控制模块及方法、双端口存储器 |
CN110428856A (zh) * | 2019-07-29 | 2019-11-08 | 珠海市一微半导体有限公司 | 一种用于读写ddr内存的延时参数优化方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2023549200A (ja) | 2023-11-22 |
WO2022141798A1 (zh) | 2022-07-07 |
CN112767977B (zh) | 2023-09-26 |
JP7503209B2 (ja) | 2024-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8499206B2 (en) | Memory system and method for preventing system hang | |
CN109671464B (zh) | 存储器模块、操作其的方法和存储器模块的测试系统 | |
US11200931B2 (en) | Apparatuses and methods for setting a duty cycle adjuster for improving clock duty cycle | |
KR101588293B1 (ko) | 비휘발성 메모리 장치의 읽기 방법 | |
KR102083005B1 (ko) | 종단 저항을 보정하는 반도체 메모리 장치 및 그것의 종단 저항 보정 방법 | |
US20090016140A1 (en) | Dynamic voltage adjustment for memory | |
US9324410B2 (en) | Semiconductor memory device having an output buffer controller | |
US8214725B2 (en) | Memory access system | |
US9343183B2 (en) | Memory device retention mode based on error information | |
US9846606B2 (en) | Storage device calibration methods and controlling device using the same | |
CN112767977B (zh) | 读写窗口校准电路及方法、存储器、fpga芯片 | |
CN111061648A (zh) | 存储模块、存储系统和操作存储模块的方法 | |
TWI395226B (zh) | 測試儲存裝置的方法及其系統 | |
US20100250915A1 (en) | Adjusting system configuration for increased reliability based on margin | |
KR20200022136A (ko) | 에러 정정 장치 및 그것을 포함하는 전자 장치 | |
US20120159280A1 (en) | Method for controlling nonvolatile memory apparatus | |
US20080062781A1 (en) | Apparatus and related method for controlling switch module in memory by detecting operating frequency of specific signal in memory | |
TW201926353A (zh) | 校正記憶體模組之讀/寫資料的時序的方法及其系統 | |
US20080080270A1 (en) | Apparatus and related method for controlling switch module in memory by detecting operation voltage of memory | |
KR20240068412A (ko) | 에러정정동작을 수행하는 반도체 메모리 장치 및 메모리 시스템 | |
US11088711B2 (en) | Memory apparatus and data accessing method thereof | |
US20240302978A1 (en) | Memory controller and memory system with data strobe signal calibration circuit | |
JP7382151B2 (ja) | 半導体装置及びそのテスト方法 | |
CN112242171A (zh) | 参考电压确定方法及装置 | |
CN113946469B (zh) | 一种固态硬盘的数据纠错处理方法及装置 |
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 |