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

📄 _primary.vhd

📁 正弦信号发生器程序,用VERILOG写出。
💻 VHD
字号:
library verilog;use verilog.vl_types.all;entity altpll is    generic(        intended_device_family: string  := "Stratix";        operation_mode  : string  := "NORMAL";        pll_type        : string  := "AUTO";        qualify_conf_done: string  := "OFF";        compensate_clock: string  := "CLK0";        scan_chain      : string  := "LONG";        primary_clock   : string  := "inclk0";        inclk0_input_frequency: integer := 1000;        inclk1_input_frequency: integer := 1000;        gate_lock_signal: string  := "NO";        gate_lock_counter: integer := 0;        lock_high       : integer := 1;        lock_low        : integer := 5;        valid_lock_multiplier: integer := 1;        invalid_lock_multiplier: integer := 5;        switch_over_type: string  := "AUTO";        switch_over_on_lossclk: string  := "OFF";        switch_over_on_gated_lock: string  := "OFF";        enable_switch_over_counter: string  := "OFF";        switch_over_counter: integer := 0;        feedback_source : string  := "EXTCLK0";        bandwidth       : integer := 0;        bandwidth_type  : string  := "UNUSED";        spread_frequency: integer := 0;        down_spread     : string  := "0.0";        simulation_type : string  := "functional";        source_is_pll   : string  := "off";        skip_vco        : string  := "off";        clk5_multiply_by: integer := 1;        clk4_multiply_by: integer := 1;        clk3_multiply_by: integer := 1;        clk2_multiply_by: integer := 1;        clk1_multiply_by: integer := 1;        clk0_multiply_by: integer := 1;        clk5_divide_by  : integer := 1;        clk4_divide_by  : integer := 1;        clk3_divide_by  : integer := 1;        clk2_divide_by  : integer := 1;        clk1_divide_by  : integer := 1;        clk0_divide_by  : integer := 1;        clk5_phase_shift: string  := "0";        clk4_phase_shift: string  := "0";        clk3_phase_shift: string  := "0";        clk2_phase_shift: string  := "0";        clk1_phase_shift: string  := "0";        clk0_phase_shift: string  := "0";        clk2_phase_shift_num: integer := 0;        clk1_phase_shift_num: integer := 0;        clk0_phase_shift_num: integer := 0;        clk5_time_delay : string  := "0";        clk4_time_delay : string  := "0";        clk3_time_delay : string  := "0";        clk2_time_delay : string  := "0";        clk1_time_delay : string  := "0";        clk0_time_delay : string  := "0";        clk5_duty_cycle : integer := 50;        clk4_duty_cycle : integer := 50;        clk3_duty_cycle : integer := 50;        clk2_duty_cycle : integer := 50;        clk1_duty_cycle : integer := 50;        clk0_duty_cycle : integer := 50;        extclk3_multiply_by: integer := 1;        extclk2_multiply_by: integer := 1;        extclk1_multiply_by: integer := 1;        extclk0_multiply_by: integer := 1;        extclk3_divide_by: integer := 1;        extclk2_divide_by: integer := 1;        extclk1_divide_by: integer := 1;        extclk0_divide_by: integer := 1;        extclk3_phase_shift: string  := "0";        extclk2_phase_shift: string  := "0";        extclk1_phase_shift: string  := "0";        extclk0_phase_shift: string  := "0";        extclk3_time_delay: string  := "0";        extclk2_time_delay: string  := "0";        extclk1_time_delay: string  := "0";        extclk0_time_delay: string  := "0";        extclk3_duty_cycle: integer := 50;        extclk2_duty_cycle: integer := 50;        extclk1_duty_cycle: integer := 50;        extclk0_duty_cycle: integer := 50;        vco_multiply_by : integer := 1;        vco_divide_by   : integer := 1;        sclkout0_phase_shift: string  := "0";        sclkout1_phase_shift: string  := "0";        vco_min         : integer := 0;        vco_max         : integer := 0;        vco_center      : integer := 0;        pfd_min         : integer := 0;        pfd_max         : integer := 0;        m_initial       : integer := 1;        m               : integer := 0;        n               : integer := 1;        m2              : integer := 1;        n2              : integer := 1;        ss              : integer := 0;        l0_high         : integer := 1;        l1_high         : integer := 1;        g0_high         : integer := 1;        g1_high         : integer := 1;        g2_high         : integer := 1;        g3_high         : integer := 1;        e0_high         : integer := 1;        e1_high         : integer := 1;        e2_high         : integer := 1;        e3_high         : integer := 1;        l0_low          : integer := 1;        l1_low          : integer := 1;        g0_low          : integer := 1;        g1_low          : integer := 1;        g2_low          : integer := 1;        g3_low          : integer := 1;        e0_low          : integer := 1;        e1_low          : integer := 1;        e2_low          : integer := 1;        e3_low          : integer := 1;        l0_initial      : integer := 1;        l1_initial      : integer := 1;        g0_initial      : integer := 1;        g1_initial      : integer := 1;        g2_initial      : integer := 1;        g3_initial      : integer := 1;        e0_initial      : integer := 1;        e1_initial      : integer := 1;        e2_initial      : integer := 1;        e3_initial      : integer := 1;        l0_mode         : string  := "bypass";        l1_mode         : string  := "bypass";        g0_mode         : string  := "bypass";        g1_mode         : string  := "bypass";        g2_mode         : string  := "bypass";        g3_mode         : string  := "bypass";        e0_mode         : string  := "bypass";        e1_mode         : string  := "bypass";        e2_mode         : string  := "bypass";        e3_mode         : string  := "bypass";        l0_ph           : integer := 0;        l1_ph           : integer := 0;        g0_ph           : integer := 0;        g1_ph           : integer := 0;        g2_ph           : integer := 0;        g3_ph           : integer := 0;        e0_ph           : integer := 0;        e1_ph           : integer := 0;        e2_ph           : integer := 0;        e3_ph           : integer := 0;        m_ph            : integer := 0;        l0_time_delay   : integer := 0;        l1_time_delay   : integer := 0;        g0_time_delay   : integer := 0;        g1_time_delay   : integer := 0;        g2_time_delay   : integer := 0;        g3_time_delay   : integer := 0;        e0_time_delay   : integer := 0;        e1_time_delay   : integer := 0;        e2_time_delay   : integer := 0;        e3_time_delay   : integer := 0;        m_time_delay    : integer := 0;        n_time_delay    : integer := 0;        extclk3_counter : string  := "e3";        extclk2_counter : string  := "e2";        extclk1_counter : string  := "e1";        extclk0_counter : string  := "e0";        clk5_counter    : string  := "l1";        clk4_counter    : string  := "l0";        clk3_counter    : string  := "g3";        clk2_counter    : string  := "g2";        clk1_counter    : string  := "g1";        clk0_counter    : string  := "g0";        enable0_counter : string  := "l0";        enable1_counter : string  := "l0";        charge_pump_current: integer := 2;        loop_filter_r   : string  := "1.0";        loop_filter_c   : integer := 5;        vco_post_scale  : integer := 0;        lpm_type        : string  := "altpll";        c0_high         : integer := 1;        c1_high         : integer := 1;        c2_high         : integer := 1;        c3_high         : integer := 1;        c4_high         : integer := 1;        c5_high         : integer := 1;        c0_low          : integer := 1;        c1_low          : integer := 1;        c2_low          : integer := 1;        c3_low          : integer := 1;        c4_low          : integer := 1;        c5_low          : integer := 1;        c0_initial      : integer := 1;        c1_initial      : integer := 1;        c2_initial      : integer := 1;        c3_initial      : integer := 1;        c4_initial      : integer := 1;        c5_initial      : integer := 1;        c0_mode         : string  := "bypass";        c1_mode         : string  := "bypass";        c2_mode         : string  := "bypass";        c3_mode         : string  := "bypass";        c4_mode         : string  := "bypass";        c5_mode         : string  := "bypass";        c0_ph           : integer := 0;        c1_ph           : integer := 0;        c2_ph           : integer := 0;        c3_ph           : integer := 0;        c4_ph           : integer := 0;        c5_ph           : integer := 0;        c1_use_casc_in  : string  := "off";        c2_use_casc_in  : string  := "off";        c3_use_casc_in  : string  := "off";        c4_use_casc_in  : string  := "off";        c5_use_casc_in  : string  := "off"    );    port(        inclk           : in     vl_logic_vector(1 downto 0);        fbin            : in     vl_logic;        pllena          : in     vl_logic;        clkswitch       : in     vl_logic;        areset          : in     vl_logic;        pfdena          : in     vl_logic;        clkena          : in     vl_logic_vector(5 downto 0);        extclkena       : in     vl_logic_vector(3 downto 0);        scanclk         : in     vl_logic;        scanaclr        : in     vl_logic;        scanread        : in     vl_logic;        scanwrite       : in     vl_logic;        scandata        : in     vl_logic;        comparator      : in     vl_logic;        clk             : out    vl_logic_vector(5 downto 0);        extclk          : out    vl_logic_vector(3 downto 0);        clkbad          : out    vl_logic_vector(1 downto 0);        enable0         : out    vl_logic;        enable1         : out    vl_logic;        activeclock     : out    vl_logic;        clkloss         : out    vl_logic;        locked          : out    vl_logic;        scandataout     : out    vl_logic;        scandone        : out    vl_logic;        sclkout0        : out    vl_logic;        sclkout1        : out    vl_logic    );end altpll;

⌨️ 快捷键说明

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