FPGA设计中DCM状态位监控的工程应用

2022-09-12

一、引言

Xilinx公司从Virtex II的DCM数字时钟管理到Virtex5及其后续芯片的CMT模块 (2个DCM和1个PLL构成) , DCM数字时钟管理在FPGA设计中的功能越来越重要。如何有效监控时钟也成为一个越来越重要的问题。

二、DCM的内部结构和控制信号的作用

DCM提供了如下的功能:延迟锁定 (DLL) 、数字频率合成 (DFS) 、移相 (PS) 和逻辑状态 (SL) 。部功能框图如图1所示。DCM的控制信号包括复位信号RST、LOCKED输出信号和8位STATUS[7:0]输出信号。

当复号为高时, 表示DCM电路被锁定, DCM功能正常。STATUS低三位 (2, 1, 0) 状态位可以指示DCM的工作状态。三个状态位信号异常 (高电平) 定义为:STATUS (0) 为高时, 表示DCM相移溢出;STATUS (1) 为高时, 表示无时钟信号 (CLKIN) 输入;STATUS (2) 为1时, 表示无分频时钟信号 (CLIKFX) 输出。

若LOCKED信号输出为高时, 则认为DCM时钟输出有效。但是在环境恶劣 (低温工作) 的情况下, 虽然LOCKED信号输出持续为高, 实际上DCM并没有时钟输出。进一步通过Chip Scope软件观察LOCKED和STATUS[2:0]信号, 发现此时FPGA中DCM的STATUS状态位信号上报为010, 根据状态指示信号的定义, 说明DCM无时钟信号输入, DCM已经失锁, 不能正常工作。

所以不能完全通过LOCKED信号了解DCM的工作状态, 需同时监控DCM的STATUS信号状态, 以提高系统时钟的稳定性。

三、DCM的监控策略

使用DCM产生系统时钟, 需要一个稳定的外部输入时钟对DCM的LOCKED输出信号和STATUS输出信号同时进行监控, 当LOCKED输出信号和STATUS输出信号工作异常时, 产生一个高复位信号复位DCM, 使其重新锁定电路并输出正确的时钟信号。

(一) DCM的异常工作的判定

DCM的状态可以由LOCKED输出信号和3位STATUS[2:0]状态观测, 当LOCKED输出信号为低电平, STATUS[2]、STATUS[1]、STATUS[0]信号为高电平时, 认定DCM工作异常。

(二) DCM的监控信号的设计

选用稳定时钟输入作为DCM监控的信号的时钟, 复位信号采用高复位信号。DCM复位信号设计的软件流程图如图2所示。

程序描述如下:

监控状态位, 如果状态位为1, 程序会产生复位脉冲, 对DCM复位;确保程序处于正常的工作状态。

四、DCM的仿真数据及试验

在修改程序后实物测试结果见图3所示。观测同时复位LOCKED信号和STATUS[2:0]的程序, STATUS[2:0]三位显示为低电平 (0) , mlvds_a_locked (LOCKED) 为高电平 (1) , DCM工作正常。所以使用DCM, 必须同时监控LOCKED信号和STATUS[2:0]信号。

五、结论

本文针对DCM在环境恶劣的情况下对DCM的故障进行了分析, 并根据故障原因提出了DCM监控技术, 并且对监控的结果进行了验证。由于DCM在FPGA设计中的重要地位, 故详细阐释了DCM的监控原理和监控的程序的设计及其实物验证的结果。不但有效的解决了问题, 同时提高了系统时钟的可靠性。

摘要:FPGA设计中常使用DCM产生所需的系统时钟, 但是需要进一步监控DCM的STATUS状态位.当DCM由于异常而失锁后, 程序产生一个高复位信号复位DCM使其重新锁定, 提高了系统时钟的可靠性。

关键词:FPGA,DCM,状态位

参考文献

[1] 李丙玉等.FPGA设计中DCM的原理分析及应用研究[J].微计算机信息, 2009 (4) .

[2] 张振.FPGA内数字时钟管理模块的研究与设计[J].西安电子科技大学硕士学位论文, 2014 (8) .

[3] Virtex-II Platform FPGA User Guide.xilinx, Inc.UG002 (v2.2) , November, 5, 2007

上一篇:现代教育手段在物理教学中的作用下一篇:试析人资管理中如何有效采用激励策略