📄 altera_mf_components.vhd
字号:
---- Copyright (C) 1988-2004 Altera Corporation---- Any megafunction design, and related net list (encrypted or decrypted),-- support information, device programming or simulation file, and any-- other associated documentation or information provided by Altera or a-- partner under Altera's Megafunction Partnership Program may be used only-- to program PLD devices (but not masked PLD devices) from Altera. Any-- other use of such megafunction design, net list, support information,-- device programming or simulation file, or any other related-- documentation or information is prohibited for any other purpose,-- including, but not limited to modification, reverse engineering, de--- compiling, or use with any other silicon devices, unless such use is-- explicitly licensed under a separate agreement with Altera or a-- megafunction partner. Title to the intellectual property, including-- patents, copyrights, trademarks, trade secrets, or maskworks, embodied-- in any such megafunction design, net list, support information, device-- programming or simulation file, or any other related documentation or-- information provided by Altera or a megafunction partner, remains with-- Altera, the megafunction partner, or their respective licensors. No-- other licenses, including any licenses needed under any third party's-- intellectual property, are provided herein.------------------------------------------------------------------------------ ALtera Megafunction Component Declaration File----------------------------------------------------------------------------library ieee;use ieee.std_logic_1164.all;package altera_mf_components is-- pragma translate_offcomponent altdpram generic ( width : natural; widthad : natural; numwords : natural := 0; lpm_file : string := "UNUSED"; lpm_hint : string := "USE_EAB=ON"; use_eab : string := "ON"; indata_reg : string := "UNREGISTERED"; indata_aclr : string := "OFF"; wraddress_reg : string := "UNREGISTERED"; wraddress_aclr : string := "OFF"; wrcontrol_reg : string := "UNREGISTERED"; wrcontrol_aclr : string := "OFF"; rdaddress_reg : string := "UNREGISTERED"; rdaddress_aclr : string := "OFF"; rdcontrol_reg : string := "UNREGISTERED"; rdcontrol_aclr : string := "OFF"; outdata_reg : string := "UNREGISTERED"; outdata_aclr : string := "OFF"; intended_device_family : string := "APEX20KE"; lpm_type : string := "altdpram" ); port ( wren : in std_logic := '0'; data : in std_logic_vector(width-1 downto 0); wraddress : in std_logic_vector(widthad-1 downto 0); inclock : in std_logic := '0'; inclocken : in std_logic := '1'; rden : in std_logic := '1'; rdaddress : in std_logic_vector(widthad-1 downto 0); outclock : in std_logic := '0'; outclocken : in std_logic := '1'; aclr : in std_logic := '0'; q : out std_logic_vector(width-1 downto 0) );end component;component altqpram generic ( operation_mode : string := "QUAD_PORT"; width_write_a : natural := 1; widthad_write_a : natural := 1; numwords_write_a : natural := 0; -- default = 2^widthad_write_a indata_reg_a : string := "INCLOCK_A"; indata_aclr_a : string := "INACLR_A"; wrcontrol_wraddress_reg_a : string := "INCLOCK_A"; wrcontrol_aclr_a : string := "INACLR_A"; wraddress_aclr_a : string := "INACLR_A"; width_write_b : natural := 1; -- default = width_write_a widthad_write_b : natural := 1; -- default = widthad_write_a numwords_write_b : natural := 0; -- default = 2^widthad_write_b indata_reg_b : string := "INCLOCK_B"; indata_aclr_b : string := "INACLR_B"; wrcontrol_wraddress_reg_b : string := "INCLOCK_B"; wrcontrol_aclr_b : string := "INACLR_B"; wraddress_aclr_b : string := "INACLR_B"; width_read_a : natural := 1; widthad_read_a : natural := 1; numwords_read_a : natural := 0; -- default = 2^widthad_read_a rdcontrol_reg_a : string := "OUTCLOCK_A"; rdcontrol_aclr_a : string := "OUTACLR_A"; rdaddress_reg_a : string := "OUTCLOCK_A"; rdaddress_aclr_a : string := "OUTACLR_A"; outdata_reg_a : string := "UNREGISTERED"; outdata_aclr_a : string := "OUTACLR_A"; width_read_b : natural := 1; -- default = width_read_a widthad_read_b : natural := 1; -- default = widthad_read_a numwords_read_b : natural := 0; -- default = 2^widthad_read_b rdcontrol_reg_b : string := "OUTCLOCK_B"; rdcontrol_aclr_b : string := "OUTACLR_B"; rdaddress_reg_b : string := "OUTCLOCK_B"; rdaddress_aclr_b : string := "OUTACLR_B"; outdata_reg_b : string := "UNREGISTERED"; outdata_aclr_b : string := "OUTACLR_B"; init_file : string := "UNUSED"; lpm_hint : string := "UNUSED"; lpm_type : string := "altqpram" ); port ( wren_a : in std_logic := '0'; wren_b : in std_logic := '0'; data_a : in std_logic_vector(width_write_a-1 downto 0) := (OTHERS => '0'); data_b : in std_logic_vector(width_write_b-1 downto 0) := (OTHERS => '0'); wraddress_a : in std_logic_vector(widthad_write_a-1 downto 0) := (OTHERS => '0'); wraddress_b : in std_logic_vector(widthad_write_b-1 downto 0) := (OTHERS => '0'); inclock_a : in std_logic := '0'; inclock_b : in std_logic := '0'; inclocken_a : in std_logic := '1'; inclocken_b : in std_logic := '1'; rden_a : in std_logic := '1'; rden_b : in std_logic := '1'; rdaddress_a : in std_logic_vector(widthad_read_a-1 downto 0) := (OTHERS => '0'); rdaddress_b : in std_logic_vector(widthad_read_b-1 downto 0) := (OTHERS => '0'); outclock_a : in std_logic := '0'; outclock_b : in std_logic := '0'; outclocken_a : in std_logic := '1'; outclocken_b : in std_logic := '1'; inaclr_a : in std_logic := '0'; inaclr_b : in std_logic := '0'; outaclr_a : in std_logic := '0'; outaclr_b : in std_logic := '0'; q_a : out std_logic_vector(width_read_a-1 downto 0); q_b : out std_logic_vector(width_read_b-1 downto 0) );end component;component altpllgeneric ( 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 : positive; -- required parameter inclk1_input_frequency : natural := 0; gate_lock_signal : string := "NO"; gate_lock_counter : integer := 0; lock_high : natural := 1; lock_low : natural := 5; valid_lock_multiplier : natural := 1; invalid_lock_multiplier : natural := 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 : natural := 0; feedback_source : string := "EXTCLK0" ; bandwidth : natural := 0; bandwidth_type : string := "UNUSED"; spread_frequency : natural := 0; down_spread : string := "0.0"; -- simulation-only parameters simulation_type : string := "functional"; source_is_pll : string := "off"; skip_vco : string := "off"; -- internal clock specifications clk5_multiply_by : positive := 1; clk4_multiply_by : positive := 1; clk3_multiply_by : positive := 1; clk2_multiply_by : positive := 1; clk1_multiply_by : positive := 1; clk0_multiply_by : positive := 1; clk5_divide_by : positive := 1; clk4_divide_by : positive := 1; clk3_divide_by : positive := 1; clk2_divide_by : positive := 1; clk1_divide_by : positive := 1; clk0_divide_by : positive := 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"; 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 : natural := 50; clk4_duty_cycle : natural := 50; clk3_duty_cycle : natural := 50;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -