一种读后清零寄存器及读后清零的方法

文档序号:6578711阅读:892来源:国知局
专利名称:一种读后清零寄存器及读后清零的方法
技术领域
本发明涉及数字电路领域,尤其涉及一种读后清零寄存器以及读后清零寄 存器的方法。
背景技术
在各类功能电路中常需要设计一种特殊的功能寄存器,它能够将保存的信
息经过CPU接口读取后自行清零。
这种读后清零寄存器的电路装置设计要点是既要保证寄存器可以可靠地
被CPU接口读取,又要求CPU接口读取后,寄存器的内容被可靠清零,同时 清零的动作也不能影响读取结果,也就是说清零必须在CPU接口读取数据完 成以后进行。
目前已有寄存器的设计方法普遍存在时序上不够严谨,常出现清零不可 靠,或者读取不可靠的问题,根本原因是清零动作和读取动作在时间上存在重
叠的问题。
图l是以INTEL读写接口模式为例,CPUj:S是片选信号,低电平时表示 寄存器选择有效,CPU一ADDR是中央处理器CPU输出的地址总线信号,对 CPU—ADDR信号进行译码产生CPU_CS信号,因此上时序上看CPU—CS比 CPU一ADDR有效宽度要小。CPU一RD信号是CPU的读有效信号,低电平有效, 在CPU处理器输出CPU—RD为低时,读取采样寄存器的值,CLR信号是对寄 存器清除信号,为高电平时清除寄存器的值。在以往的读后清零寄存器的设计 方案中,CLR信号是相对CPU—RD下降沿进行延时产生,因此在时序上读有 效时间Tl和清除有效时间T2在时间上可能会有重叠部分,例如当有些CPU 读取速度较快时可以提前将数据取走,但对于某些CPU读取速度较慢时,则存在读取和清除重叠的问题,在功能表现上体现就是读取数据不可靠或者清除 不可靠。

