diff --git a/libraries/base/common/hdllib.cfg b/libraries/base/common/hdllib.cfg
index fde6fb732556f8dd9f89d31b215141586b2e7d23..7e3305c36157f46417038c2e5a3f3b6c85aa4bd8 100644
--- a/libraries/base/common/hdllib.cfg
+++ b/libraries/base/common/hdllib.cfg
@@ -1,6 +1,6 @@
 hdl_lib_name = common
 hdl_library_clause_name = common_lib
-hdl_lib_uses = technology tech_memory tech_fifo tst
+hdl_lib_uses = technology tech_memory tech_fifo tech_iobuf tst
 
 build_sim_dir = $HDL_BUILD_DIR
 build_synth_dir = 
@@ -45,13 +45,12 @@ synth_files =
     src/vhdl/common_fifo_dc.vhd
     src/vhdl/common_fifo_dc_mixed_widths.vhd
     
+    src/vhdl/common_ddio_in.vhd
+    src/vhdl/common_ddio_out.vhd
+    
     $UNB/Firmware/modules/common/src/vhdl/common_wideband_data_scope.vhd
     $UNB/Firmware/modules/common/src/vhdl/common_iobuf_in.vhd
     $UNB/Firmware/modules/common/src/vhdl/common_iobuf_in_a_stratix4.vhd
-    $UNB/Firmware/modules/common/src/vhdl/common_ddio_in.vhd
-    $UNB/Firmware/modules/common/src/vhdl/common_ddio_in_a_stratix4.vhd
-    $UNB/Firmware/modules/common/src/vhdl/common_ddio_out.vhd
-    $UNB/Firmware/modules/common/src/vhdl/common_ddio_out_a_stratix4.vhd
     $UNB/Firmware/modules/common/src/vhdl/common_inout.vhd
     $UNB/Firmware/modules/common/src/vhdl/common_fanout.vhd
     $UNB/Firmware/modules/common/src/vhdl/common_fanout_tree.vhd
diff --git a/libraries/base/common/src/vhdl/common_ddio_in.vhd b/libraries/base/common/src/vhdl/common_ddio_in.vhd
index c7e99225c7fd0054e78a246c3609a09922047994..f98b0f7a94714219c34cd13b8231e03d32d3c378 100644
--- a/libraries/base/common/src/vhdl/common_ddio_in.vhd
+++ b/libraries/base/common/src/vhdl/common_ddio_in.vhd
@@ -21,13 +21,14 @@
 
 -- Purpose: Capture double data rate FPGA input
 
-LIBRARY IEEE;
+LIBRARY IEEE, technology_lib, tech_iobuf_lib;
 USE IEEE.STD_LOGIC_1164.ALL;
+USE technology_lib.technology_select_pkg.ALL;
 
 ENTITY common_ddio_in IS
   GENERIC(
-    g_device_family : STRING := "Stratix IV";
-    g_width         : NATURAL := 1
+    g_technology : NATURAL := c_tech_select_default;
+    g_width      : NATURAL := 1
   );
   PORT (
     in_dat      : IN  STD_LOGIC_VECTOR(g_width-1 DOWNTO 0);
@@ -38,3 +39,23 @@ ENTITY common_ddio_in IS
     out_dat_lo  : OUT STD_LOGIC_VECTOR(g_width-1 DOWNTO 0)
   );
 END common_ddio_in;
+
+
+ARCHITECTURE str OF common_ddio_in IS
+BEGIN
+
+  u_ddio_in : ENTITY tech_iobuf_lib.tech_iobuf_ddio_in
+  GENERIC MAP (
+    g_technology    => g_technology,
+    g_width         => g_width
+  )
+  PORT MAP (
+    in_dat     => in_dat,
+    in_clk     => in_clk,
+    in_clk_en  => in_clk_en,
+    rst        => rst,
+    out_dat_hi => out_dat_hi,
+    out_dat_lo => out_dat_lo
+  );
+
+END str;
diff --git a/libraries/base/common/src/vhdl/common_ddio_out.vhd b/libraries/base/common/src/vhdl/common_ddio_out.vhd
index 0f48ca1ce4945f573be95398afe87d8a4f2a09ee..613e10593202545527e38be8196abedc28995a3e 100644
--- a/libraries/base/common/src/vhdl/common_ddio_out.vhd
+++ b/libraries/base/common/src/vhdl/common_ddio_out.vhd
@@ -21,13 +21,14 @@
 
 -- Purpose: Double data rate FPGA output or register single data rate FPGA output
 
-LIBRARY IEEE;
+LIBRARY IEEE, technology_lib, tech_iobuf_lib;
 USE IEEE.STD_LOGIC_1164.ALL;
+USE technology_lib.technology_select_pkg.ALL;
 
 ENTITY common_ddio_out IS
   GENERIC(
-    g_device_family : STRING  := "Stratix IV";
-    g_width         : NATURAL := 1
+    g_technology : NATURAL := c_tech_select_default;
+    g_width      : NATURAL := 1
   );
   PORT (
     rst        : IN   STD_LOGIC := '0';
@@ -38,3 +39,23 @@ ENTITY common_ddio_out IS
     out_dat    : OUT  STD_LOGIC_VECTOR(g_width-1 DOWNTO 0)
   );
 END common_ddio_out;
+
+
+ARCHITECTURE str OF common_ddio_out IS
+BEGIN
+
+  u_ddio_out : ENTITY tech_iobuf_lib.tech_iobuf_ddio_out
+  GENERIC MAP (
+    g_technology => g_technology,
+    g_width      => g_width
+  )
+  PORT MAP (
+    rst       => rst,
+    in_clk    => in_clk,
+    in_clk_en => in_clk_en,
+    in_dat_hi => in_dat_hi,
+    in_dat_lo => in_dat_lo,
+    out_dat   => out_dat
+  );
+  
+END str;