CN109032023A - 一种fpga内部dcm、pll的内建自测方法 - Google Patents
一种fpga内部dcm、pll的内建自测方法 Download PDFInfo
- Publication number
- CN109032023A CN109032023A CN201810895725.XA CN201810895725A CN109032023A CN 109032023 A CN109032023 A CN 109032023A CN 201810895725 A CN201810895725 A CN 201810895725A CN 109032023 A CN109032023 A CN 109032023A
- Authority
- CN
- China
- Prior art keywords
- pll
- output clock
- dcm
- fpga
- frequency
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 19
- 238000012360 testing method Methods 0.000 claims abstract description 21
- 230000000630 rising effect Effects 0.000 claims abstract description 8
- 230000008859 change Effects 0.000 claims abstract description 7
- 230000001360 synchronised effect Effects 0.000 claims abstract description 6
- 230000002159 abnormal effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明提供FPGA内部DCM、PLL的内建自测方法,包括:利用DCM或PLL包含多个在相位上为同步的输出时钟信号为前提,分别用第一计数器counter1和第二计数器counter2对第一输出时钟信号CLK_OUT1和第二输出时钟信号CLK_OUT2进行计数;对第一计数器counter1和第二计数器counter2进行比较,在较慢(即频率较低)的输出时钟信号的上升沿,较快计数器的数值为较慢计数器的数值的n倍,n为快时钟与慢时钟的频率之商,若不是,则DCM或PLL功能不正常。本发明实现了FPGA内建自测,且对于可在线改变DCM或PLL输出时钟频率的FPGA,能够在以预设的步进自动对DCM、PLL输出频率的范围进行扫描,仅需一个FPGA配置文件(或烧写文件)即可实现。
Description
技术领域
本发明涉及FPGA测试技术领域,特别涉及一种FPGA内部DCM、PLL的内建自测方法。
背景技术
FPGA测试中,功能测试一般使用内建自测法,即用FPGA内部的一部分资源测试另一部分资源,以少数输出引脚向外界报告内建自测结果。但时钟资源DCM、PLL的功能测试是一个例外,传统方法是使它们的时钟输出直接输出到引脚,由外部测试设备检测时钟输出的频率,以此判定DCM、PLL的功能是否正常。也就是并不是FPGA自身判断DCM、PLL好坏的,而是外部测试设备判断的。这样做的优点避免开发FPGA统计频率的软件模块,把此功能交给有频率测试功能的外部设备,比较简单,容易实现。缺点是无法发现输出时钟的微小问题,例如偶然的少输出或多输出一个周期的时钟,这是因为外部设备的时钟和DCM、PLL的时钟并不同步,必须设定一个容错阈值,只要实测频率与期望频率的误差在阈值内,就判定DCM、PLL为好。由于容错阈值的存在,这种方法不能对DCM、PLL的好坏做出精确判断。
另外,传统测试方法还有一个问题,难以对输出时钟进行全范围扫描,因为每次改变输出频率,通常需要新建一个FPGA工程,以较小的步进扫描整个输出范围需要新建很多FPGA工程,工作量太大。况且即使有了很多FPGA工程,也需要把这些工程生成的配置文件(或烧写文件)配置入(或烧写入)FPGA,再进行测试,多次重复配置和测试这样一个流程。在测试时效率也比较低。
发明内容
本发明的目的在于提供一种FPGA内部DCM、PLL的内建自测方法,以解决由外部测试设备检测时钟输出的频率时无法发现输出时钟的微小问题。
为了解决上述技术问题,本发明的技术方案是:提供一种FPGA内部DCM、PLL的内建自测方法,利用DCM或PLL包含多个在相位上为同步的输出时钟信号为前提,设置第一输出时钟信号的频率为step,设置第二输出时钟信号的频率为n×step;分别用第一计数器counter1和第二计数器counter2对所述第一输出时钟信号CLK_OUT1和所述第二输出时钟信号CLK_OUT2进行计数;在所述第一输出时钟信号CLK_OUT1时钟域下设置寄存器counter2_delay,在所述第一输出时钟信号CLK_OUT1的上升沿时把所述第二计数器counter2赋值给所述寄存器counter2_delay,FPGA判断所述寄存器counter2_delay的计数值是否等于所述第一计数器counter1的计数值的n倍,若是,判定DCM或PLL功能正常,若否,判定DCM或PLL功能不正常。
进一步地,所述寄存器counter2_delay的复位值为0,所述第二计数器counter2的复位值为1,保证在每个所述第一输出时钟信号CLK_OUT1的上升沿counter2_delay=n×counter1。
进一步地,对于能在线改变DCM、PLL输出时钟频率的FPGA,利用一个FPGA配置文件或烧写文件加载测试程序,在DCM或PLL允许的输出时钟频率范围内在线设置频率,对DCM或PLL所设定的输出时钟频率进行测试,然后在允许的输出时钟频率范围内以一定步进在线改变频率,再次进行测试,直至遍历允许的输出时钟频率范围。
本发明提供的FPGA内部DCM、PLL的内建自测方法,实现了FPGA内建自测,且对于能在线改变DCM、PLL输出时钟频率的FPGA,仅需一个FPGA配置文件(或烧写文件)即可实现在线测试。
附图说明
下面结合附图对发明作进一步说明:
图1为本发明实施例一的FPGA数字逻辑仿真图,描述了本发明所提出的DCM、PLL的测试方法;
图2为本发明实施例一提供的使用FPGA内部DCM、PLL的内建自测方法有质量问题的FPGA把关键信号由管脚引出后时钟信号示意图;
图3为本发明实施例一提供的使用FPGA内部DCM、PLL的内建自测方法没有质量问题的FPGA把关键信号由管脚引出后时钟信号示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的FPGA内部DCM、PLL的内建自测方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,图2和图3采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明的核心思想在于,本发明提供的FPGA内部DCM、PLL的内建自测方法,实现了FPGA内建自测;且对于能在线改变DCM、PLL输出时钟频率的FPGA,能够在线对DCM或PLL进行多次测试,仅需一个FPGA配置文件(或烧写文件)即可实现。
本发明的FPGA内部DCM、PLL的内建自测方法,包括:
S11、利用DCM或PLL包含多个在相位上为同步的输出时钟信号为前提,设置第一输出时钟信号的频率为step,设置第二输出时钟信号的频率为n×step;
S12、分别用第一计数器counter1和第二计数器counter2对所述第一输出时钟信号CLK_OUT1和所述第二输出时钟信号CLK_OUT2进行计数;
S13、在所述第一输出时钟信号CLK_OUT1时钟域下设置寄存器counter2_delay,在所述第一输出时钟信号CLK_OUT1的上升沿时把所述第二计数器counter2赋值给所述寄存器counter2_delay,所述寄存器counter2_delay只在所述第一输出时钟信号CLK_OUT1上升沿时才改变,FPGA判断所述寄存器counter2_delay的计数值是否等于所述第一计数器counter1的计数值的n倍,若是,判定DCM或PLL功能正常,若否,判定DCM或PLL功能不正常。
DCM、PLL通常含有多个输出时钟,这些输出时钟频率可设定为不同,按默认设定,它们在相位上一般是同步的,例如一个输出时钟为50MHz频率,另一个输出时钟为20MHz时钟频率。那么在时域上,50MHz时钟的每5个时钟周期和20MHz时钟有一次上升沿对齐。
进一步地,所述寄存器counter2_delay的复位值为0,所述第二计数器counter2的复位值为1,若DCM或PLL功能正常,在每个所述第一输出时钟信号CLK_OUT1的上升沿都应满足counter2_delay=n×counter1,如图1所示。
图2为本发明实施例一提供的使用FPGA内部DCM、PLL的内建自测方法有质量问题的FPGA把关键信号由管脚引出后时钟信号示意图;图3为本发明实施例一提供的使用FPGA内部DCM、PLL的内建自测方法没有质量问题的FPGA把关键信号由管脚引出后时钟信号示意图。参照图2,输出时钟1对应的时钟信号出现问题。参照图3,输出时钟1对应的时钟信号没有出现问题。
对于能在线改变DCM、PLL输出时钟频率的FPGA,例如Xilinx V4FPGA,可利用一个FPGA配置文件或烧写文件加载测试程序,在DCM或PLL允许的输出时钟频率范围内在线设置频率,对DCM或PLL所设定的输出时钟频率进行测试,然后在允许的输出时钟频率范围内以一定步进在线改变频率,再次进行测试,直至遍历允许的输出时钟频率范围。
本发明对于Xilinx V4FPGA内部DCM、PLL的内建自测方法具体做法是使用FPGA的在线部分重配置功能,输出频率F_out=F_in×M/D。Fin为DCM或PLL输入频率。Xilinx公司的FPGA提供了在线改变倍频系数M值和分频系数D值的接口,可在运行过程中,改变M值和D值。在具体使用时,固定D值不变,在输出范围内遍历M值并进行自测试即可。
显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (3)
1.一种FPGA内部DCM、PLL的内建自测方法,其特征在于,包括:
利用DCM或PLL包含多个在相位上为同步的输出时钟信号为前提,设置第一输出时钟信号的频率为step,设置第二输出时钟信号的频率为n×step;
分别用第一计数器counter1和第二计数器counter2对所述第一输出时钟信号CLK_OUT1和所述第二输出时钟信号CLK_OUT2进行计数;
在所述第一输出时钟信号CLK_OUT1时钟域下设置寄存器counter2_delay,在所述第一输出时钟信号CLK_OUT1的上升沿时把所述第二计数器counter2赋值给所述寄存器counter2_delay,FPGA判断所述寄存器counter2_delay的计数值是否等于所述第一计数器counter1的计数值的n倍,若是,判定DCM或PLL功能正常,若否,判定DCM或PLL功能不正常。
2.如权利要求1所述的FPGA内部DCM、PLL的内建自测方法,其特征在于,所述寄存器counter2_delay的复位值为0,所述第二计数器counter2的复位值为1,保证在每个所述第一输出时钟信号CLK_OUT1的上升沿counter2_delay=n×counter1。
3.如权利要求1所述的FPGA内部DCM、PLL的内建自测方法,其特征在于,对于能在线改变DCM、PLL输出时钟频率的FPGA,利用一个FPGA配置文件或烧写文件加载测试程序,在DCM或PLL允许的输出时钟频率范围内在线设置频率,对DCM或PLL所设定的输出时钟频率进行测试,然后在允许的输出时钟频率范围内以一定步进在线改变频率,再次进行测试,直至遍历允许的输出时钟频率范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810895725.XA CN109032023B (zh) | 2018-08-08 | 2018-08-08 | 一种fpga内部dcm、pll的内建自测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810895725.XA CN109032023B (zh) | 2018-08-08 | 2018-08-08 | 一种fpga内部dcm、pll的内建自测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109032023A true CN109032023A (zh) | 2018-12-18 |
CN109032023B CN109032023B (zh) | 2021-03-09 |
Family
ID=64649525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810895725.XA Active CN109032023B (zh) | 2018-08-08 | 2018-08-08 | 一种fpga内部dcm、pll的内建自测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032023B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273271A (zh) * | 2020-03-09 | 2020-06-12 | 上海无线电设备研究所 | 一种有限硬件资源条件下无盲区测距方法 |
CN114839517A (zh) * | 2022-05-23 | 2022-08-02 | 苏州华兴源创科技股份有限公司 | 芯片测试的时钟同步方法、装置、系统和设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1763552A (zh) * | 2004-10-21 | 2006-04-26 | 扬智科技股份有限公司 | 内建自我测试锁相回路的抖动信号电路装置及其方法 |
CN1883116A (zh) * | 2003-11-20 | 2006-12-20 | 爱德万测试株式会社 | 可变延迟电路 |
CN1892235A (zh) * | 2005-07-05 | 2007-01-10 | 夏普株式会社 | 测试电路、延迟电路、时钟发生电路和图像传感器 |
US20080224742A1 (en) * | 2007-03-16 | 2008-09-18 | Pomichter Gerald P | Small scale clock multiplier circuit for fixed speed testing |
CN102035512A (zh) * | 2010-11-19 | 2011-04-27 | 中国工程物理研究院流体物理研究所 | 一种基于时钟分相技术的精密数字延时同步机及延时方法 |
CN102655416A (zh) * | 2011-03-04 | 2012-09-05 | 联咏科技股份有限公司 | 最小化传输差分信号接收器系统及其内建自我测试方法 |
CN106357267A (zh) * | 2016-09-29 | 2017-01-25 | 上海航天测控通信研究所 | 一种dll延迟锁相环自适应监控方法及系统 |
CN106872772A (zh) * | 2015-12-13 | 2017-06-20 | 田佳聪 | 一种锁相环片上抖动测量电路 |
CN107329073A (zh) * | 2017-07-31 | 2017-11-07 | 上海华力微电子有限公司 | 一种双时域动态变频测试方法 |
-
2018
- 2018-08-08 CN CN201810895725.XA patent/CN109032023B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1883116A (zh) * | 2003-11-20 | 2006-12-20 | 爱德万测试株式会社 | 可变延迟电路 |
CN1763552A (zh) * | 2004-10-21 | 2006-04-26 | 扬智科技股份有限公司 | 内建自我测试锁相回路的抖动信号电路装置及其方法 |
CN1892235A (zh) * | 2005-07-05 | 2007-01-10 | 夏普株式会社 | 测试电路、延迟电路、时钟发生电路和图像传感器 |
US20080224742A1 (en) * | 2007-03-16 | 2008-09-18 | Pomichter Gerald P | Small scale clock multiplier circuit for fixed speed testing |
CN102035512A (zh) * | 2010-11-19 | 2011-04-27 | 中国工程物理研究院流体物理研究所 | 一种基于时钟分相技术的精密数字延时同步机及延时方法 |
CN102655416A (zh) * | 2011-03-04 | 2012-09-05 | 联咏科技股份有限公司 | 最小化传输差分信号接收器系统及其内建自我测试方法 |
CN106872772A (zh) * | 2015-12-13 | 2017-06-20 | 田佳聪 | 一种锁相环片上抖动测量电路 |
CN106357267A (zh) * | 2016-09-29 | 2017-01-25 | 上海航天测控通信研究所 | 一种dll延迟锁相环自适应监控方法及系统 |
CN107329073A (zh) * | 2017-07-31 | 2017-11-07 | 上海华力微电子有限公司 | 一种双时域动态变频测试方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273271A (zh) * | 2020-03-09 | 2020-06-12 | 上海无线电设备研究所 | 一种有限硬件资源条件下无盲区测距方法 |
CN114839517A (zh) * | 2022-05-23 | 2022-08-02 | 苏州华兴源创科技股份有限公司 | 芯片测试的时钟同步方法、装置、系统和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109032023B (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6356514B1 (en) | Built-in self test method for measuring clock to out delays | |
US6219305B1 (en) | Method and system for measuring signal propagation delays using ring oscillators | |
US6611477B1 (en) | Built-in self test using pulse generators | |
US6502212B1 (en) | Method and apparatus for bus parameter optimization using probes of system configurations | |
US6546507B1 (en) | Method and apparatus for operational envelope testing of busses to identify halt limits | |
US5818250A (en) | Apparatus and method for determining the speed of a semiconductor chip | |
US6134191A (en) | Oscillator for measuring on-chip delays | |
US8633722B1 (en) | Method and circuit for testing accuracy of delay circuitry | |
US6473871B1 (en) | Method and apparatus for HASS testing of busses under programmable control | |
US6452459B1 (en) | Circuit for measuring signal delays of synchronous memory elements | |
US6144262A (en) | Circuit for measuring signal delays of asynchronous register inputs | |
US6069849A (en) | Method and system for measuring signal propagation delays using the duty cycle of a ring oscillator | |
JP3625400B2 (ja) | 可変遅延素子のテスト回路 | |
US20110276850A1 (en) | Field Programmable Gate Arrays with Built-in Self Test Mechanisms | |
TWI650566B (zh) | 積體電路測試裝置 | |
CN113111615B (zh) | SoC芯片时钟功能验证方法及系统 | |
CN107562163B (zh) | 一种具有稳定复位控制的数字逻辑电路 | |
CN109032023A (zh) | 一种fpga内部dcm、pll的内建自测方法 | |
CN115098400A (zh) | 一种基于sva形式化验证的fpga软件仿真测试环境建立方法 | |
CN107422193B (zh) | 一种测量单粒子翻转瞬态脉冲长度的电路及方法 | |
TWI427307B (zh) | 晶粒的可組態化製程變異監控電路及其監控方法 | |
CN107565936B (zh) | 一种输入时钟稳定电路的逻辑实现装置 | |
US6237117B1 (en) | Method for testing circuit design using exhaustive test vector sequence | |
US7363568B2 (en) | System and method for testing differential signal crossover using undersampling | |
US7620862B1 (en) | Method of and system for testing an integrated circuit |
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 |