发明内容
本发明实施例提供了一种能够实现CPU读取内容数据和寄存器清零互不
干扰的读后清零寄存器以及读后清零的方法。
本发明实施例提供的一种读后清零寄存器,包括存储有内容数据的存储单
元,进一步地,还包括
第一查找表单元,用于获取CPU读取所述内容数据的有效时间,并根据 获取的有效时间,生成初始清除信号;所述初始清除信号的有效电平的起始时 间不早于CPU读取内容数据的有效时间;
延时电路单元,用于将所述初始清除信号以设定的延时间隔,生成延时清 除信号;
第二查找表单元,用于检测所述延时清除信号,当所述延时清除信号无效 时,输出所述内容数据;否则,清除所述内容数据,并输出信号零。
所述第一查找表单元,还用于将所述CPU读取内容数据的有效时间的结 束点作为所述初始清除信号的有效电平的起始时间点,并使用预设的所述有效 电平的持续时间,生成所述初始清除信号。
所述第一查找表单元,还用于根据输入的CPU片选信号、CPU输出的地 址总线信号和CPU读有效信号,获取CPU读取所述读后清零的寄存器中内容 数据的有效时间。
进一步地,本发明实施例提供的读后清零寄存器,还包括第一触发器, 用于保存所述第二查找表单元的输出结果,并将所述输出结果输出至CPU数 据总线。
进一步地,本发明实施例提供的读后清零寄存器,还包括同步时钟信号 单元,用于输出同步时钟信号;所述延时电路单元,还用于根据所述同步时钟信号单元输出的同步时钟信 号,保存所述初始清除信号,并将其延时总长度等于设定延时间隔的若干时钟
节拍,生成延时清除信号;
所述第一触发器,还用于根据所述同步时钟信号,保存所述第二查找表单 元的输出结果,以及将所述输出结果输出至CPU数据总线。
所述设定的延时间隔的长度根据CPU类型以及读取接口时序读取时间参 数要求确定。
所述延时电路具体包括第二触发器、第三触发器、第一反相器、与门、 第四触发器和第二反相器;
所述第二触发器的D输入端与所述第一查找表单元的输出端相连,所述第 二触发器的Q输出端分别与第三触发器的D输入端以及与门的输入端相连;
所述第三触发器的Q输出端经过所述第一反相器与所述与门的输入端相 连;所述与门的输出端与所述第四触发器的D输入端相连;
所述第四触发器的Q输出端与第二反相器的输入端相连;所述第二反相器 的输出端与所述第二查找表单元相连;
所述第二触发器、第三触发器和第四触发器的时钟输入端与所述同步时钟 信号单元的输出端相连。
所述第一查找表单元为三输入端或门,其三输入端分别为CPU片选信号 输入端、CPU输出的地址总线信号输入端和CPU读有效信号输入端;
所述第二查找表单元为二输入端与门,其两个输入端分别为内容数据信号 输入端以及所述第二反相器输出信号的输入端。
本发明实施例还提供了一种读后清零的方法,包括
获取CPU读取存储的内容数据的有效时间,并根据获取的有效时间,生 成初始清除信号;所述初始清除信号的有效电平的起始时间不早于CPU读取 内容数据的有效时间;
将所述初始清除信号以设定的延时间隔,生成延时清除信号;检测所述延时清除信号,当所述延时清除信号无效时,输出所述内容数据;
否则,清除所述内容数据,并输出信号零。
根据CPU读取内容数据的有效时间生成初始清除信号,包括
将所述CPU读取内容数据的有效时间的结束点作为所述初始清除信号的
有效电平的起始时间点,并使用预设的有效电平的持续时间,生成所述初始清
除信号。
所述生成延时清除信号,包括
根据同步时钟信号,保存所述初始清除信号,并将其延时总长等于设定延 时间隔的若干时钟节拍,生成所述延时清除信号。
本发明实施例还提供了一种读后清零的方法,还包括
根据同步时钟信号,将输出的所述内容数据或者信号零输出至CPU数据 总线。
本发明实施例的有益效果,包括
本发明实施例提供的读后清零寄存器以及读后清零的方法,根据CPU读 取内容数据的有效时间,生成初始清除信号,并将初始清除信号以设定的延时 间隔,生成延时清除信号,将延时清除信号作为清零操作的指令信号,当该延 时清除信号无效时,输出内容数据,否则,清除存储的内容数据,并输出信号 零。由于初始清除信号的有效电平的起始时间不早于CPU读取内容数据的有 效时间,并且,寄存器进行执行清零操作的指令信号即延时清除信号,是在初 始清除信号的基础上进行延时生成,这样,寄存器进行清零的有效时间(即延 时清除信号的有效时间)和CPU读有效信号的有效时间之间具有严格的时间 间隔,即使CPU实际读取速度较慢时,也不会出现未读取完数据,寄存器就 已经清零的问题,保证了 CPU读取寄存器的内容数据和寄存器清零操作按照 设定先后顺序执行,并且在时间上没有重叠,彼此互不干扰。
并且,进一步地,本发明实施例中,将CPU读取内容数据的有效时间的 结束点作为初始清除信号的有效电平的起始时间点,使得CPU读取内容数据有效时间与寄存器清零有效时间之间的间隔等于i殳定的延时间隔;而该延时间 隔可以预先根据CPU类型以及读取接口时序读取时间参数要求来确定,因此, 在实际实施过程中,可以根据不同CPU类型和读取接口的要求来更合理地调 整CPU读取内容数据和寄存器清零两个操作的时间间隔。在保证两者互不干 扰的情况下,同时避免时间间隔过长造成的读取效率较低的问题。


