专利名称:时钟频率测试方法和时钟频率测试电路的制作方法
技术领域:
本发明涉及一种时钟频率测试方法,本发明还涉及一种时钟频率测试电路。
背景技术:
在当前的芯片设计中,越来越多的芯片内部除了使用接口输入的时钟外,还使用内建的时钟。工艺偏差以及内建时钟电路的设计误差等因素使得设计者有对内建时钟进行测试的要求。目前,比较普遍的测试方法是使用接口时钟对内建时钟进行测试,即接口时钟和内建时钟同时启动计数,通过在一定计数区间的计数值和已知的接口时钟频率计算出内建时钟的频率,以确定内建时钟的频率与设计值之间的偏差。这样的测试电路通常不考虑测试时钟和被测试时钟之间的快慢关系,统一用测试时钟的计数区间为基准计数区间,并且用系统的启动信号直接去分别启动测试时钟和被测试时钟的计数器。这种测试电路的测试误差往往以慢时钟的周期为单位,在测试时钟和被测试时钟频率差异很大的情况下会引入相当大的测试误差,尤其是在被测试时钟的频率比测试时钟的频率低很多的情况下。这种电路如果要降低测试误差只能增大计数区间,但是会增加测试时间。
发明内容
本发明所要解决的技术问题是提供一种时钟频率测试方法,能够在有限的测试时间内得到更为精确的测试结果;为此,本发明还要提供一种时钟频率测试电路。为解决上述技术问题,本发明的时钟频率测试方法,是采用如下技术方案实现的:步骤一、将测试时钟和被测试时钟分为快时钟和慢时钟,设置快时钟计数器对快时钟进行计数,设置慢时钟计数器对慢时钟进行计数;测试时的计数区间以慢时钟的计数区间为基准计数区间;
步骤二、系统启动测试后先启动慢时钟计数器进行计数,慢时钟计数器启动计数后再启动快时钟计数器进行计数;步骤三、慢时钟计数器记满后停止计数,然后再停止快时钟计数器计数;步骤四、以快时钟计数器停止计数的信号清除系统的测试启动位,读取快时钟计数器的数值,根据快时钟计数器的计数值、慢时钟计数器的计数值和已知的测试时钟的频率计算被测试时钟的频率。所述时钟频率测试电路,包括:慢时钟电路、快时钟电路和系统时钟;所述系统时钟电路包括:—第四D触发器,其数据输出端输出系统启动测试信号;一第三两级同步器,其数据输出端与第五D触发器的数据输入端相连接,且该数据输出端经一反向器与第四与门的一输入端相连接;—第五D触发器,其数据输出端与第四与门的另一输入端相连接;一第四与门,其输出端与所述第四D触发器的同步复位端相连接,用于检测快时钟计数器的经同步的启动信号下降沿,当检测到快时钟计数器的经同步的启动信号下降沿时,其输出信号使所述第四D触发器复位,同步清除系统启动测试信号;所述第四D触发器、第三两级同步器和第五D触发器的时钟输入端输入系统时钟
信号;所述快时钟电路包括:一第二两级同步器,其数据输出端与第三D触发器的数据输入端和第三与门的一输入端相连接;一第三D触发器,其数据输出端经一反向器与第三与门的另一输入端相连接,且该数据输出端与快时钟计数器的计数使能输入端和所述第三两级同步器的数据输入端相连接;输出快时钟计数器的经同步的启动信号;一快时钟计数器,其计数输出端输出快时钟计数值;一第三与门,其输出端与所述快时钟计数器的同步复位端相连接;所述第二两级同步器、第三D触发器和快时钟计数器的时钟输入端输入快时钟信号;所述慢时钟电路包括:一第一两级同步器,其数据输入端与所述第四D触发器的数据输出端相连接,输入系统启动测试信号;其数据输出端与第一与门的一输入端和第一 D触发器的数据输入端相连接;—第一 D触发器,其数据输出端与第二与门的一输入端相连接,且该数据输出端经一反向器与第一与门的另一输入端相连接;一慢时钟计数器,其计数使能输入端与第二与门的输出端相连接,输入慢时钟计数器的启动信号;一第一与门,其输出端与所述慢时钟计数器的同步复位端相连接;一比较器,其反向输入端与慢时钟计数器的计数输出端相连接,其正向输入端输入参考值;一第二与门,其另一输入端与所述比较器的输出端相连接;一第二 D触发器,其数据输入端与第二与门的输出端相连接;其数据输出端与所述第二两级同步器的数据输入端相连接,输出快时钟计数器的未经快时钟电路同步的启动
信号;所述第一两级同步器、第一 D触发器、慢时钟计数器和第二 D触发器的时钟输入端输入慢时钟信号;所述“两级同步器”由两个D触发器串联组成,用于对异步信号进行同步。本发明与传统的测试时钟频率的方法相比,能够将时钟频率的测试误差控制在非常小的范围内,也就是测试时计数器的误差能够控制在两个快时钟周期以内,这在测试时钟和被测时钟频率差异较大的情况下十分重要。本发明能够有效地降低测试误差,得到更为准确的测试结果。
下面结合附图与具体实施方式
对本发明作进一步详细的说明:
图1是本发明一实施例时钟频率测试电路结构图;图2是所述时钟频率测试方法流程图。
具体实施例方式目前许多产品都有内建的时钟,为了了解内建时钟的频率,一般是采用接触式接口的时钟去测试内建的时钟,即测试时钟和被测试时钟同时进行计数,然后通过一定时间里的计数值和已知接口时钟的频率计算被测试时钟的频率。采用上述方法测试时钟频率误差较大,尤其在有的项目中内建的IOOKHz时钟与接触式时钟频率差异有几十倍之多,这将使得测试误差无法接受。本发明重点在于准确的选择计数器的启动顺序和选择正确的计数区间,以使得能够有效地降低测试误差,在较短的时间内获得更为准确的测试结果。图1是本发明的一实施例,所示时钟频率测试电路由系统时钟电路、慢时钟电路和快时钟电路三部分组成,这里考虑的是三个时钟完全异步的情况,因此信号从一个时钟域到另一个时钟域都需要进行两级同步,并且与慢时钟计数器的计数值相比较的参考值即是测试的计数区间,可以是固定值,也可以是一个可编程的值。所述系统时钟电路包括:—第四D触发器DFF4,其时钟输入端CLK输入系统时钟sys_clk,数据输出端Q输出系统启动测试信号start_test (高电平有效)。一第三两级同步器2DFF3,其数据输出端Q与第五D触发器DFF5的数据输入端D相连接,且第三两级同步器2DFF3的数据输出端Q经一反向器与第四与门AND4的一输入端相连接,其时钟输入端CLK输入系统时钟sys_Clk。(所述“两级同步器”由两个D触发器串联组成,也就是对输入信号打两拍,作用是对异步信号进行同步)—第五D触发器DFF5,其时钟输入端CLK输入系统时钟sys_clk,数据输出端Q与第四与门AND4的另一输入端相连接。—第四与门AND4,其输出端与所述第四D触发器DFF4的同步复位端R相连接,用于检测快时钟计数器KJ的经同步的启动信号start_fastcounter下降沿,当检测到快时钟计数器的经同步的启动信号start_fastcounter下降沿时,其输出信号使所述第四D触发器DFF4复位,来同步清除系统启动测试信号start_test。所述快时钟电路包括:—第二两级同步器2DFF2,其数据输出端Q与第三D触发器DFF3的数据输入端D和第三与门AND3的一输入端相连接,其时钟输入端CLK输入快时钟信号fast_clk。一第三D触发器DFF3,其时钟输入端CLK输入快时钟信号fast_clk ;其数据输出端Q经一反向器与第三与门AND3的另一输入端相连接,且其数据输出端Q与快时钟计数器KJ的计数使能输入端EN和所述系统时钟电路的第三两级同步器2DFF3的数据输入端D相连接,输出快时钟计数器KJ的经同步的启动信号start_fastcounter。一快时钟计数器KJ,其时钟输入端CLK输入快时钟信号fast_clk,计数输出端输出快时钟计数值fast_counter。一第三与门AND3,其输出端与快时钟计数器KJ的同步复位端R相连接。所述慢时钟电路包括:
一第一两级同步器2DFF1,其时钟输入端CLK输入慢时钟信号slow_clk,其数据输入端D与所述系统时钟电路的第四D触发器DFF的数据输出端Q相连接,输入系统启动测试信号start_test ;其数据输出端Q与第一与门ANDl的一输入端和第一 D触发器DFFl的数据输入端D相连接。一第一 D触发器DFFl,其时钟输入端CLK输入慢时钟信号slow_clk,其数据输出端Q与第二与门AND2的一输入端相连接,且第一 D触发器DFFl的数据输出端Q经一反向器与第一与门ANDl的另一输入端相连接。一慢时钟计数器MJ,其时钟输入端CLK输入慢时钟信号slow_clk,其计数使能输入端EN与第二与门AND2的输出端相连接,输入慢时钟计数器的启动信号start_sl0Wcounter ;一第一与门ANDl,其输出端与慢时钟计数器MJ的同步复位端R相连接。一比较器BJ,其反向输入端与慢时钟计数器MJ的计数输出端相连接,其正向输入端输入参考值。—第二与门AND2,其另一输入端与所述比较器BJ的输出端相连接。一第二 D触发器DFF2,其时钟输入端CLK输入慢时钟信号sloW_clk,其数据输入端D与第二与门AND2的输出端相连接;其数据输出端Q与所述快时钟电路的第二两级同步器2DFF2的数据输入端D相连接,输出快时钟计数器的未经快时钟电路同步的启动信号slowclk_start_fastclk。结合图1、2所示,系统启动测试后,慢时钟电路先对系统启动测试信号start_test进行同步并检测其上升沿,当检测到系统启动测试信号startjest的上升沿后,第一与门ANDl的输出使慢时钟计数器MJ同步清0,则启动慢时钟计数器MJ对慢时钟信号slow_elk进行计数。在慢时钟计数器MJ启动计数并且还没有计满期间,慢时钟电路产生的未经同步的启动信号slowclk_start_fastclk去启动快时钟计数器KJ进行计数。快时钟电路对未经同步的启动信号slowclk_start_fastclk进行同步并检测其上升沿,当检测到未经同步的启动信号slowclk_start_Fastclk的上升沿时,第三与门AND3的输出使快时钟计数器KJ同步清0,并且在产生的快时钟计数器KJ的经同步的启动信号start_fastcounter作用下启动快时钟计数器KJ进行计数。慢时钟计数器MJ记满后停止计数,第二 D触发器DFF2输出的快时钟计数器的未经快时钟电路同步的启动信号slowclk_start_fastclk会自动变成低电平,因而快时钟计数器KJ也会自动停止计数。系统时钟电路对快时钟计数器的启动信号start_fastcounter进行同步,并检测快时钟计数器的启动信号start_fastcounter下降沿,当检测到快时钟计数器的启动信号start_fastcounter下降沿时,使第四D触发器DFF4同步复位,来同步清除系统启动测试信号start_test。系统读取快时钟计数器的计数值fast_counter,根据快时钟计数器的计数值、慢时钟计数器的计数值和已知的测试时钟的频率计算被测试时钟的频率。图1所示电路的计数区间完全以慢时钟的计数区间为基准,因为快慢时钟完全异步,可能出现误差的地方是快时钟计数器的启动和结束,但分别引入的误差最大不超过一个快时钟周期,因此总共引入的误差不超过两个快时钟周期,即快时钟计数器的计数值fast_counter误差不超过2。以上通过具体实施方式
和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
权利要求
1.一种时钟频率测试方法,其特征在于,包括如下步骤: 步骤一、将测试时钟和被测试时钟分为快时钟和慢时钟,设置快时钟计数器对快时钟进行计数,设置慢时钟计数器对慢时钟进行计数;测试时的计数区间以慢时钟的计数区间为基准计数区间; 步骤二、系统启动测试后先启动慢时钟计数器进行计数,慢时钟计数器启动计数后再启动快时钟计数器进行计数; 步骤三、慢时钟计数器记满后停止计数,然后再停止快时钟计数器计数; 步骤四、以快时钟计数器停止计数的信号清除系统的测试启动位,读取快时钟计数器的数值,根据快时 钟计数器的计数值、慢时钟计数器的计数值和已知的测试时钟的频率计算被测试时钟的频率。
2.—种时钟频率测试电路,其特征在于,包括:慢时钟电路、快时钟电路和系统时钟; 所述系统时钟电路包括: 一第四D触发器,其数据输出端输出系统启动测试信号; 一第三两级同步器,其数据输出端与第五D触发器的数据输入端相连接,且该数据输出端经一反向器与第四与门的一输入端相连接; 一第五D触发器,其数据输出端与第四与门的另一输入端相连接; 一第四与门,其输出端与所述第四D触发器的同步复位端相连接,用于检测快时钟计数器的经同步的启动信号下降沿,当检测到快时钟计数器的经同步的启动信号下降沿时,其输出信号使所述第四D触发器复位,同步清除系统启动测试信号; 所述第四D触发器、第三两级同步器和第五D触发器的时钟输入端输入系统时钟信号; 所述快时钟电路包括: 一第二两级同步器,其数据输出端与第三D触发器的数据输入端和第三与门的一输入端相连接; 一第三D触发器,其数据输出端经一反向器与第三与门的另一输入端相连接,且该数据输出端与快时钟计数器的计数使能输入端和所述第三两级同步器的数据输入端相连接;输出快时钟计数器的经同步的启动信号; 一快时钟计数器,其计数输出端输出快时钟计数值; 一第三与门,其输出端与所述快时钟计数器的同步复位端相连接; 所述第二两级同步器、第三D触发器和快时钟计数器的时钟输入端输入快时钟信号; 所述慢时钟电路包括: 一第一两级同步器,其数据输入端与所述第四D触发器的数据输出端相连接,输入系统启动测试信号;其数据输出端与第一与门的一输入端和第一 D触发器的数据输入端相连接; 一第一 D触发器,其数据输出端与第二与门的一输入端相连接,且该数据输出端经一反向器与第一与门的另一输入端相连接; 一慢时钟计数器,其计数使能输入端与第二与门的输出端相连接,输入慢时钟计数器的启动信号; 一第一与门,其输出端与所述慢时钟计数器的同步复位端相连接;一比较器,其反向输入端与慢时钟计数器的计数输出端相连接,其正向输入端输入参考值; 一第二与门,其另一输入端与所述比较器的输出端相连接; 一第二 D触发器,其数据输入端与第二与门的输出端相连接;其数据输出端与所述第二两级同步器的数据输入端相连接,输出快时钟计数器的未经快时钟电路同步的启动信号; 所述第一两级同步器、第一 D触 发器、慢时钟计数器和第二 D触发器的时钟输入端输入慢时钟信号; 所述“两级同步器”由两个D触发器串联组成,用于对异步信号进行同步。
3.如权利要求2所述的时钟频率测试电路,其特征在于:系统启动测试后,所述慢时钟电路先对系统启动测试信号进行同步并检测其上升沿,当检测到系统启动测试信号的上升沿后,所述第一与门的输出使慢时钟计数器同步清O,则启动慢时钟计数器对慢时钟信号进行计数; 在所述慢时钟计数器启动计数且未计满期间,慢时钟电路产生快时钟计数器的未经快时钟电路同步的启动信号,启动快时钟计数器进行计数。
4.如权利要求3所述的时钟频率测试电路,其特征在于:所述快时钟电路对快时钟计数器的未经同步的启动信号进行同步并检测其上升沿,当检测到所述未经同步的启动信号的上升沿时,第三与门的输出使快时钟计数器同步清O,并且在快时钟计数器的经同步的启动信号作用下启动快时钟计数器进行计数。
5.如权利要求2或3所述的时钟频率测试电路,其特征在于:慢时钟计数器记满后停止计数,则快时钟计数器的未经快时钟电路同步的启动信号自动变成低电平,快时钟计数器自动停止计数。
6.如权利要求2所述的时钟频率测试电路,其特征在于:系统时钟电路对快时钟计数器的经同步的启动信号进行同步,并检测该经同步的启动信号下降沿,当检测到所述下降沿时,使第四D触发器同步复位,同步清除所述系统启动测试信号。
7.如权利要求2所述的时钟频率测试电路,其特征在于:系统读取快时钟计数器的计数值,根据快时钟计数器的计数值、慢时钟计数器的计数值和已知的测试时钟的频率计算被测试时钟的频率。
全文摘要
本发明公开了一种时钟频率测试方法,将测试时钟和被测试时钟分为快时钟和慢时钟,设置快时钟计数器对快时钟进行计数,设置慢时钟计数器对慢时钟进行计数;测试时的计数区间以慢时钟的计数区间为基准计数区间;系统启动测试后先启动慢时钟计数器进行计数,慢时钟计数器启动计数后再启动快时钟计数器进行计数;慢时钟计数器记满后停止计数,然后再停止快时钟计数器计数;以快时钟计数器停止计数的信号清除系统的测试启动位,读取快时钟计数器的数值,根据快时钟计数器的计数值、慢时钟计数器的计数值和已知的测试时钟的频率计算被测试时钟的频率。本发明还公开了一种时钟频率测试电路。本发明能够在有限的测试时间内得到更为精确的测试结果。
文档编号G01R23/00GK103197139SQ201210004410
公开日2013年7月10日 申请日期2012年1月6日 优先权日2012年1月6日
发明者徐云秀, 柴佳晶 申请人:上海华虹集成电路有限责任公司