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;