图1为现有寄存器设计方案的时序图2为本发明实施例提供的读后清零寄存器的结构示意图3为本发明实施例提供的读后清零寄存器的信号流走向图4为本发明实施例提供的读后清零寄存器中各信号的时序关系图5为本发明实施例提供的读后清零寄存器的一个具体实例的电路图6为本发明实施例提供的一种读后清零方法的流程图。
具体实施例方式
下面结合附图,用具体实施例对本发明提供的一种读后清零的寄存器及读 后清零的方法进行详细的说明。
本发明实施例提供了一种读后清零的寄存器,除了包含与现有技术中寄存 器所包含的存储内容数据的存储单元之外,如图2所示,进一步地,还可以包 括第一查找表单元201、延时电路单元202、第二查找表单元203。
第 一查找表单元201 ,用于获取CPU读取该读后清零寄存器中内容数据的 有效时间,并根据获取的有效时间,生成初始清除信号;初始清除信号的有效 电平的起始时间不早于CPU读取内容数据的有效时间;
延时电路单元202,用于将初始清除信号以设定的延时间隔,生成延时清 除信号;
第二查找表单元203,用于检测延时清除信号,当延时清除信号无效时,输出该读后清零寄存器中的内容数据;当延时清除信号有效时,清除存储的内 容数据,并输出信号零。
本发明实施例提供的读后清零寄存器,如图2所示,进一步地,还可以包 括第一触发器204,用于保存第二查找表单元201的输出结果,并将第二查 找表单元201的输出结果输出至CPU数据总线。
本发明实施例提供的读后清零寄存器,如图2所示,还可以包括同步时 钟信号单元205,用于输出同步时钟信号;
延时电路单元202,还用于根据同步时钟信号单元205输出的同步时钟信 号,保存初始清除信号,并将其延时总长度等于设定延时间隔的若干时钟节拍, 生成延时清除信号;
第一触发器204,还用于根据同步时钟信号单元205输出的同步时钟信号, 保存第二查找表单元203的输出结果,以及将第二查找表单元203的输出结果 输出至CPU数据总线。
具体实施时,第一触发器可以采用D触发器,但不发明实施例并不限定第 一触发器的具体类型。
下面结合本实施例中读后清零寄存器的信号流走向图以及各信号的时序 关系图,详细地说明本发明实施例提供的读后清零寄存器的具体结构和工作原 理。
从图3中可以看出,查找表单元201对输入的三路信号即CPU片选信号 CPU—CS、 CPU输出的地址总线信号CPU—ADDR以及CPU读有效信号 CPU一RD进行处理,获取CPU读取寄存器中内容数据的有效时间Tl,并且根 据有效时间Tl生成初始清除信号CLR。
在本发明实施例中,较佳地,初始清除信号CLR的有效电平的起始时间 点即CPU读取内容数据有效时间的结束点,以初始清除信号为高电平有效的 情况为例,CPU读取内容数据的有效时间Tl的结束点,正是初始清除信号CLR 由低电平跳变为有效高电平的时间点。将CPU读取内容数据的有效时间的结束点作为初始清除信号CLR从低电 平跃变为高电平(有效电平)的时间点,并使用预先设置的初始清除信号的有 效高电平的持续时间,就可以生成初始清除信号。
从图4中的时序图可以看出,初始清除信号是作为中间信号,并不是寄存 器清零操作的指令信号,寄存器根据将初始清除信号延时后的延时清除信号来 执行清零操作。
延时电路单元202保存初始清除信号保存起来,并根据同步时钟信号 SYN一CLK,将其再延时若干个时钟节拍,使得延时的若干时钟节拍的总长等 于预先设定的延时间隔T2,生成延时清除信号CLR_DLY,并将延时清除信号 CLR一DLY作为寄存器进行清零操作的指令信号。
延时间隔T2的长短,可以根据CPU的类型以及读取接口时序的CPU实 际读取时延要求的相关参数来综合确定。通常,如果CPU实际读取时延要求 较长,那么T2时间也可以相应长一些。具体实施时,可以通过调整延时电路 单元的参数来实现T2时长的调整。
延时电路单元202将生成的延时清除信号CLR一DLY输出给第二查找表单 元203。
第二查找表单元203的检测输入的延时清除信号CLI^DLY和内容数据信 号DATA;当延时清除信号无效时,将输入的内容数据信号输出给第一触发器 的D输入端;当延时清除信号有效时,清除内容数据,输出信号"0"至第一 触发器的D输入端。
第一触发器204,在同步时钟信号SYN—CLK设定的触发点,保存第二查 找表单元203的输出,并将保存的结果输出至数据总线CPU一DATA上。
图4是本发明实施例提供的读后清零寄存器中各信号的时序关系图,其中
Tl为CPU读取该读后清零寄存器中内容数据的有效时间;
T3为该读后清零寄存器中延时清除信号的有效时间;
T2为预先设定的CPU读取有效和寄存器清零有效之间的时间间隔。从图4中可以清楚地看出,T2时间间隔,使得CPU读有效时间和寄存器 清零的有效时间(即延时清除信号的有效时间)严格地隔离开来,即使CPU 的读取速度较慢,也能够保证其完整地、可靠地将寄存器中的内容数据读走, 以及寄存器在读取完后的可靠地自动清零,使得CPU读取内容数据和寄存器 清零两个^喿作在时序上没有重叠,互不影响。
图5是本发明实施例提供的读后清零寄存器的一个具体实例的电路图。如 图5所示,该电路图中,第一查表单元201可以采用三输入端或门电路,三输 入端或门501的三个输入端分别为CPU片选信号(图5中标识为CPU—CS) 输入端、CPU输出的地址总线信号(图5中标识为CPU—ADDR)输入端和CPU 读有效信号(CPU_RD)输入端。
延时电路单元202,如图5所示,具体包括第二触发器502、第三触发 器503、第一反相器504、与门505、第四触发器506和第二反相器507;其中
第二触发器502的D输入端与第一查找表单元201的输出端相连,第二触 发器502的Q输出端分别与第三触发器503的D输入端以及与门505的输入 端相连;
第三触发器503的Q输出端经过第一反相器504和与门505的输入端相连; 与门505的输出端与第四触发器506的D输入端相连;
第四触发器506的Q输出端与第二反相器507的输入端相连;第二反相器 507的输出端与第二查找表单元203相连;
第二触发器502、第三触发器503和第四触发器506的时钟输入端与同步 时钟信号单元的输出端相连。
第二查找表单元203可以采用二输入端与门电路实现,该与门508的两个 输入端分别为内容数据信号输入端以及第二反相器507输出信号的输入端。
第二查找单元203的输出端与第一触发器204的D输入端连接。同时,第 一触发器204的时钟输入端与同步时钟信号单元(图5中未示意出)的输出端 连接。图5所示的电路在工作时,CPU片选信号(CPU—CS)、 CPU输出的地址 总线信号(CPU—ADDR)和CPU读有效信号(CPU_RD)共同输入或门501 的三输入端,但这三个信号同时为逻辑"0"时,或门501输出逻辑"0",当 三个信号其中任一个信号为逻辑"1"时,或门501输出逻辑"1",生成初始 清除信号。
第二触发器502和第三触发器503将或门的输出保存并延时2个同步时钟 周期(SYN—CLK)。
当第二触发器502的输出为逻辑"1",且第三触发器输出为逻辑"0"时, 与门505输出逻辑"1"。
第四触发器506将与门505的输出延时一个同步时钟周期(SYN—CLK)。
当第四触发器506的输出为逻辑"0"时,与门508输出内容数据信号 (DATA);当第四触发器506的输出为逻辑"1"时,与门508输出逻辑"0"。
本发明实施例提供的读后清零寄存器,可以采用现场可编程门阵列(Field Programmable Gate Array, FPGA)器件实现,FPGA器件由于可以灵活配置的 优点,在通信产品得到大量应用,利用FPGA内部丰富的触发器、查找表以及 互联线资源,可以实现本发明实施例提供的读后清零寄存器可靠的读取以及清 零的功能。
如图5所示的本发明实施例提供的读后清零寄存器的仅为具体实施中的一 种较佳的实施方式,但本发明实施例并不限于此种实现方式,具体实施过程中, 可以根据寄存器应用场合的不同,采用相应的软件以及硬件实现,能够实现本 发明实施例提供的读后清零的功能即可,都不脱离本发明的保护范围。
根据本发明实施例提供的读后清零寄存器,本发明实施例还提供了一种读 后清零的方法,如图6所示,具体包括以下步骤
S601、获取CPU读取存储的内容数据的有效时间,并根据CPU读取内容 数据的有效时间,生成初始清除信号;
初始清除信号的有效电平的起始时间不早于CPU读取内容数据的有效时间;
较佳地,将CPU读取内容数据的有效时间的结束点作为初始清除信号有 效电平的起始时间点,并使用预设的有效电平的持续时间,生成初始清除信号。
5602、 根据同步时钟信号,将初始清除信号延时总长等于设定的延时间隔 的若干时钟节拍,生成延时清除信号;
延时间隔的长短,可以根据CPU的类型以及读取接口时序的CPU实际读 取时延要求的相关参数来综合确定。
5603、 检测延时清除信号是否有效;
当延时清除信号无效时,执行步骤S604;当延时清除信号有效时,执行步 骤S605;
步骤S604、输出存储的内容数据;
步骤S605、清除存储的内容数据,并输出信号零;
步骤S604或者S605之后,还执行下述步骤S606:
步骤S606、 4艮据同步时钟信号,将输出的内容凄史据或者信号零输出至CPU 数据总线。
本发明实施例提供的读后清零寄存器以及读后清零的方法,根据CPU读 取内容数据的有效时间,生成初始清除信号,并将初始清除信号以设定的延时 间隔,生成延时清除信号,将延时清除信号作为清零操作的指令信号,当该延 时清除信号无效时,输出内容数据,否则,清除存储的内容数据,并输出信号 零。由于初始清除信号的有效电平的起始时间不早于CPU读取内容数据的有 效时间,并且,寄存器进行执行清零操作的指令信号即延时清除信号,是在初 始清除信号的基础上进行延时生成,这样,寄存器进行清零的有效时间(即延 时清除信号的有效时间)和CPU读有效信号的有效时间之间具有严格的时间 间隔,即使CPU实际读取速度较慢时,也不会出现未读取完数据,寄存器就 已经清零的问题。保证了 CPU读取寄存器的内容数据和寄存器清零操作按照 设定先后顺序执行,并且在时间上没有重叠,彼此互不干扰。并且,进一步地,本发明实施例中,将CPU读取内容数据的有效时间的
结束点作为初始清除信号有效电平的起始时间点,使得CPU读取内容数据有 效时间与寄存器清零有效时间之间的间隔等于设定的延时间隔;而该延时间隔 可以预先根据CPU类型以及读取接口时序读取时间参数要求来确定,因此, 在实际实施过程中,可以根据不同CPU类型和读取接口的要求来更合理地调 整CPU读取内容数据和寄存器清零两个操作的时间间隔。在保证两者互不干 扰的情况下,同时避免时间间隔过长造成的读取效率较低的问题。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种读后清零寄存器,包括存储有内容数据的存储单元,其特征在于,还包括第一查找表单元,用于获取CPU读取所述内容数据的有效时间,并根据获取的有效时间,生成初始清除信号;所述初始清除信号的有效电平的起始时间不早于CPU读取内容数据的有效时间;延时电路单元,用于将所述初始清除信号以设定的延时间隔,生成延时清除信号;第二查找表单元,用于检测所述延时清除信号,当所述延时清除信号无效时,输出所述内容数据;否则,清除所述内容数据,并输出信号零。
2、 如权利要求1所述的寄存器,其特征在于,所述第一查找表单元,还 用于将所述CPU读取内容数据的有效时间的结束点作为所述初始清除信号的 有效电平的起始时间点,并使用预设的所述有效电平的持续时间,生成所述初 始清除信号。
3、 如权利要求1所述的寄存器,其特征在于,所述第一查找表单元,还 用于根据输入的CPU片选信号、CPU输出的地址总线信号和CPU读有效信号, 获取CPU读取所述读后清零的寄存器中内容数据的有效时间。
4、 如权利要求1所述的寄存器,其特征在于,还包括第一触发器,用 于保存所述第二查找表单元的输出结果,并将所述输出结果输出至CPU数据 总线。
5、 如权利要求4所述的寄存器,其特征在于,还包括同步时钟信号单 元,用于输出同步时钟信号;所述延时电路单元,还用于根据所述同步时钟信号单元输出的同步时钟信 号,保存所述初始清除信号,并将其延时总长度等于设定的延时间隔的若干时 钟节拍,生成延时清除信号;所述第一触发器,还用于根据所述同步时钟信号,保存所述第二查找表单元的输出结果,以及将所述输出结果输出至CPU数据总线。
6、 如权利要求1所述的寄存器,其特征在于,所述设定的延时间隔的长 度根据CPU类型以及读取接口时序读取时间参数要求确定。
7、 如权利要求1所述的寄存器,其特征在于,所述延时电路具体包括 第二触发器、第三触发器、第一反相器、与门、第四触发器和第二反相器;所述第二触发器的D输入端与所述第一查找表单元的输出端相连,所述第 二触发器的Q输出端分别与第三触发器的D输入端以及与门的输入端相连;所述第三触发器的Q输出端经过所述第一反相器与所迷与门的输入端相 连;所述与门的输出端与所述第四触发器的D输入端相连;所述第四触发器的Q输出端与第二反相器的输入端相连;所述第上反相器 的输出端与所述第二查找表单元相连;'所述第二触发器、第三触发器和第四触发器的时钟输入端与所述同步时钟信号单元的输出端相连。
8、 如权利要求5所述的寄存器,其特征在于,所述第一查找表单元为三 输入端或门,其三输入端分别为CPU片选信号输入端、CPU输出的地址总线 信号输入端和CPU读有效信号输入端;所述第二查找表单元为二输入端与门,其两个输入端分别为内容数据信号 输入端以及所述第二反相器输出信号的输入端。 '
9、 一种读后清零的方法,其特征在于,包括获取CPU读取存储的内容数据的有效时间,并根据获取的有效时间,生 成初始清除信号;所述初始清除信号的有效电平的起始时间不早于CPU读取 内容数据的有效时间;将所述初始清除信号以设定的延时间隔,生成延时清除信号; 才全测所述延时清除信号,当所述延时清除信号无效时,输出所述内容数据; 否则,清除所述内容数据,并输由信号零。
10、 如权利要求9所述的方法,其特征在于,根据CPU读取内容数据的有效时间生成初始清除信号,包括将所述CPU读取内容数据的有效时间的结束点作为所述初始清除信号的 有效电平的起始时间点,并使用预设的有效电平的持续时间,生成所述初始清 除信号。
11、 如权利要求9所述的方法,其特征在于,所述生成延时清除信号,包括根据同步时钟信号,保存所述初始清除信号,并将其延时总长等于设定延 时间隔的若干时钟节拍,生成所述延时清除信号。
12、 如权利要求9所述的方法,其特征在于,还包括根据同步时钟信号,将输出的所述内容数据或者信号零输出至CPU数据 总线。
全文摘要
本发明公开了一种读后清零寄存器及读后清零的方法,本发明提供的读后清零寄存器包括存储有内容数据的存储单元,还包括第一查找表单元、延时电路单元和第二查找表单元。第一查找表单元用于获取CPU读取内容数据的有效时间,并根据该有效时间,生成初始清除信号;延时电路单元用于将初始清除信号以设定的延时间隔,生成延时清除信号;第二查找表单元用于检测延时清除信号,当延时清除信号无效时,输出内容数据;否则,输出信号零。本发明提供的读后清零寄存器及读后清零的方法,将CPU的读取内容数据的有效时间和寄存器的清零内容数据的有效时间严格地隔离开来,避免了现有技术中两者在时间上重叠造成的读取不可靠或者清除不可靠的问题。
文档编号G06F9/30GK101576818SQ20091014725
公开日2009年11月11日 申请日期2009年6月12日 优先权日2009年6月12日
发明者科 黄 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1