diff --git a/libraries/technology/clkbuf/tech_clkbuf.vhd b/libraries/technology/clkbuf/tech_clkbuf.vhd index 764f5ebc8b152f24545b805d2e46585f05be6fb1..f7bb50c7ae2f9d5b1c4e526e94db8086ff0fb39c 100644 --- a/libraries/technology/clkbuf/tech_clkbuf.vhd +++ b/libraries/technology/clkbuf/tech_clkbuf.vhd @@ -27,6 +27,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_arria10_clkbuf_global_altclkctrl_150; +LIBRARY ip_arria10_e3sge3_clkbuf_global_altclkctrl_151; ENTITY tech_clkbuf IS GENERIC ( @@ -55,4 +56,15 @@ BEGIN ); END GENERATE; + ----------------------------------------------------------------------------- + -- ip_arria10_e3sge3 + ----------------------------------------------------------------------------- + + gen_ip_arria10_e3sge3 : IF g_technology=c_tech_arria10_e3sge3 AND g_clock_net="GLOBAL" GENERATE + u0 : ip_arria10_e3sge3_clkbuf_global + PORT MAP ( + inclk => inclk, -- inclk + outclk => outclk -- outclk + ); + END GENERATE; END ARCHITECTURE; diff --git a/libraries/technology/clkbuf/tech_clkbuf_component_pkg.vhd b/libraries/technology/clkbuf/tech_clkbuf_component_pkg.vhd index f1f267913a456e7835ad27c0fde2ecdc66510045..efc4c049e077374383968b9e230816c80a01f06b 100644 --- a/libraries/technology/clkbuf/tech_clkbuf_component_pkg.vhd +++ b/libraries/technology/clkbuf/tech_clkbuf_component_pkg.vhd @@ -36,6 +36,18 @@ PACKAGE tech_clkbuf_component_pkg IS outclk : out std_logic -- altclkctrl_output.outclk ); END COMPONENT; + + + ----------------------------------------------------------------------------- + -- ip_arria10_e3sge3 + ----------------------------------------------------------------------------- + + COMPONENT ip_arria10_e3sge3_clkbuf_global IS + PORT ( + inclk : in std_logic := '0'; -- altclkctrl_input.inclk + outclk : out std_logic -- altclkctrl_output.outclk + ); + END COMPONENT; END tech_clkbuf_component_pkg; diff --git a/libraries/technology/fifo/hdllib.cfg b/libraries/technology/fifo/hdllib.cfg index ed4bcec4fd2ea27c1caee96a93f291b353579a81..358adc9cdaed0f6cde6810976d824d212e812f59 100644 --- a/libraries/technology/fifo/hdllib.cfg +++ b/libraries/technology/fifo/hdllib.cfg @@ -1,6 +1,6 @@ hdl_lib_name = tech_fifo hdl_library_clause_name = tech_fifo_lib -hdl_lib_uses_synth = technology ip_stratixiv_fifo ip_arria10_fifo +hdl_lib_uses_synth = technology ip_stratixiv_fifo ip_arria10_fifo ip_arria10_e3sge3_fifo hdl_lib_uses_sim = hdl_lib_technology = diff --git a/libraries/technology/fifo/tech_fifo_component_pkg.vhd b/libraries/technology/fifo/tech_fifo_component_pkg.vhd index 0cc6e4e0784f0e5cacb7c711863593fb449ca66f..69b2209adbedb2c89b2b53b093fc924be702482c 100644 --- a/libraries/technology/fifo/tech_fifo_component_pkg.vhd +++ b/libraries/technology/fifo/tech_fifo_component_pkg.vhd @@ -93,7 +93,7 @@ PACKAGE tech_fifo_component_pkg IS ----------------------------------------------------------------------------- - -- ip_stratixiv + -- ip_arria10 ----------------------------------------------------------------------------- COMPONENT ip_arria10_fifo_sc IS @@ -156,5 +156,71 @@ PACKAGE tech_fifo_component_pkg IS wrusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0) ); END COMPONENT; + + ----------------------------------------------------------------------------- + -- ip_arria10_e3sge3 + ----------------------------------------------------------------------------- + + COMPONENT ip_arria10_e3sge3_fifo_sc IS + GENERIC ( + g_use_eab : STRING := "ON"; + g_dat_w : NATURAL := 20; + g_nof_words : NATURAL := 1024 + ); + PORT ( + aclr : IN STD_LOGIC ; + clock : IN STD_LOGIC ; + data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + rdreq : IN STD_LOGIC ; + wrreq : IN STD_LOGIC ; + empty : OUT STD_LOGIC ; + full : OUT STD_LOGIC ; + q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0) ; + usedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0) + ); + END COMPONENT; + + COMPONENT ip_arria10_e3sge3_fifo_dc IS + GENERIC ( + g_use_eab : STRING := "ON"; + g_dat_w : NATURAL := 20; + g_nof_words : NATURAL := 1024 + ); + PORT ( + aclr : IN STD_LOGIC := '0'; + data : IN STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + rdclk : IN STD_LOGIC ; + rdreq : IN STD_LOGIC ; + wrclk : IN STD_LOGIC ; + wrreq : IN STD_LOGIC ; + q : OUT STD_LOGIC_VECTOR (g_dat_w-1 DOWNTO 0); + rdempty : OUT STD_LOGIC ; + rdusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0); + wrfull : OUT STD_LOGIC ; + wrusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0) + ); + END COMPONENT; + + COMPONENT ip_arria10_e3sge3_fifo_dc_mixed_widths IS + GENERIC ( + g_nof_words : NATURAL := 1024; -- FIFO size in nof wr_dat words + g_wrdat_w : NATURAL := 20; + g_rddat_w : NATURAL := 10 + ); + PORT ( + aclr : IN STD_LOGIC := '0'; + data : IN STD_LOGIC_VECTOR (g_wrdat_w-1 DOWNTO 0); + rdclk : IN STD_LOGIC ; + rdreq : IN STD_LOGIC ; + wrclk : IN STD_LOGIC ; + wrreq : IN STD_LOGIC ; + q : OUT STD_LOGIC_VECTOR (g_rddat_w-1 DOWNTO 0); + rdempty : OUT STD_LOGIC ; + rdusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words*g_wrdat_w/g_rddat_w)-1 DOWNTO 0); + wrfull : OUT STD_LOGIC ; + wrusedw : OUT STD_LOGIC_VECTOR (tech_ceil_log2(g_nof_words)-1 DOWNTO 0) + ); + END COMPONENT; + END tech_fifo_component_pkg; diff --git a/libraries/technology/fifo/tech_fifo_dc.vhd b/libraries/technology/fifo/tech_fifo_dc.vhd index bbee8220686a43f21b82e8164bcd99f36d0020b1..f19df9a1b4d19c721b49f90ccfe1eca70cda4104 100644 --- a/libraries/technology/fifo/tech_fifo_dc.vhd +++ b/libraries/technology/fifo/tech_fifo_dc.vhd @@ -28,6 +28,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_stratixiv_fifo_lib; LIBRARY ip_arria10_fifo_lib; +LIBRARY ip_arria10_e3sge3_fifo_lib; ENTITY tech_fifo_dc IS GENERIC ( @@ -67,5 +68,11 @@ BEGIN GENERIC MAP (g_use_eab, g_dat_w, g_nof_words) PORT MAP (aclr, data, rdclk, rdreq, wrclk, wrreq, q, rdempty, rdusedw, wrfull, wrusedw); END GENERATE; + + gen_ip_arria10_e3sge3 : IF g_technology=c_tech_arria10_e3sge3 GENERATE + u0 : ip_arria10_e3sge3_fifo_dc + GENERIC MAP (g_use_eab, g_dat_w, g_nof_words) + PORT MAP (aclr, data, rdclk, rdreq, wrclk, wrreq, q, rdempty, rdusedw, wrfull, wrusedw); + END GENERATE; END ARCHITECTURE; diff --git a/libraries/technology/fifo/tech_fifo_dc_mixed_widths.vhd b/libraries/technology/fifo/tech_fifo_dc_mixed_widths.vhd index 9912a6a20afd9c674b495f7671bbf4f3b1a49cb5..b0b982ff7e6db453c1bc0adaa0f32d26d8241692 100644 --- a/libraries/technology/fifo/tech_fifo_dc_mixed_widths.vhd +++ b/libraries/technology/fifo/tech_fifo_dc_mixed_widths.vhd @@ -28,6 +28,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_stratixiv_fifo_lib; LIBRARY ip_arria10_fifo_lib; +LIBRARY ip_arria10_e3sge3_fifo_lib; ENTITY tech_fifo_dc_mixed_widths IS GENERIC ( @@ -67,5 +68,11 @@ BEGIN GENERIC MAP (g_nof_words, g_wrdat_w, g_rddat_w) PORT MAP (aclr, data, rdclk, rdreq, wrclk, wrreq, q, rdempty, rdusedw, wrfull, wrusedw); END GENERATE; + + gen_ip_arria10_e3sge3 : IF g_technology=c_tech_arria10_e3sge3 GENERATE + u0 : ip_arria10_e3sge3_fifo_dc_mixed_widths + GENERIC MAP (g_nof_words, g_wrdat_w, g_rddat_w) + PORT MAP (aclr, data, rdclk, rdreq, wrclk, wrreq, q, rdempty, rdusedw, wrfull, wrusedw); + END GENERATE; END ARCHITECTURE; diff --git a/libraries/technology/fifo/tech_fifo_sc.vhd b/libraries/technology/fifo/tech_fifo_sc.vhd index 7481ddeed25fdb4170287f946acf66ef1d10c6ce..ee60048e854314f8856f31a99a9e41d92f43b619 100644 --- a/libraries/technology/fifo/tech_fifo_sc.vhd +++ b/libraries/technology/fifo/tech_fifo_sc.vhd @@ -28,6 +28,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_stratixiv_fifo_lib; LIBRARY ip_arria10_fifo_lib; +LIBRARY ip_arria10_e3sge3_fifo_lib; ENTITY tech_fifo_sc IS GENERIC ( @@ -65,5 +66,11 @@ BEGIN GENERIC MAP (g_use_eab, g_dat_w, g_nof_words) PORT MAP (aclr, clock, data, rdreq, wrreq, empty, full, q, usedw); END GENERATE; + + gen_ip_arria10_e3sge3 : IF g_technology=c_tech_arria10_e3sge3 GENERATE + u0 : ip_arria10_e3sge3_fifo_sc + GENERIC MAP (g_use_eab, g_dat_w, g_nof_words) + PORT MAP (aclr, clock, data, rdreq, wrreq, empty, full, q, usedw); + END GENERATE; END ARCHITECTURE; diff --git a/libraries/technology/flash/tech_flash_asmi_parallel.vhd b/libraries/technology/flash/tech_flash_asmi_parallel.vhd index e1d9c339afe7754472aab788f8efcf3ecb62b8c1..2de89479dd22d15d02ecd141b56a24c945402fc4 100644 --- a/libraries/technology/flash/tech_flash_asmi_parallel.vhd +++ b/libraries/technology/flash/tech_flash_asmi_parallel.vhd @@ -30,6 +30,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_stratixiv_flash_lib; LIBRARY ip_arria10_asmi_parallel_altera_asmi_parallel_150; +LIBRARY ip_arria10_e3sge3_asmi_parallel_altera_asmi_parallel_151; ENTITY tech_flash_asmi_parallel IS GENERIC ( @@ -76,5 +77,10 @@ BEGIN u0 : ip_arria10_asmi_parallel PORT MAP (addr, clkin, datain, rden, read, sector_erase, shift_bytes, wren, write, busy, data_valid, dataout, illegal_erase, illegal_write, reset, sce, en4b_addr); END GENERATE; + + gen_ip_arria10_e3sge3 : IF g_technology=c_tech_arria10_e3sge3 GENERATE + u0 : ip_arria10_e3sge3_asmi_parallel + PORT MAP (addr, clkin, datain, rden, read, sector_erase, shift_bytes, wren, write, busy, data_valid, dataout, illegal_erase, illegal_write, reset, sce, en4b_addr); + END GENERATE; END ARCHITECTURE; diff --git a/libraries/technology/flash/tech_flash_component_pkg.vhd b/libraries/technology/flash/tech_flash_component_pkg.vhd index 243954ce2a9a32a03fe647ddf85236e405516dbd..63d64c81fe2ff987c7c6579b133fcea15df29de4 100644 --- a/libraries/technology/flash/tech_flash_component_pkg.vhd +++ b/libraries/technology/flash/tech_flash_component_pkg.vhd @@ -112,6 +112,51 @@ PACKAGE tech_flash_component_pkg IS ); end component ip_arria10_remote_update; + + ----------------------------------------------------------------------------- + -- ip_arria10_e3sge3 + ----------------------------------------------------------------------------- + + component ip_arria10_e3sge3_asmi_parallel is + port ( + addr : in std_logic_vector(31 downto 0); + clkin : in std_logic; + datain : in std_logic_vector(7 downto 0); + rden : in std_logic; + read : in std_logic; + sector_erase : in std_logic; + shift_bytes : in std_logic; + wren : in std_logic; + write : in std_logic; + busy : out std_logic; + data_valid : out std_logic; + dataout : out std_logic_vector(7 downto 0); + illegal_erase : out std_logic; + illegal_write : out std_logic; + reset : in std_logic; + sce : in std_logic_vector(2 downto 0); + en4b_addr : in std_logic + ); + end component ip_arria10_e3sge3_asmi_parallel; + + -- note the EPCQ-L1024 device appears not to be supported yet. + -- the EPCA-512 was chosen instead + + component ip_arria10_e3sge3_remote_update is + port ( + clock : in std_logic; + data_in : in std_logic_vector(31 downto 0); + param : in std_logic_vector(2 downto 0); + read_param : in std_logic; + reconfig : in std_logic; + reset : in std_logic; + reset_timer : in std_logic; + write_param : in std_logic; + busy : out std_logic; + data_out : out std_logic_vector(31 downto 0) + ); + end component ip_arria10_e3sge3_remote_update; + function tech_flash_addr_w( technology: in integer ) return integer; function tech_flash_data_w( technology: in integer ) return integer; @@ -127,6 +172,9 @@ package body tech_flash_component_pkg is if technology = c_tech_arria10 then return 32; end if; + if technology = c_tech_arria10_e3sge3 then + return 32; + end if; end; function tech_flash_data_w( technology : in integer ) return integer is @@ -137,6 +185,9 @@ package body tech_flash_component_pkg is if technology = c_tech_arria10 then return 32; end if; + if technology = c_tech_arria10_e3sge3 then + return 32; + end if; end; diff --git a/libraries/technology/flash/tech_flash_remote_update.vhd b/libraries/technology/flash/tech_flash_remote_update.vhd index 44eb52db914bd933a84b39208ba4ce3a6830bf44..17c360efb8742f3c9db801526b1622e35f6d6f09 100644 --- a/libraries/technology/flash/tech_flash_remote_update.vhd +++ b/libraries/technology/flash/tech_flash_remote_update.vhd @@ -30,6 +30,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_stratixiv_flash_lib; LIBRARY ip_arria10_remote_update_altera_remote_update_150; +LIBRARY ip_arria10_e3sge3_remote_update_altera_remote_update_151; ENTITY tech_flash_remote_update IS GENERIC ( @@ -66,4 +67,9 @@ BEGIN u0 : ip_arria10_remote_update PORT MAP (clock, data_in, param, read_param, reconfig, reset, reset_timer, write_param, busy, data_out); END GENERATE; + + gen_ip_arria10_e3sge3 : IF g_technology=c_tech_arria10_e3sge3 GENERATE + u0 : ip_arria10_e3sge3_remote_update + PORT MAP (clock, data_in, param, read_param, reconfig, reset, reset_timer, write_param, busy, data_out); + END GENERATE; END ARCHITECTURE; diff --git a/libraries/technology/fpga_temp_sens/tech_fpga_temp_sens.vhd b/libraries/technology/fpga_temp_sens/tech_fpga_temp_sens.vhd index e785842196c6a43747ce3204c5a68ca0f0025391..1b69fc737e394833b0fef77e3e57c6c4fc583a85 100644 --- a/libraries/technology/fpga_temp_sens/tech_fpga_temp_sens.vhd +++ b/libraries/technology/fpga_temp_sens/tech_fpga_temp_sens.vhd @@ -28,6 +28,7 @@ USE technology_lib.technology_pkg.ALL; USE technology_lib.technology_select_pkg.ALL; LIBRARY ip_arria10_temp_sense_altera_temp_sense_150; +LIBRARY ip_arria10_e3sge3_temp_sense_altera_temp_sense_151; ENTITY tech_fpga_temp_sens IS diff --git a/libraries/technology/fpga_temp_sens/tech_fpga_temp_sens_component_pkg.vhd b/libraries/technology/fpga_temp_sens/tech_fpga_temp_sens_component_pkg.vhd index a0080a1af5089aa8080e3d03bea0f92f705a19b4..8c9c255c0ff21d38842cf3e551e78ebf687ff05c 100644 --- a/libraries/technology/fpga_temp_sens/tech_fpga_temp_sens_component_pkg.vhd +++ b/libraries/technology/fpga_temp_sens/tech_fpga_temp_sens_component_pkg.vhd @@ -35,5 +35,14 @@ PACKAGE tech_fpga_temp_sens_component_pkg IS ); END COMPONENT; + COMPONENT ip_arria10_e3sge3_temp_sense IS + PORT ( + corectl : IN STD_LOGIC := '0'; -- corectl.corectl + eoc : OUT STD_LOGIC; -- eoc.eoc + reset : IN STD_LOGIC := '0'; -- reset.reset + tempout : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) -- tempout.tempout + ); + END COMPONENT; + END tech_fpga_temp_sens_component_pkg; diff --git a/libraries/technology/fpga_voltage_sens/tech_fpga_voltage_sens.vhd b/libraries/technology/fpga_voltage_sens/tech_fpga_voltage_sens.vhd index 56f8d9ded7701e523f1a15aea3149e10a5ba7294..f9111d1c9009792940be29d40acdc861e8bef3b3 100644 --- a/libraries/technology/fpga_voltage_sens/tech_fpga_voltage_sens.vhd +++ b/libraries/technology/fpga_voltage_sens/tech_fpga_voltage_sens.vhd @@ -27,6 +27,7 @@ USE technology_lib.technology_pkg.ALL; USE technology_lib.technology_select_pkg.ALL; LIBRARY ip_arria10_voltage_sense_altera_voltage_sense_150; +LIBRARY ip_arria10_e3sge3_voltage_sense_altera_voltage_sense_151; ENTITY tech_fpga_voltage_sens IS diff --git a/libraries/technology/fpga_voltage_sens/tech_fpga_voltage_sens_component_pkg.vhd b/libraries/technology/fpga_voltage_sens/tech_fpga_voltage_sens_component_pkg.vhd index 87a657044a815c3d096b39618c9aa0c2121c06af..9780d0870b7c20633a0334dd4bfc695570630d75 100644 --- a/libraries/technology/fpga_voltage_sens/tech_fpga_voltage_sens_component_pkg.vhd +++ b/libraries/technology/fpga_voltage_sens/tech_fpga_voltage_sens_component_pkg.vhd @@ -44,5 +44,23 @@ PACKAGE tech_fpga_voltage_sens_component_pkg IS ); END COMPONENT; + COMPONENT ip_arria10_e3sge3_voltage_sense IS + PORT ( + clock_clk : in STD_LOGIC := '0'; + reset_sink_reset : in STD_LOGIC; + controller_csr_address : in STD_LOGIC := '0'; + controller_csr_read : in STD_LOGIC := '0'; + controller_csr_write : in STD_LOGIC := '0'; + controller_csr_writedata : in STD_LOGIC_VECTOR(31 downto 0) := (others => '0'); + controller_csr_readdata : out STD_LOGIC_VECTOR(31 downto 0) := (others => '0'); + sample_store_csr_address : in STD_LOGIC_VECTOR(3 downto 0) := "0000"; + sample_store_csr_read : in STD_LOGIC := '0'; + sample_store_csr_write : in STD_LOGIC := '0'; + sample_store_csr_writedata : in STD_LOGIC_VECTOR(31 downto 0) := (others => '0'); + sample_store_csr_readdata : out STD_LOGIC_VECTOR(31 downto 0) := (others => '0'); + sample_store_irq_irq : out STD_LOGIC + ); + END COMPONENT; + END tech_fpga_voltage_sens_component_pkg; diff --git a/libraries/technology/fractional_pll/tech_fractional_pll_clk125.vhd b/libraries/technology/fractional_pll/tech_fractional_pll_clk125.vhd index 4c2814fa2b58775f520d23a275dacc6abaef63cf..00836d4503a21288ef9ad521db00c665f5cf428b 100644 --- a/libraries/technology/fractional_pll/tech_fractional_pll_clk125.vhd +++ b/libraries/technology/fractional_pll/tech_fractional_pll_clk125.vhd @@ -27,6 +27,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_arria10_fractional_pll_clk125_altera_xcvr_fpll_a10_150; +LIBRARY ip_arria10_e3sge3_fractional_pll_clk125_altera_xcvr_fpll_a10_151; ENTITY tech_fractional_pll_clk125 IS GENERIC ( diff --git a/libraries/technology/fractional_pll/tech_fractional_pll_clk200.vhd b/libraries/technology/fractional_pll/tech_fractional_pll_clk200.vhd index 6dd4ec5834dcbdb4ac04a2944467fc8d8ab76111..191326b8c93d03d1bd3ca3ac4fd068c5f6852468 100644 --- a/libraries/technology/fractional_pll/tech_fractional_pll_clk200.vhd +++ b/libraries/technology/fractional_pll/tech_fractional_pll_clk200.vhd @@ -27,6 +27,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_arria10_fractional_pll_clk200_altera_xcvr_fpll_a10_150; +LIBRARY ip_arria10_e3sge3_fractional_pll_clk200_altera_xcvr_fpll_a10_151; ENTITY tech_fractional_pll_clk200 IS GENERIC ( diff --git a/libraries/technology/fractional_pll/tech_fractional_pll_component_pkg.vhd b/libraries/technology/fractional_pll/tech_fractional_pll_component_pkg.vhd index c8e1bcd975140e9a3d161bd527dedac9fd94353e..8b0db6b937a1916cfe39a8c9e805f6c4262788d8 100644 --- a/libraries/technology/fractional_pll/tech_fractional_pll_component_pkg.vhd +++ b/libraries/technology/fractional_pll/tech_fractional_pll_component_pkg.vhd @@ -56,6 +56,37 @@ PACKAGE tech_fractional_pll_component_pkg IS pll_refclk0 : in std_logic := '0' -- pll_refclk0.clk ); END COMPONENT; + + ----------------------------------------------------------------------------- + -- ip_arria10_e3sge3 + ----------------------------------------------------------------------------- + + COMPONENT ip_arria10_e3sge3_fractional_pll_clk200 IS + PORT + ( + outclk0 : out std_logic; -- outclk0.clk + outclk1 : out std_logic; -- outclk1.clk + outclk2 : out std_logic; -- outclk2.clk + pll_cal_busy : out std_logic; -- pll_cal_busy.pll_cal_busy + pll_locked : out std_logic; -- pll_locked.pll_locked + pll_powerdown : in std_logic := '0'; -- pll_powerdown.pll_powerdown + pll_refclk0 : in std_logic := '0' -- pll_refclk0.clk + ); + END COMPONENT; + + COMPONENT ip_arria10_e3sge3_fractional_pll_clk125 IS + PORT + ( + outclk0 : out std_logic; -- outclk0.clk + outclk1 : out std_logic; -- outclk1.clk + outclk2 : out std_logic; -- outclk2.clk + outclk3 : out std_logic; -- outclk2.clk + pll_cal_busy : out std_logic; -- pll_cal_busy.pll_cal_busy + pll_locked : out std_logic; -- pll_locked.pll_locked + pll_powerdown : in std_logic := '0'; -- pll_powerdown.pll_powerdown + pll_refclk0 : in std_logic := '0' -- pll_refclk0.clk + ); + END COMPONENT; END tech_fractional_pll_component_pkg; diff --git a/libraries/technology/iobuf/tech_iobuf_component_pkg.vhd b/libraries/technology/iobuf/tech_iobuf_component_pkg.vhd index dce04fc43e8559b61239c487247c7ca2dd2ce933..2d66aebd7d840a67f5cf4ab61b262d9fe0ac18b0 100644 --- a/libraries/technology/iobuf/tech_iobuf_component_pkg.vhd +++ b/libraries/technology/iobuf/tech_iobuf_component_pkg.vhd @@ -93,4 +93,36 @@ PACKAGE tech_iobuf_component_pkg IS ); END COMPONENT; + ----------------------------------------------------------------------------- + -- ip_arria10_e3sge3 + ----------------------------------------------------------------------------- + + COMPONENT ip_arria10_e3sge3_ddio_in IS + GENERIC ( + g_width : NATURAL := 1 + ); + PORT ( + in_dat : IN STD_LOGIC_VECTOR(g_width-1 DOWNTO 0); + in_clk : IN STD_LOGIC; + in_clk_en : IN STD_LOGIC := '1'; -- Not Connected + rst : IN STD_LOGIC := '0'; + out_dat_hi : OUT STD_LOGIC_VECTOR(g_width-1 DOWNTO 0); + out_dat_lo : OUT STD_LOGIC_VECTOR(g_width-1 DOWNTO 0) + ); + END COMPONENT; + + COMPONENT ip_arria10_e3sge3_ddio_out IS + GENERIC( + g_width : NATURAL := 1 + ); + PORT ( + rst : IN STD_LOGIC := '0'; + in_clk : IN STD_LOGIC; + in_clk_en : IN STD_LOGIC := '1'; -- Not Connected + in_dat_hi : IN STD_LOGIC_VECTOR(g_width-1 DOWNTO 0); + in_dat_lo : IN STD_LOGIC_VECTOR(g_width-1 DOWNTO 0); + out_dat : OUT STD_LOGIC_VECTOR(g_width-1 DOWNTO 0) + ); + END COMPONENT; + END tech_iobuf_component_pkg; diff --git a/libraries/technology/iobuf/tech_iobuf_ddio_in.vhd b/libraries/technology/iobuf/tech_iobuf_ddio_in.vhd index 252f592c2e1ddd8161489bc68eafd4f248dea1db..97531852b50c0be795d1792ba5b36f65457be41b 100644 --- a/libraries/technology/iobuf/tech_iobuf_ddio_in.vhd +++ b/libraries/technology/iobuf/tech_iobuf_ddio_in.vhd @@ -28,6 +28,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_stratixiv_ddio_lib; LIBRARY ip_arria10_ddio_lib; +LIBRARY ip_arria10_e3sge3_ddio_lib; ENTITY tech_iobuf_ddio_in IS GENERIC ( @@ -60,5 +61,11 @@ BEGIN GENERIC MAP (g_width) PORT MAP (in_dat, in_clk, in_clk_en, rst, out_dat_hi, out_dat_lo); END GENERATE; + + gen_ip_arria10_e3sge3 : IF g_technology=c_tech_arria10_e3sge3 GENERATE + u0 : ip_arria10_e3sge3_ddio_in + GENERIC MAP (g_width) + PORT MAP (in_dat, in_clk, in_clk_en, rst, out_dat_hi, out_dat_lo); + END GENERATE; -END ARCHITECTURE; \ No newline at end of file +END ARCHITECTURE; diff --git a/libraries/technology/iobuf/tech_iobuf_ddio_out.vhd b/libraries/technology/iobuf/tech_iobuf_ddio_out.vhd index efbf517b736b9577b4766a7cb73cc8f598e44f8c..b8f77734407a0dbc8d149ff46c85ff5388f4e740 100644 --- a/libraries/technology/iobuf/tech_iobuf_ddio_out.vhd +++ b/libraries/technology/iobuf/tech_iobuf_ddio_out.vhd @@ -28,6 +28,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_stratixiv_ddio_lib; LIBRARY ip_arria10_ddio_lib; +LIBRARY ip_arria10_e3sge3_ddio_lib; ENTITY tech_iobuf_ddio_out IS GENERIC ( @@ -60,5 +61,11 @@ BEGIN GENERIC MAP (g_width) PORT MAP (rst, in_clk, in_clk_en, in_dat_hi, in_dat_lo, out_dat); END GENERATE; + + gen_ip_arria10_e3sge3 : IF g_technology=c_tech_arria10_e3sge3 GENERATE + u0 : ip_arria10_e3sge3_ddio_out + GENERIC MAP (g_width) + PORT MAP (rst, in_clk, in_clk_en, in_dat_hi, in_dat_lo, out_dat); + END GENERATE; -END ARCHITECTURE; \ No newline at end of file +END ARCHITECTURE; diff --git a/libraries/technology/ip_arria10_e3sge3/clkbuf_global/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/clkbuf_global/hdllib.cfg index 526066edf3534a6e5a62f1b1b120d20a21d46cc6..2c7493ddd92ed637aa183164b3286f4c7e2b6e7b 100644 --- a/libraries/technology/ip_arria10_e3sge3/clkbuf_global/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/clkbuf_global/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_clkbuf_global -hdl_library_clause_name = ip_arria10_e3sge3_clkbuf_global_altclkctrl_150 +hdl_library_clause_name = ip_arria10_e3sge3_clkbuf_global_altclkctrl_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/ddio/compile_ip.tcl b/libraries/technology/ip_arria10_e3sge3/ddio/compile_ip.tcl index 39198d55135f691e56ef45619a16397cb60393eb..a211be7af742b38f7a3d00928c13626e634c6ea8 100644 --- a/libraries/technology/ip_arria10_e3sge3/ddio/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e3sge3/ddio/compile_ip.tcl @@ -26,7 +26,8 @@ set IPMODEL "SIM"; if {$IPMODEL=="PHY"} { # This file is based on Qsys-generated file msim_setup.tcl. - set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10_e3sge3/ddio/generated/" + set IP_DIR_IN "$env(RADIOHDL)/libraries/technology/ip_arria10_e3sge3/ddio/generated_in/" + set IP_DIR_OUT "$env(RADIOHDL)/libraries/technology/ip_arria10_e3sge3/ddio/generated_out/" #vlib ./work/ ;# Assume library work already exists vmap ip_arria10_e3sge3_ddio_in_1_altera_gpio_core_151 ./work/ @@ -40,14 +41,14 @@ if {$IPMODEL=="PHY"} { #vmap ip_arria10_e3sge3_ddio_in_1 ./work/ #vmap ip_arria10_e3sge3_ddio_out_1 ./work/ - vlog -sv "$IP_DIR/../altera_gpio_core_151/sim/mentor/altera_gpio.sv" -work ip_arria10_e3sge3_ddio_in_1_altera_gpio_core_151 - vlog -sv "$IP_DIR/../altera_gpio_core_151/sim/mentor/altera_gpio.sv" -work ip_arria10_e3sge3_ddio_out_1_altera_gpio_core_151 + vlog -sv "$IP_DIR_IN/../altera_gpio_core20_151/sim/mentor/altera_gpio.sv" -work ip_arria10_e3sge3_ddio_in_1_altera_gpio_core_151 + vlog -sv "$IP_DIR_OUT/../altera_gpio_core20_151/sim/mentor/altera_gpio.sv" -work ip_arria10_e3sge3_ddio_out_1_altera_gpio_core_151 - vcom "$IP_DIR/../altera_gpio_151/sim/ip_arria10_e3sge3_ddio_in_1_altera_gpio_151_v2653ny.vhd" -work ip_arria10_e3sge3_ddio_in_1_altera_gpio_151 - vcom "$IP_DIR/ip_arria10_e3sge3_ddio_in_1.vhd" + vcom "$IP_DIR_IN/../altera_gpio_151/sim/ip_arria10_e3sge3_ddio_in_1_altera_gpio_151_ia6gnqq.vhd" -work ip_arria10_e3sge3_ddio_in_1_altera_gpio_151 + vcom "$IP_DIR_IN/ip_arria10_e3sge3_ddio_in_1.vhd" - vcom "$IP_DIR/../altera_gpio_151/sim/ip_arria10_e3sge3_ddio_out_1_altera_gpio_151_26jftvi.vhd" -work ip_arria10_e3sge3_ddio_out_1_altera_gpio_151 - vcom "$IP_DIR/ip_arria10_e3sge3_ddio_out_1.vhd" + vcom "$IP_DIR_OUT/../altera_gpio_151/sim/ip_arria10_e3sge3_ddio_out_1_altera_gpio_151_pqwimxi.vhd" -work ip_arria10_e3sge3_ddio_out_1_altera_gpio_151 + vcom "$IP_DIR_OUT/ip_arria10_e3sge3_ddio_out_1.vhd" } else { diff --git a/libraries/technology/ip_arria10_e3sge3/ddio/generate_ip.sh b/libraries/technology/ip_arria10_e3sge3/ddio/generate_ip.sh index 03a3952849ec9bceb03b4d36233664baa97de349..361db703aa0f36e8d302cc30bb31b039ff3c8102 100755 --- a/libraries/technology/ip_arria10_e3sge3/ddio/generate_ip.sh +++ b/libraries/technology/ip_arria10_e3sge3/ddio/generate_ip.sh @@ -39,5 +39,5 @@ #qsys-generate --help # Only generate the source IP -qsys-generate ip_arria10_e3sge3_ddio_in_1.qsys --synthesis=VHDL --simulation=VHDL --output-directory=generated -qsys-generate ip_arria10_e3sge3_ddio_out_1.qsys --synthesis=VHDL --simulation=VHDL --output-directory=generated +qsys-generate ip_arria10_e3sge3_ddio_in_1.qsys --synthesis=VHDL --simulation=VHDL --output-directory=generated_in +qsys-generate ip_arria10_e3sge3_ddio_out_1.qsys --synthesis=VHDL --simulation=VHDL --output-directory=generated_out diff --git a/libraries/technology/ip_arria10_e3sge3/flash/asmi_parallel/compile_ip.tcl b/libraries/technology/ip_arria10_e3sge3/flash/asmi_parallel/compile_ip.tcl index 2877158ababc65a49c815f8a84b36f00ce805dc0..7cc37bb4c74911e3b65059a6079b4fdabff9a7af 100644 --- a/libraries/technology/ip_arria10_e3sge3/flash/asmi_parallel/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e3sge3/flash/asmi_parallel/compile_ip.tcl @@ -30,5 +30,6 @@ set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10_e3sge3/flash/asmi_p vmap ip_arria10_e3sge3_asmi_parallel_altera_asmi_parallel_151 ./work/ - vlog "$IP_DIR/../altera_asmi_parallel_151/sim/ip_arria10_e3sge3_asmi_parallel_altera_asmi_parallel_151_bvuboea.v" -work ip_arria10_e3sge3_asmi_parallel_altera_asmi_parallel_151 - vcom "$IP_DIR/ip_arria10_e3sge3_asmi_parallel.vhd" +vlog "$IP_DIR/../altera_asmi_parallel_151/sim/ip_arria10_e3sge3_asmi_parallel_altera_asmi_parallel_151_jy7dk3i.v" -work ip_arria10_e3sge3_asmi_parallel_altera_asmi_parallel_151 +vcom "$IP_DIR/ip_arria10_e3sge3_asmi_parallel.vhd" + diff --git a/libraries/technology/ip_arria10_e3sge3/flash/asmi_parallel/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/flash/asmi_parallel/hdllib.cfg index 1846f81fa00ce86b5370166c61d90e47ef79a8c5..52a2a86a6bf1622cecd8579d816f9571eb685543 100644 --- a/libraries/technology/ip_arria10_e3sge3/flash/asmi_parallel/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/flash/asmi_parallel/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_asmi_parallel -hdl_library_clause_name = ip_arria10_e3sge3_asmi_parallel_altera_asmi_parallel_150 +hdl_library_clause_name = ip_arria10_e3sge3_asmi_parallel_altera_asmi_parallel_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/flash/remote_update/compile_ip.tcl b/libraries/technology/ip_arria10_e3sge3/flash/remote_update/compile_ip.tcl index 4df969080c09aa5633f20a005ef33c464484a1fc..6da4cd63b62c1591be134f222a1d9cd55a26a7df 100644 --- a/libraries/technology/ip_arria10_e3sge3/flash/remote_update/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e3sge3/flash/remote_update/compile_ip.tcl @@ -31,6 +31,7 @@ set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10_e3sge3/flash/remote vmap ip_arria10_e3sge3_remote_update_altera_remote_update_core_151 ./work/ vmap ip_arria10_e3sge3_remote_update_altera_remote_update_151 ./work/ - vlog "$IP_DIR/../altera_remote_update_core_151/sim/altera_remote_update_core.v" -work ip_arria10_e3sge3_remote_update_altera_remote_update_core_151 - vlog "$IP_DIR/../altera_remote_update_151/sim/ip_arria10_e3sge3_remote_update_altera_remote_update_151_eltl22a.v" -work ip_arria10_e3sge3_remote_update_altera_remote_update_151 - vcom "$IP_DIR/ip_arria10_e3sge3_remote_update.vhd" +vlog "$IP_DIR/../altera_remote_update_core_151/sim/altera_remote_update_core.v" -work ip_arria10_e3sge3_remote_update_altera_remote_update_core_151 +vlog "$IP_DIR/../altera_remote_update_151/sim/ip_arria10_e3sge3_remote_update_altera_remote_update_151_fdzfjma.v" -work ip_arria10_e3sge3_remote_update_altera_remote_update_151 +vcom "$IP_DIR/ip_arria10_e3sge3_remote_update.vhd" + diff --git a/libraries/technology/ip_arria10_e3sge3/flash/remote_update/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/flash/remote_update/hdllib.cfg index 367db94cb056383a9678926ecba2ada29543d044..0f8147f4fb5f06882b966f0b313e1a246a771c3f 100644 --- a/libraries/technology/ip_arria10_e3sge3/flash/remote_update/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/flash/remote_update/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_remote_update -hdl_library_clause_name = ip_arria10_e3sge3_remote_update_altera_remote_update_150 +hdl_library_clause_name = ip_arria10_e3sge3_remote_update_altera_remote_update_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/fractional_pll_clk125/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/fractional_pll_clk125/hdllib.cfg index 18e3203e53f4d4fc1b56947fe233d11939a20691..7caa46b9723490a7cc3d811c2e8db6be53b408b7 100644 --- a/libraries/technology/ip_arria10_e3sge3/fractional_pll_clk125/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/fractional_pll_clk125/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_fractional_pll_clk125 -hdl_library_clause_name = ip_arria10_e3sge3_fractional_pll_clk125_altera_xcvr_fpll_a10_150 +hdl_library_clause_name = ip_arria10_e3sge3_fractional_pll_clk125_altera_xcvr_fpll_a10_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/fractional_pll_clk200/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/fractional_pll_clk200/hdllib.cfg index 0d965639f71c87fac0f1263646e0fc342dd5c495..8050fce67ed8f8bceaf10b3fa83b6cab83a98f26 100644 --- a/libraries/technology/ip_arria10_e3sge3/fractional_pll_clk200/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/fractional_pll_clk200/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_fractional_pll_clk200 -hdl_library_clause_name = ip_arria10_e3sge3_fractional_pll_clk200_altera_xcvr_fpll_a10_150 +hdl_library_clause_name = ip_arria10_e3sge3_fractional_pll_clk200_altera_xcvr_fpll_a10_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/pll_clk125/compile_ip.tcl b/libraries/technology/ip_arria10_e3sge3/pll_clk125/compile_ip.tcl index d1e944fae555f7acb1a2fbf69831d82a71bf4b04..e1a730824cf8c7fbca74bfce283c71b728e1fc1f 100644 --- a/libraries/technology/ip_arria10_e3sge3/pll_clk125/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e3sge3/pll_clk125/compile_ip.tcl @@ -32,7 +32,7 @@ set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10_e3sge3/pll_clk125/g vmap ip_arria10_e3sge3_pll_clk125_altera_iopll_151 ./work/ - vlog "$IP_DIR/../altera_iopll_151/sim/ip_arria10_pll_e3sge3_clk125_altera_iopll_151_hxjbkfi.vo" -work ip_arria10_e3sge3_pll_clk125_altera_iopll_151 + vlog "$IP_DIR/../altera_iopll_151/sim/ip_arria10_e3sge3_pll_clk125_altera_iopll_151_lzlggeq.vo" -work ip_arria10_e3sge3_pll_clk125_altera_iopll_151 vcom "$IP_DIR/ip_arria10_e3sge3_pll_clk125.vhd" diff --git a/libraries/technology/ip_arria10_e3sge3/pll_clk125/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/pll_clk125/hdllib.cfg index 6ac8ad3f06fb2dc8fdadaed599b0913437b59251..6857212230fb708c72bd3195a0849e840dd4eef9 100644 --- a/libraries/technology/ip_arria10_e3sge3/pll_clk125/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/pll_clk125/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_pll_clk125 -hdl_library_clause_name = ip_arria10_e3sge3_pll_clk125_altera_iopll_150 +hdl_library_clause_name = ip_arria10_e3sge3_pll_clk125_altera_iopll_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/pll_clk200/compile_ip.tcl b/libraries/technology/ip_arria10_e3sge3/pll_clk200/compile_ip.tcl index 13995db55bfe1440804b20f11980feb481f79671..10b86dcf0f9345df10da2a3bb4808961f0bdf84f 100644 --- a/libraries/technology/ip_arria10_e3sge3/pll_clk200/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e3sge3/pll_clk200/compile_ip.tcl @@ -32,7 +32,6 @@ set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10_e3sge3/pll_clk200/g vmap ip_arria10_e3sge3_pll_clk200_altera_iopll_151 ./work/ - vlog "$IP_DIR/../altera_iopll_151/sim/ip_arria10_e3sge3_pll_clk200_altera_iopll_151_etouxvq.vo" -work ip_arria10_e3sge3_pll_clk200_altera_iopll_151 - vcom "$IP_DIR/ip_arria10_e3sge3_pll_clk200.vhd" - +vlog "$IP_DIR/../altera_iopll_151/sim/ip_arria10_e3sge3_pll_clk200_altera_iopll_151_2qckecy.vo" -work ip_arria10_e3sge3_pll_clk200_altera_iopll_151 +vcom "$IP_DIR/ip_arria10_e3sge3_pll_clk200.vhd" diff --git a/libraries/technology/ip_arria10_e3sge3/pll_clk200/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/pll_clk200/hdllib.cfg index 3de8a4d5f695ddbebf93bf980d2f90f28fcc157c..26ec0a211e56f4b8d0bcf62edd2005686fae8c22 100644 --- a/libraries/technology/ip_arria10_e3sge3/pll_clk200/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/pll_clk200/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_pll_clk200 -hdl_library_clause_name = ip_arria10_e3sge3_pll_clk200_altera_iopll_150 +hdl_library_clause_name = ip_arria10_e3sge3_pll_clk200_altera_iopll_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/pll_clk25/compile_ip.tcl b/libraries/technology/ip_arria10_e3sge3/pll_clk25/compile_ip.tcl index d5925d5928fed704f751528fc0d9eea8c7a79b16..7c21e1477b9237643e61283f08928b567d09fe19 100644 --- a/libraries/technology/ip_arria10_e3sge3/pll_clk25/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e3sge3/pll_clk25/compile_ip.tcl @@ -32,7 +32,6 @@ set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10_e3sge3/pll_clk25/ge vmap ip_arria10_e3sge3_pll_clk25_altera_iopll_151 ./work/ - vlog "$IP_DIR/../altera_iopll_151/sim/ip_arria10_e3sge3_pll_clk25_altera_iopll_151_o3lgeqy.vo" -work ip_arria10_e3sge3_pll_clk25_altera_iopll_151 + vlog "$IP_DIR/../altera_iopll_151/sim/ip_arria10_e3sge3_pll_clk25_altera_iopll_151_roshl5q.vo" -work ip_arria10_e3sge3_pll_clk25_altera_iopll_151 vcom "$IP_DIR/ip_arria10_e3sge3_pll_clk25.vhd" - diff --git a/libraries/technology/ip_arria10_e3sge3/pll_clk25/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/pll_clk25/hdllib.cfg index 3acd3db1792a488ccc612ff52d0c2cfac72262c5..37d30f2de3d79c4461ff846cd7206a1e7eb85292 100644 --- a/libraries/technology/ip_arria10_e3sge3/pll_clk25/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/pll_clk25/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_pll_clk25 -hdl_library_clause_name = ip_arria10_e3sge3_pll_clk25_altera_iopll_150 +hdl_library_clause_name = ip_arria10_e3sge3_pll_clk25_altera_iopll_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/pll_xgmii_mac_clocks/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/pll_xgmii_mac_clocks/hdllib.cfg index 8694c86e5649f6c99f8c7cc6e55c5c4d9ca638a0..a0be0646ddc2fd3791495f077e410a90da37ee6c 100644 --- a/libraries/technology/ip_arria10_e3sge3/pll_xgmii_mac_clocks/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/pll_xgmii_mac_clocks/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_pll_xgmii_mac_clocks -hdl_library_clause_name = ip_arria10_e3sge3_pll_xgmii_mac_clocks_altera_xcvr_fpll_a10_150 +hdl_library_clause_name = ip_arria10_e3sge3_pll_xgmii_mac_clocks_altera_xcvr_fpll_a10_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/temp_sense/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/temp_sense/hdllib.cfg index 6d75f4fabb5b085e22902db772cb80ffa58d8fd6..63d27bbaeb1eea2dae8c971f9a4d278d3415a260 100644 --- a/libraries/technology/ip_arria10_e3sge3/temp_sense/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/temp_sense/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_temp_sense -hdl_library_clause_name = ip_arria10_e3sge3_temp_sense_altera_temp_sense_150 +hdl_library_clause_name = ip_arria10_e3sge3_temp_sense_altera_temp_sense_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/ip_arria10_e3sge3/voltage_sense/hdllib.cfg b/libraries/technology/ip_arria10_e3sge3/voltage_sense/hdllib.cfg index d8e8fe792b5007dc2b63667c73f9ce4925486b83..6f541b5a4624904a10c79605c297fcab0a4b6000 100644 --- a/libraries/technology/ip_arria10_e3sge3/voltage_sense/hdllib.cfg +++ b/libraries/technology/ip_arria10_e3sge3/voltage_sense/hdllib.cfg @@ -1,5 +1,5 @@ hdl_lib_name = ip_arria10_e3sge3_voltage_sense -hdl_library_clause_name = ip_arria10_e3sge3_voltage_sense_altera_voltage_sense_150 +hdl_library_clause_name = ip_arria10_e3sge3_voltage_sense_altera_voltage_sense_151 hdl_lib_uses_synth = hdl_lib_uses_sim = diff --git a/libraries/technology/pll/tech_pll_clk125.vhd b/libraries/technology/pll/tech_pll_clk125.vhd index d322fb59736cc719aecec2cfd6fb55f547ccadb3..0c13ffc207313eee0c659b01379f954e21bb3144 100644 --- a/libraries/technology/pll/tech_pll_clk125.vhd +++ b/libraries/technology/pll/tech_pll_clk125.vhd @@ -27,6 +27,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_arria10_pll_clk125_altera_iopll_150; +LIBRARY ip_arria10_e3sge3_pll_clk125_altera_iopll_151; ENTITY tech_pll_clk125 IS GENERIC ( diff --git a/libraries/technology/pll/tech_pll_clk200.vhd b/libraries/technology/pll/tech_pll_clk200.vhd index 1ad91b9f48af0f5a1722b8ce5332b45be362fc1b..539bf15f151042758c8bc471281cee15294df6c9 100644 --- a/libraries/technology/pll/tech_pll_clk200.vhd +++ b/libraries/technology/pll/tech_pll_clk200.vhd @@ -28,6 +28,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_stratixiv_pll_lib; LIBRARY ip_arria10_pll_clk200_altera_iopll_150; +LIBRARY ip_arria10_e3sge3_pll_clk200_altera_iopll_151; ENTITY tech_pll_clk200 IS GENERIC ( diff --git a/libraries/technology/pll/tech_pll_clk25.vhd b/libraries/technology/pll/tech_pll_clk25.vhd index 40e666e4a5211c882fb4b44bee02b8b34c886a92..13301ec2029e7ea2e9f2068dbbea68aea8918047 100644 --- a/libraries/technology/pll/tech_pll_clk25.vhd +++ b/libraries/technology/pll/tech_pll_clk25.vhd @@ -28,6 +28,7 @@ USE technology_lib.technology_select_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_arria10_pll_clk25_altera_iopll_150; LIBRARY ip_stratixiv_pll_clk25_lib; +LIBRARY ip_arria10_e3sge3_pll_clk25_altera_iopll_151; ENTITY tech_pll_clk25 IS GENERIC ( diff --git a/libraries/technology/pll/tech_pll_component_pkg.vhd b/libraries/technology/pll/tech_pll_component_pkg.vhd index 7b7abf046741fdaffb77b184210ac91ee7f734b6..fab118242b57fcb9317927c3cc44861b17e8f4a5 100644 --- a/libraries/technology/pll/tech_pll_component_pkg.vhd +++ b/libraries/technology/pll/tech_pll_component_pkg.vhd @@ -174,6 +174,61 @@ PACKAGE tech_pll_component_pkg IS -- locked : OUT STD_LOGIC -- ); -- END COMPONENT; + + + ----------------------------------------------------------------------------- + -- ip_arria10_e3sge3 + ----------------------------------------------------------------------------- + + COMPONENT ip_arria10_e3sge3_pll_xgmii_mac_clocks IS + PORT ( + pll_refclk0 : in std_logic := '0'; -- pll_refclk0.clk + pll_powerdown : in std_logic := '0'; -- pll_powerdown.pll_powerdown + pll_locked : out std_logic; -- pll_locked.pll_locked + outclk0 : out std_logic; -- outclk0.clk + pll_cal_busy : out std_logic; -- pll_cal_busy.pll_cal_busy + outclk1 : out std_logic -- outclk1.clk + ); + END COMPONENT; + + COMPONENT ip_arria10_e3sge3_pll_clk200 IS + PORT + ( + rst : IN STD_LOGIC := '0'; + refclk : IN STD_LOGIC := '0'; + outclk_0 : OUT STD_LOGIC ; + outclk_1 : OUT STD_LOGIC ; + outclk_2 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC + ); + END COMPONENT; + + COMPONENT ip_arria10_e3sge3_pll_clk25 IS + PORT + ( + rst : IN STD_LOGIC := '0'; + refclk : IN STD_LOGIC := '0'; + outclk_0 : OUT STD_LOGIC ; + outclk_1 : OUT STD_LOGIC ; + outclk_2 : OUT STD_LOGIC ; + outclk_3 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC + ); + END COMPONENT; + + COMPONENT ip_arria10_e3sge3_pll_clk125 IS + PORT + ( + rst : IN STD_LOGIC := '0'; + refclk : IN STD_LOGIC := '0'; + outclk_0 : OUT STD_LOGIC ; + outclk_1 : OUT STD_LOGIC ; + outclk_2 : OUT STD_LOGIC ; + outclk_3 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC + ); + END COMPONENT; + END tech_pll_component_pkg; diff --git a/libraries/technology/pll/tech_pll_xgmii_mac_clocks.vhd b/libraries/technology/pll/tech_pll_xgmii_mac_clocks.vhd index a3748668a1b195637bc1e0e530b8aaa02c93109f..7bc38df5eea1ec19529d36481e246ed79d30ca42 100644 --- a/libraries/technology/pll/tech_pll_xgmii_mac_clocks.vhd +++ b/libraries/technology/pll/tech_pll_xgmii_mac_clocks.vhd @@ -42,6 +42,7 @@ USE common_lib.common_pkg.ALL; -- Declare IP libraries to ensure default binding in simulation. The IP library clause is ignored by synthesis. LIBRARY ip_arria10_pll_xgmii_mac_clocks_altera_xcvr_fpll_a10_150; +LIBRARY ip_arria10_e3sge3_pll_xgmii_mac_clocks_altera_xcvr_fpll_a10_151; ENTITY tech_pll_xgmii_mac_clocks IS GENERIC ( diff --git a/libraries/technology/technology_select_pkg.vhd b/libraries/technology/technology_select_pkg.vhd index d523ac4fb94ae39ca17738f2a87ccf8f3910c87f..055faa9b0ac4b1eb123b40884d70081b42159ab3 100644 --- a/libraries/technology/technology_select_pkg.vhd +++ b/libraries/technology/technology_select_pkg.vhd @@ -32,5 +32,6 @@ PACKAGE technology_select_pkg IS CONSTANT c_tech_select_default : INTEGER := c_tech_stratixiv; --CONSTANT c_tech_select_default : INTEGER := c_tech_arria10; + --CONSTANT c_tech_select_default : INTEGER := c_tech_arria10_e3sge3; END technology_select_pkg;