zoukankan      html  css  js  c++  java
  • 58.xilinx原语DCM,PLL的使用

    DCM_BASE
    基本数字时钟管理模块的缩写,是相伴和频率可配置的数字锁相环电路,常用于FPGA系统中复杂的时钟管理。
    如需要频率和相位动态配置,则可以选用DCM_ADV原语,如需要相位动态偏移,可使用DCM_PS原语。
    Eg. DCM_BASE #
    (
    .CLKDV_DIVIDE(2.0), //CLKDV分频比可以设置为1.5,2.5,3.0,3.5,14.0,15.0等
    .CLKFX_DIVIDE(1), //can be any integer from 1 to 32 CLKFX信号的分配比
    .CLKFX_MULTIPL(4), //CLKFX的倍频比,可为2到32之间的任意整数
    .CLKIN_DIVIDE_BY_2("FALSE",) //输入信号2分频的使能信号,可设置为TRUE/FALSE
    .CLKIN_PERIOD(10.0), //指定输入时钟的周期,单位为ns,数值范围为1.25~1000.00
    .CLKOUT_PHASE_SHIFT("NONE"), //指定移相模式,可设置为NONE/FIXED
    .CLK_FEEDBACK("1X"), //指定反馈时钟的频率,可设置为NONE/1X/2X,相应频率关系都是针对CLK0而言
    .DCM_PERFORMANCE_MODE("MAX_SPEED"), //DCM模块性能模式,可设置为MAX_SPEED/MAX_RANGE
    .DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"), //抖动调整,可设置为源同步,系统同步或0-15之间能任意整数
    .DFS_FREQUENCY_MODE("LOW"), //数字频率合成模式,可设置为LOW/HIGH两种模式
    .DLL_FREQUENCY_MODE("LOW"), //DLL频率模式,可设置为LOW/HIGH/HIGH_SER
    .DUTY_CYCLE_CORRECTION("TRUE"), //设置是否采用双周期校正,可设置为TRUE/FALSE
    .FACTORY_JF(16'hf0f0), //16比特的JF因子参数
    .PHASE_SHIFT(0), //固定相移数值,可设置为-255~1023之间任意整数
    .STARTUP_WAIT("FALSE") //等DCM锁相后再延时配置DONF管脚,可设置为TRUE/FALSE
    )
    DCM_BASE_inst (
    .CLK0(CLK0), //0度移相的DCM时钟输出
    .CLK180(CLK180), //180度移相的DCM时钟输出
    .CLK270( CLK270), //270度移相的DCM时钟输出
    .CLK2X( CLK2X ), //dcm模块的2倍频输出
    .CLK2X180( CLK2X180 ), //经过180度相移的DCM模块2倍频输出
    .CLK90( CLK90 ), //90度移相的DCM时钟输出
    .CLKDV ( CLKDV ), //DCM模块的分频输出,分频比为CLKDV_DIVIDE
    .CLKFX( CLKFX ), //DCM合成时钟输出,分频比为(M/D)
    .CLKFX180( CLKFX180 ), //180度移相的DCM合成时钟输出
    .LOCKED ( LOCKED ), //DCM锁相状态输出信号
    .CLKFB ( CLKFB ), //DCM模块的反馈时钟信号
    .CLKIN ( CLKIN ), //DCM模块的时钟输入信号
    .RST ( RST ) //DCM模块的异步复位信号
    );

    PLL_BASE xilinx低端FPGA中都用DCM,高级一点的都用PLL,使用PLL时,输出时钟
    Clk_out=Clkin*Mult/DIVCLK_DIVIDE/CLKOUTx_DIVIDE;

    Eg. PLL_BASE #
    (
    .BANDWIDTH("OPTIMIZED"), //HIGH/LOW/OPTIMIZED
    .CLKFBOUT_MULT(2), //Multiplication factor for all output clocks
    .CLKFBOUT_PHASE(0.0), //Phase shift degress of all output clocks
    .CLKIN_PERIOD(0.000), //clock period(ns) of input clock on clkin
    .CLKOUT0_DIVIDE(5), //Division factor for CLKOUT0 (1 to 28)
    .CLKOUT0_DUTY_CYCLE(0.5), //duty cycle for CLKOUT0 (0.01 TO 0.99)
    .CLKOUT0_PHASE(0.0), //phase shift degrees for CLK1UT0 (0.0 TO 360.0)
    .CLKOUT1_DIVIDE(1), //Division factor for CLKOUT1 (1 to 28)
    .CLKOUT1_DUTY_CYCLE(0.5), //duty cycle for CLKOUT1 (0.01 TO 0.99)
    .CLKOUT1_PHASE(0.0), //phase shift degrees for CLKOUT2 (0.0 TO 360.0)
    .CLKOUT2_DIVIDE(1), //Division factor for CLKOUT2 (1 to 28)
    .CLKOUT2_DUTY_CYCLE(0.5), //duty cycle for CLKOUT2 (0.01 TO 0.99)
    .CLKOUT2_PHASE(90), //phase shift degrees for CLKOUT2 (0.0 TO 360.0)
    .CLKOUT3_DIVIDE(2), //Division factor for CLKOUT3 (1 to 28)
    .CLKOUT3_DUTY_CYCLE(0.5), //duty cycle for CLKOUT3 (0.01 TO 0.99)
    .CLKOUT3_PHASE(0.0), //phase shift degrees for CLKOUT3 (0.0 TO 360.0)
    .CLKOUT4_DIVIDE(1), //Division factor for CLKOUT4 (1 to 28)
    .CLKOUT4_DUTY_CYCLE(0.5), //duty cycle for CLKOUT4 (0.01 TO 0.99)
    .CLKOUT4_PHASE(0.0), //phase shift degrees for CLKOUT4 (0.0 TO 360.0)
    .CLKOUT5_DIVIDE(5), //Division factor for CLKOUT5 (1 to 28)
    .CLKOUT5_DUTY_CYCLE(0.5), //duty cycle for CLKOUT5 (0.01 TO 0.99)
    .CLKOUT5_PHASE(0.0), //phase shift degrees for CLKOUT5 (0.0 TO 360.0)
    .COMPENSATION("SYSTEM_SYNCHRONOUS"), //SYSTEM_SYNCHRONOUS/SOURCE_SYNCHRONOUS/INTERNAL/EXTERNAL
    //DCM2PLL/PLL2DCM
    .DIVCLK_DIVIDE(1), //division factor for all clocks (1 to 52)
    .REF_JITTER(0.100) //input reference jitter (0.000 to 0.999 U1%)
    )
    pll2_inst (
    .CLKFBOUT ( CLKFBIN ),//General output feedback signall
    .CLKOUT0 ( clk_100M ),
    .CLKOUT1 (),
    .CLKOUT2 (),
    .CLKOUT3 (),
    .CLKOUT4 (),
    .CLKOUT5 (),
    .LOCKED ( ),
    .CLKFBIN ( CLKFBIN ), //CLOCK feedback input
    .CLKIN ( clk ), //clock input
    .RST ( ~rst_n ) //asynchronous pll reset
    );





  • 相关阅读:
    NetScaler ‘Counters’ Grab-Bag!
    NetScaler + Wireshark = A Perfect Combination!
    What’s That NetScaler Reset Packet?
    Give NetScaler a “Tune-Up”
    51Nod 1080 两个数的平方和(数论,经典题)
    51Nod 1289 大鱼吃小鱼(模拟,经典好题)
    1082 与7无关的数(思维题,巨坑)
    51Nod 1003 阶乘后面0的数量(数学,思维题)
    2017广东工业大学程序设计竞赛决赛 题解&源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)
    后缀数组(一堆干货)
  • 原文地址:https://www.cnblogs.com/geekite/p/5145056.html
Copyright © 2011-2022 走看看