最近在使用Xilinx FPGA验证项目,使用DCM将50M晶振分频得到20M时钟。但是下载代码到板子上验证,发现板子完全不工作。

然后 测量时钟,发现根本就没有20M时钟。查找资料,以及跟以前项目对比,DCM的使用没有错误。

  项目中DCM的使用如下:

  DCM u_dcm_20m(

  .CLKIN  (clk50m),

  .CLKFX   (clk20m),

  .RST   (rst_n  ),

  .LOCKED  (locked )

  );

  defparam u_dcm_20m.CLKFX_DIVIDE = 5;

  defparam u_dcm_20m.CLKFX_MULTIPLY = 2;

  defparam u_dcm_20m.CLKIN_PERIOD = 20;

  defparam u_dcm_20m.CLK_FEEDBACK = "NONE";

  按照FPGA user guide上的讲述,完全没错,如下图红色框中所示:

  但是测试结果就是不对。后来在 Virtex-4 FPGA Data Sheet: DC and Switching Characteristics这篇

文档里找到了答案。如来是DCM的CLKFX的输出范围是有限制的,同时对输入频率也有要求的,如下面红框所示:

  在低频模式下,CLKFX只能输出32M~150Mhz的频率,而20MHz不再这个范围内,因此要使用CLKDV,20M在其

输出范围内。

  所以 做设计要看Spec,而且不能只看部分Spec。这个小问题,找了好久原因,今晚记录下来,与大家共勉。

Xilinx DCM 使用---- 输出频率问题的更多相关文章

  1. 每天进步一点点------Xilinx DCM

    时钟---锁相环 1.       Xilinx DCM 数字时钟管理模块(Digital Clock Manager,DCM)是基于Xilinx的其他系列器件所采用的数字延迟锁相环(DLL,Dela ...

  2. FPGA芯片内部硬件介绍

    FPGA芯片内部硬件介绍 FPGA(Filed programmable gate device):现场可编程逻辑器件 FPGA基于查找表加触发器的结构,采用SRAM工艺,也有采用flash或者反熔丝 ...

  3. 58.xilinx原语DCM,PLL的使用

    DCM_BASE 基本数字时钟管理模块的缩写,是相伴和频率可配置的数字锁相环电路,常用于FPGA系统中复杂的时钟管理.如需要频率和相位动态配置,则可以选用DCM_ADV原语,如需要相位动态偏移,可使用 ...

  4. Xilinx FPGA全局时钟和全局时钟资源的使用方法

    对FPGA的全局时钟了解不多,遂转载一篇文档: http://xilinx.eetop.cn/?action-viewnews-itemid-42 目前,大型设计一般推荐使用同步时序电路.同步时序电路 ...

  5. DCM、PLL、PMCD、MMCM相关

    摘自网上 : http://xilinx.eetop.cn/viewnews-1482 The DCM is a Digital Clock Manager - at its heart it is ...

  6. Xilinx原语学习之时钟资源相关原语

    一直来,都是使用Vivado中自带的GMIItoRGMII IP核来完成GMII转RGMII的功能:尽管对GMII及RGMII协议都有一定的了解,但从没用代码实现过其功能.由于使用IP时,会涉及到MD ...

  7. Xilinx FPGA用户约束文件(转自xilinx ISE 开发指南

    FPGA设计中的约束文件有3类:用户设计文件(.UCF文件).网表约束文件(.NCF文件)以及物理约束文件(.PCF文件),可以完成时序约束.管 脚约束以及区域约束.3类约束文件的关系为:用户在设计输 ...

  8. Xilinx全局时钟

    前言 Xilinx系列.ISE环境中,设计复杂工程时全局时钟系统的设计显得尤为重要. 一.时钟网络与全局缓冲 在XilinxFPGA中,时钟网络分为两类:全局时钟网络和I/O区域时钟网络.以全铜工艺实 ...

  9. Xilinx RocketIO模块的介绍

    摘要: 在高速电路系统设计中,差分串行通信方式正在取代并行总线方式,以满足系统对高带宽数据通信的需求.RocketIO是Virtex2 Pro以上系列FPGA中集成的专用高速串行数据收发模块,可用于实 ...

随机推荐

  1. 怎么使用jquery阻止页面的离开或卸载

    //绑定beforeunload事件$(window).bind('beforeunload',function(){return '您输入的内容尚未保存,确定离开此页面吗?';});//解除绑定,一 ...

  2. js中toString和valueOf方法的区别

    toString 方法 返回对象的字符串表示形式. 语法:objectname.toString([radix]) objectname 必需.要为其搜索字符串表示形式的对象. radix 可选.为将 ...

  3. Swift一些数据结构题目的编码实现

    题目:在字符串中找出连续最长的数字串,并把这个串的长度返回:如果长度相同,返回最后一个连续字符串 样例输入abcd12345ed125ss123456789abcd12345ss54321 样例输出输 ...

  4. Telnet弱口令猜解【Python脚本】

    telnet 弱口令猜解脚本 测试环境:window2003.centos7 #! /usr/bin/env python # _*_ coding:utf-8 _*_ import telnetli ...

  5. oracle 报警日志详解

    oracle报警日志是一个非常重要的日志,其有两种实现方法: 1.通过全局表来实现,这种方法有一种缺点,就是在关闭数据库后或者数据库宕机后就不能在使用了 2.通过外部表来实现,这种方法避免了方法一种的 ...

  6. COCOS2D-X中UI动画导致闪退与UI动画浅析

    前两天和同事一起查一个游戏的闪退问题,log日志显示最后挂在CCNode* ActionNode::getActionNode()函数中的首行CCNode* cNode = dynamic_cast& ...

  7. python基础篇

    python脚本开头 #!/usr/bin/env python# -*- coding: utf-8 -*print "你好,世界" 不要问为什么,记住就好了 变量定于的规则 变 ...

  8. MIT JOS学习笔记01:环境配置、Boot Loader(2016.10.22)

    未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴 ...

  9. WingIDE中文乱码问题解决方法

    WingIDE中文乱码问题解决方法 安装完WingIDE后,首次运行python脚本时,若脚本中含有UTF-8中文,在Debug I/O输出框中,全部变成了乱码. 这时其实我们设置下WingIDE的编 ...

  10. Nginx-解读内置非默认模块 ngx_http_stub_status_module

    1.Background ngx_http_stub_status_module 是一个 Nginx 的内置 HTTP 模块,该模块可以提供 Nginx 的状态信息.默认情况下这个模块是不被编译进来的 ...