1 -------------------------------------------------------------------------------     2 -- File       : ClockManager7.vhd     3 -- Company    : SLAC National Accelerator Laboratory     4 -- Created    : 2014-10-28     5 -- Last update: 2014-10-29     6 -------------------------------------------------------------------------------     7 -- Description: A wrapper over MMCM/PLL to avoid coregen use.     8 -------------------------------------------------------------------------------     9 -- This file is part of 'SLAC Firmware Standard Library'.    10 -- It is subject to the license terms in the LICENSE.txt file found in the     11 -- top-level directory of this distribution and at:     12 --    https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html.     13 -- No part of 'SLAC Firmware Standard Library', including this file,     14 -- may be copied, modified, propagated, or distributed except according to     15 -- the terms contained in the LICENSE.txt file.    16 -------------------------------------------------------------------------------    19 use ieee.std_logic_1164.
all;
    20 use ieee.std_logic_unsigned.
all;
    21 use ieee.std_logic_arith.
all;
    31  --! @ingroup xilinx_7Series_general   121 --      DIVCLK_DIVIDE_G    : integer range 1 to 106;   122 --      CLKFBOUT_MULT_F_G  : real range 1.0 to 64.0;   123 --      CLKFBOUT_MULT_G    : integer range 2 to 64;   124 --      CLKOUT0_DIVIDE_F_G : real range 1.0 to 128.0;   125 --      CLKOUT0_DIVIDE_G   : integer range 1 to 128;   126 --      CLKOUT1_DIVIDE_G   : integer range 1 to 128;   127 --      CLKOUT2_DIVIDE_G   : integer range 1 to 128;   128 --      CLKOUT3_DIVIDE_G   : integer range 1 to 128;   129 --      CLKOUT4_DIVIDE_G   : integer range 1 to 128;   130 --      CLKOUT5_DIVIDE_G   : integer range 1 to 128;   131 --      CLKOUT6_DIVIDE_G   : integer range 1 to 128;   132 --   end record ClockManager7CfgType;   136 end package ClockManager7Pkg;
   226    end function makeClockManager7Cfg;
   230       if (i
) then return t; 
else return e; 
end if;
   233 end package body ClockManager7Pkg;
 integer   range  2 to  64 CLKFBOUT_MULT_G
 
real   range - 360.0 to  360.0 CLKOUT4_PHASE_G
 
sl   CLKOUT6_RST_POLARITY_G
 
sl   CLKOUT4_RST_POLARITY_G
 
real   range  0.01 to  0.99 CLKOUT1_DUTY_CYCLE_G
 
real   range  0.01 to  0.99 CLKOUT5_DUTY_CYCLE_G
 
integer   range  1 to  128 CLKOUT5_DIVIDE_G
 
integer   range  1 to  128 CLKOUT6_DIVIDE_G
 
sl   CLKOUT0_RST_POLARITY_G
 
real   range - 360.0 to  360.0 CLKOUT3_PHASE_G
 
sl   CLKOUT1_RST_POLARITY_G
 
integer   range  1 to  106 DIVCLK_DIVIDE_G
 
real   range  0.01 to  0.99 CLKOUT4_DUTY_CYCLE_G
 
real   range - 360.0 to  360.0 CLKOUT6_PHASE_G
 
real   range - 360.0 to  360.0 CLKOUT2_PHASE_G
 
array(natural range <> ) of ClockManager7CfgType   ClockManager7CfgArray
 
integer   range  1 to  128 CLKOUT4_DIVIDE_G
 
integer   range  3 to    positive'high CLKOUT3_RST_HOLD_G
 
real   range - 360.0 to  360.0 CLKOUT5_PHASE_G
 
integer   range  3 to    positive'high CLKOUT1_RST_HOLD_G
 
ClockManager7CfgType makeClockManager7CfgCLKIN_PERIOD_G,DIVCLK_DIVIDE_G,CLKFBOUT_MULT_F_G,CLKFBOUT_MULT_G,CLKOUT0_DIVIDE_F_G,CLKOUT0_DIVIDE_G,CLKOUT1_DIVIDE_G,CLKOUT2_DIVIDE_G,CLKOUT3_DIVIDE_G,CLKOUT4_DIVIDE_G,CLKOUT5_DIVIDE_G,CLKOUT6_DIVIDE_G,CLKOUT0_PHASE_G,CLKOUT1_PHASE_G,CLKOUT2_PHASE_G,CLKOUT3_PHASE_G,CLKOUT4_PHASE_G,CLKOUT5_PHASE_G,CLKOUT6_PHASE_G,CLKOUT0_DUTY_CYCLE_G,CLKOUT1_DUTY_CYCLE_G,CLKOUT2_DUTY_CYCLE_G,CLKOUT3_DUTY_CYCLE_G,CLKOUT4_DUTY_CYCLE_G,CLKOUT5_DUTY_CYCLE_G,CLKOUT6_DUTY_CYCLE_G,CLKOUT0_RST_HOLD_G,CLKOUT1_RST_HOLD_G,CLKOUT2_RST_HOLD_G,CLKOUT3_RST_HOLD_G,CLKOUT4_RST_HOLD_G,CLKOUT5_RST_HOLD_G,CLKOUT6_RST_HOLD_G,CLKOUT0_RST_POLARITY_G,CLKOUT1_RST_POLARITY_G,CLKOUT2_RST_POLARITY_G,CLKOUT3_RST_POLARITY_G,CLKOUT4_RST_POLARITY_G,CLKOUT5_RST_POLARITY_G,CLKOUT6_RST_POLARITY_G,
 
integer   range  1 to  128 CLKOUT0_DIVIDE_G
 
real   range  0.01 to  0.99 CLKOUT2_DUTY_CYCLE_G
 
real   range  1.0 to  128.0 CLKOUT0_DIVIDE_F_G
 
integer   range  1 to  128 CLKOUT3_DIVIDE_G
 
sl   CLKOUT2_RST_POLARITY_G
 
sl   CLKOUT5_RST_POLARITY_G
 
integer   range  1 to  128 CLKOUT1_DIVIDE_G
 
real   range  1.0 to  64.0 CLKFBOUT_MULT_F_G
 
integer   range  3 to    positive'high CLKOUT5_RST_HOLD_G
 
real   range  0.01 to  0.99 CLKOUT3_DUTY_CYCLE_G
 
real   range  0.01 to  0.99 CLKOUT6_DUTY_CYCLE_G
 
integer   range  1 to  128 CLKOUT2_DIVIDE_G
 
real   range - 360.0 to  360.0 CLKOUT1_PHASE_G
 
ClockManager7CfgType itei,t,e,
 
integer   range  3 to    positive'high CLKOUT6_RST_HOLD_G
 
real   range - 360.0 to  360.0 CLKOUT0_PHASE_G
 
integer   range  3 to    positive'high CLKOUT4_RST_HOLD_G
 
sl   CLKOUT3_RST_POLARITY_G
 
integer   range  3 to    positive'high CLKOUT0_RST_HOLD_G
 
real   range  0.01 to  0.99 CLKOUT0_DUTY_CYCLE_G
 
integer   range  3 to    positive'high CLKOUT2_RST_HOLD_G