⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 altera_mf.vhd

📁 The GRLIB IP Library is an integrated set of reusable IP cores, designed for system-on-chip (SOC) de
💻 VHD
📖 第 1 页 / 共 5 页
字号:
signal fbclk       : std_logic;signal refclk      : std_logic;signal l0_clk : std_logic;signal l1_clk : std_logic;signal g0_clk : std_logic;signal g1_clk : std_logic;signal g2_clk : std_logic;signal g3_clk : std_logic;signal e0_clk : std_logic;signal e1_clk : std_logic;signal e2_clk : std_logic;signal e3_clk : std_logic;signal vco_out : std_logic_vector(7 downto 0) := (OTHERS => '0');-- signals to assign values to counter paramssignal m_val : integer := 1;signal m2_val : integer := 1;signal n_val : integer := 1;signal n2_val : integer := 1;signal m_time_delay_val, n_time_delay_val : integer := 0;signal m_ph_val : integer := 0;signal m_initial_val : integer := m_initial;signal l0_initial_val : integer := l0_initial;signal l1_initial_val : integer := l1_initial;signal l0_high_val : integer := l0_high;signal l1_high_val : integer := l1_high;signal l0_low_val : integer := l0_low;signal l1_low_val : integer := l1_low;signal l0_mode_val : string(1 to 6) := "bypass";signal l1_mode_val : string(1 to 6) := "bypass";signal l0_time_delay_val : integer := l0_time_delay;signal l1_time_delay_val : integer := l1_time_delay;signal g0_initial_val : integer := g0_initial;signal g1_initial_val : integer := g1_initial;signal g2_initial_val : integer := g2_initial;signal g3_initial_val : integer := g3_initial;signal g0_high_val : integer := g0_high;signal g1_high_val : integer := g1_high;signal g2_high_val : integer := g2_high;signal g3_high_val : integer := g3_high;signal g0_mode_val : string(1 to 6) := "bypass";signal g1_mode_val : string(1 to 6) := "bypass";signal g2_mode_val : string(1 to 6) := "bypass";signal g3_mode_val : string(1 to 6) := "bypass";signal g0_low_val : integer := g0_low;signal g1_low_val : integer := g1_low;signal g2_low_val : integer := g2_low;signal g3_low_val : integer := g3_low;signal g0_time_delay_val : integer := g0_time_delay;signal g1_time_delay_val : integer := g1_time_delay;signal g2_time_delay_val : integer := g2_time_delay;signal g3_time_delay_val : integer := g3_time_delay;signal e0_initial_val : integer := e0_initial;signal e1_initial_val : integer := e1_initial;signal e2_initial_val : integer := e2_initial;signal e3_initial_val : integer := e3_initial;signal e0_high_val : integer := e0_high;signal e1_high_val : integer := e1_high;signal e2_high_val : integer := e2_high;signal e3_high_val : integer := e3_high;signal e0_low_val : integer := e0_low;signal e1_low_val : integer := e1_low;signal e2_low_val : integer := e2_low;signal e3_low_val : integer := e3_low;signal e0_time_delay_val : integer := e0_time_delay;signal e1_time_delay_val : integer := e1_time_delay;signal e2_time_delay_val : integer := e2_time_delay;signal e3_time_delay_val : integer := e3_time_delay;signal e0_mode_val : string(1 to 6) := "bypass";signal e1_mode_val : string(1 to 6) := "bypass";signal e2_mode_val : string(1 to 6) := "bypass";signal e3_mode_val : string(1 to 6) := "bypass";signal m_mode_val : string(1 to 6) := "      ";signal m2_mode_val : string(1 to 6) := "      ";signal n_mode_val : string(1 to 6) := "      ";signal n2_mode_val : string(1 to 6) := "      ";signal cntr_e0_initial : integer := 1;signal cntr_e1_initial : integer := 1;signal cntr_e2_initial : integer := 1;signal cntr_e3_initial : integer := 1;signal ext_fbk_delay : integer := 0;signal cntr_e0_delay : integer := 0;signal cntr_e1_delay : integer := 0;signal cntr_e2_delay : integer := 0;signal cntr_e3_delay : integer := 0;signal transfer : std_logic := '0';signal scan_data : std_logic_vector(288 downto 0) := (OTHERS => '0');signal ena0 : std_logic;signal ena1 : std_logic;signal ena2 : std_logic;signal ena3 : std_logic;signal ena4 : std_logic;signal ena5 : std_logic;signal extena0 : std_logic;signal extena1 : std_logic;signal extena2 : std_logic;signal extena3 : std_logic;signal clk0_tmp : std_logic;signal clk1_tmp : std_logic;signal clk2_tmp : std_logic;signal clk3_tmp : std_logic;signal clk4_tmp : std_logic;signal clk5_tmp : std_logic;signal extclk0_tmp : std_logic;signal extclk1_tmp : std_logic;signal extclk2_tmp : std_logic;signal extclk3_tmp : std_logic;signal not_clk0_tmp : std_logic;signal not_clk1_tmp : std_logic;signal not_clk2_tmp : std_logic;signal not_clk3_tmp : std_logic;signal not_clk4_tmp : std_logic;signal not_clk5_tmp : std_logic;signal not_extclk0_tmp : std_logic;signal not_extclk1_tmp : std_logic;signal not_extclk2_tmp : std_logic;signal not_extclk3_tmp : std_logic;signal clkin : std_logic := '0';signal gate_locked : std_logic := '0';signal lock : std_logic := '0';signal about_to_lock : boolean := false;signal quiet_period_violation : boolean := false;signal reconfig_err : boolean := false;signal scanclr_violation : boolean := false;signal scanclr_clk_violation : boolean := false;signal inclk_l0 : std_logic;signal inclk_l1 : std_logic;signal inclk_g0 : std_logic;signal inclk_g1 : std_logic;signal inclk_g2 : std_logic;signal inclk_g3 : std_logic;signal inclk_e0 : std_logic;signal inclk_e1 : std_logic;signal inclk_e2 : std_logic;signal inclk_e3 : std_logic;signal inclk_m : std_logic;signal devpor : std_logic;signal devclrn : std_logic;signal inclk0_ipd : std_logic;signal inclk1_ipd : std_logic;signal ena_ipd : std_logic;signal pfdena_ipd : std_logic;signal comparator_ipd : std_logic;signal areset_ipd : std_logic;signal fbin_ipd : std_logic;signal clkena0_ipd : std_logic;signal clkena1_ipd : std_logic;signal clkena2_ipd : std_logic;signal clkena3_ipd : std_logic;signal clkena4_ipd : std_logic;signal clkena5_ipd : std_logic;signal extclkena0_ipd : std_logic;signal extclkena1_ipd : std_logic;signal extclkena2_ipd : std_logic;signal extclkena3_ipd : std_logic;signal scanclk_ipd : std_logic;signal scanaclr_ipd : std_logic;signal scandata_ipd : std_logic;signal clkswitch_ipd : std_logic;signal lvds_dffa_clk : std_logic;signal lvds_dffb_clk : std_logic;signal lvds_dffc_clk : std_logic;signal lvds_dffd_clk : std_logic;signal dffa_out : std_logic := '0';signal dffb_out : std_logic := '0';signal dffc_out : std_logic := '0';signal dffd_out : std_logic := '0';signal nce_temp : std_logic := '0';signal nce_l0 : std_logic := '0';signal nce_l1 : std_logic := '0';signal inclk_l0_dly1 : std_logic := '0';signal inclk_l0_dly2 : std_logic := '0';signal inclk_l0_dly3 : std_logic := '0';signal inclk_l0_dly4 : std_logic := '0';signal inclk_l0_dly5 : std_logic := '0';signal inclk_l0_dly6 : std_logic := '0';signal inclk_l1_dly1 : std_logic := '0';signal inclk_l1_dly2 : std_logic := '0';signal inclk_l1_dly3 : std_logic := '0';signal inclk_l1_dly4 : std_logic := '0';signal inclk_l1_dly5 : std_logic := '0';signal inclk_l1_dly6 : std_logic := '0';signal sig_offset : time := 0 ps;signal sig_refclk_time : time := 0 ps;signal sig_fbclk_period : time := 0 ps;signal sig_vco_period_was_phase_adjusted : boolean := false;signal sig_phase_adjust_was_scheduled : boolean := false;signal sig_stop_vco : std_logic := '0';signal sig_m_times_vco_period : time := 0 ps;signal sig_new_m_times_vco_period : time := 0 ps;signal sig_got_refclk_posedge : boolean := false;signal sig_got_fbclk_posedge : boolean := false;signal sig_got_second_refclk : boolean := false;signal m_delay : integer := 0;signal n_delay : integer := 0;signal sig_curr_clock : string(1 to 6) := primary_clock;signal inclk1_tmp : std_logic := '0';signal scan_chain_length : integer := GPP_SCAN_CHAIN;signal ext_fbk_cntr_high : integer := 0;signal ext_fbk_cntr_low : integer := 0;signal ext_fbk_cntr_delay : integer := 0;signal ext_fbk_cntr_ph : integer := 0;signal ext_fbk_cntr_initial : integer := 1;signal ext_fbk_cntr     : string(1 to 2) := "e0";signal ext_fbk_cntr_mode : string(1 to 6) := "bypass";signal enable0_tmp : std_logic := '0';signal enable1_tmp : std_logic := '0';signal reset_low : std_logic := '0';signal scandataout_tmp : std_logic := '0';signal sig_refclk_period : time := (inclk0_input_frequency * 1 ps) * n;signal schedule_vco : std_logic := '0';signal areset_ena_sig : std_logic := '0';COMPONENT MF_mn_cntr    PORT ( clk           : IN std_logic;           reset         : IN std_logic;           cout          : OUT std_logic;           initial_value : IN integer := 1;           modulus       : IN integer;           time_delay    : IN integer;           ph            : IN integer := 0         );END COMPONENT;COMPONENT stx_scale_cntr    PORT ( clk            : IN std_logic;           reset          : IN std_logic;           cout           : OUT std_logic;           initial        : IN integer := 1;           high           : IN integer := 1;           low            : IN integer := 1;           mode           : IN string := "bypass";           time_delay     : IN integer := 0;           ph_tap         : IN natural         );END COMPONENT;component DFFPport(    Q                              :  out   STD_LOGIC := '0';    D                              :  in    STD_LOGIC := '1';    CLRN                           :  in    STD_LOGIC := '1';    PRN                            :  in    STD_LOGIC := '1';    CLK                            :  in    STD_LOGIC := '0';    ENA                            :  in    STD_LOGIC := '1');end component;COMPONENT MF_PLL_REG   PORT(      Q                              :  out   STD_LOGIC := '0';      D                              :  in    STD_LOGIC := '1';      CLRN                           :  in    STD_LOGIC := '1';      PRN                            :  in    STD_LOGIC := '1';      CLK                            :  in    STD_LOGIC := '0';      ENA                            :  in    STD_LOGIC := '1');END COMPONENT;begin    ----------------------    --  INPUT PATH DELAYs    ----------------------    WireDelay : block    begin        inclk0_ipd <= inclk(0);        inclk1_ipd <= inclk(1);        areset_ipd <= areset;        ena_ipd <= ena;        fbin_ipd <= fbin;        pfdena_ipd <= pfdena;        clkena0_ipd <= clkena(0);        clkena1_ipd <= clkena(1);        clkena2_ipd <= clkena(2);        clkena3_ipd <= clkena(3);        clkena4_ipd <= clkena(4);        clkena5_ipd <= clkena(5);        extclkena0_ipd <= extclkena(0);        extclkena1_ipd <= extclkena(1);        extclkena2_ipd <= extclkena(2);        extclkena3_ipd <= extclkena(3);        scanclk_ipd <= scanclk;        scanaclr_ipd <= scanaclr;        scandata_ipd <= scandata;        comparator_ipd <= comparator;        clkswitch_ipd <= clkswitch;    end block;-- User to Advanced parameter conversion    i_extclk3_counter       <= "e3" when m=0 else extclk3_counter;    i_extclk2_counter       <= "e2" when m=0 else extclk2_counter;    i_extclk1_counter       <= "e1" when m=0 else extclk1_counter;    i_extclk0_counter       <= "e0" when m=0 else extclk0_counter;    i_clk5_counter          <= "l1" when m=0 else clk5_counter;    i_clk4_counter          <= "l0" when m=0 else clk4_counter;    i_clk3_counter          <= "g3" when m=0 else clk3_counter;    i_clk2_counter          <= "g2" when m=0 else clk2_counter;    i_clk1_counter          <= "g1" when m=0 else clk1_counter;    i_clk0_counter          <= "l0" when m=0 and pll_type = "lvds" else                               "g0" when m=0 else clk0_counter;-- end parameter conversion    inclk_m <= extclk0_tmp when operation_mode = "external_feedback" and feedback_source = "extclk0" else               extclk1_tmp when operation_mode = "external_feedback" and feedback_source = "extclk1" else               extclk2_tmp when operation_mode = "external_feedback" and feedback_source = "extclk2" else               extclk3_tmp when operation_mode = "external_feedback" and feedback_source = "extclk3" else               vco_out(m_ph_val);    ext_fbk_cntr <= "e0" when (feedback_source = "extclk0" and extclk0_counter = "e0") or (feedback_source = "extclk1" and extclk1_counter = "e0") or (feedback_source = "extclk2" and extclk2_counter = "e0") or (feedback_source = "extclk3" and extclk3_counter = "e0") else                    "e1" when (feedback_source = "extclk0" and extclk0_counter = "e1") or (feedback_source = "extclk1" and extclk1_counter = "e1") or (feedback_source = "extclk2" and extclk2_counter = "e1") or (feedback_source = "extclk3" and extclk3_counter = "e1") else                    "e2" when (feedback_source = "extclk0" and extclk0_counter = "e2") or (feedback_source = "extclk1" and extclk1_counter = "e2") or (feedback_source = "extclk2" and extclk2_counter = "e2") or (feedback_source = "extclk3" and extclk3_counter = "e2") else                    "e3" when (feedback_source = "extclk0" and extclk0_counter = "e3") or (feedback_source = "extclk1" and extclk1_counter = "e3") or (feedback_source = "extclk2" and extclk2_counter = "e3") or (feedback_source = "extclk3" and extclk3_counter = "e3") else                    "e0";    ext_fbk_cntr_high <= e0_high_val when ext_fbk_cntr = "e0" else                         e1_high_val when ext_fbk_cntr = "e1" else                         e2_high_val when ext_fbk_cntr = "e2" else                         e3_high_val when ext_fbk_cntr = "e3" else                         1;    ext_fbk_cntr_low <= e0_low_val when ext_fbk_cntr = "e0" else                        e1_low_val when ext_fbk_cntr = "e1" else                        e2_low_val when ext_fbk_cntr = "e2" else                        e3_low_val when ext_fbk_cntr = "e3" else                        1;    ext_fbk_cntr_delay <= e0_time_delay_val when ext_fbk_cntr = "e0" else                          e1_time_delay_val when ext_fbk_cntr = "e1" else                          e2_time_delay_val when ext_fbk_cntr = "e2" else                          e3_time_delay_val when ext_fbk_cntr = "e3" else                          0;    ext_fbk_cntr_ph <= e0_ph_val when ext_fbk_cntr = "e0" else                       e1_ph_val when ext_fbk_cntr = "e1" else                       e2_ph_val when ext_fbk_cntr = "e2" else                       e3_ph_val when ext_fbk_cntr = "e3" else                       0;    ext_fbk_cntr_initial <= e0_initial_val when ext_fbk_cntr = "e0" else                            e1_initial_val when ext_fbk_cntr = "e1" else                            e2_initial_val when ext_fbk_cntr = "e2" else                            e3_initial_val when ext_fbk_cntr = "e3" else                            0;    ext_fbk_cntr_mode <= e0_mode_val when ext_fbk_cntr 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -