diff --git a/libraries/technology/ddr/tech_ddr_component_pkg.vhd b/libraries/technology/ddr/tech_ddr_component_pkg.vhd
index e304cb76f09e0de3642aaa62e362e89536be3aca..e8ec59b96276120295c8029900a9da43aa4566db 100644
--- a/libraries/technology/ddr/tech_ddr_component_pkg.vhd
+++ b/libraries/technology/ddr/tech_ddr_component_pkg.vhd
@@ -147,8 +147,8 @@ PACKAGE tech_ddr_component_pkg IS
     mem_ba                     	: OUT   STD_LOGIC_VECTOR(2 DOWNTO 0);    --             .mem_ba
     mem_ck                     	: OUT   STD_LOGIC_VECTOR(1 DOWNTO 0);    --             .mem_ck
     mem_ck_n                   	: OUT   STD_LOGIC_VECTOR(1 DOWNTO 0);    --             .mem_ck_n
-    mem_cke                    	: OUT   STD_LOGIC_VECTOR(0 DOWNTO 0);    --             .mem_cke
-    mem_cs_n                   	: OUT   STD_LOGIC_VECTOR(0 DOWNTO 0);    --             .mem_cs_n
+    mem_cke                    	: OUT   STD_LOGIC;                       --             .mem_cke
+    mem_cs_n                   	: OUT   STD_LOGIC;                       --             .mem_cs_n
     mem_dm                     	: OUT   STD_LOGIC_VECTOR(7 DOWNTO 0);    --             .mem_dm
     mem_ras_n                  	: OUT   STD_LOGIC;                       --             .mem_ras_n
     mem_cas_n                  	: OUT   STD_LOGIC;                       --             .mem_cas_n
@@ -157,7 +157,7 @@ PACKAGE tech_ddr_component_pkg IS
     mem_dq                     	: INOUT STD_LOGIC_VECTOR(63 DOWNTO 0);   --             .mem_dq
     mem_dqs                    	: INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);    --             .mem_dqs
     mem_dqs_n                  	: INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);    --             .mem_dqs_n
-    mem_odt                    	: OUT   STD_LOGIC_VECTOR(0 DOWNTO 0);    --             .mem_odt
+    mem_odt                    	: OUT   STD_LOGIC;                       --             .mem_odt
     avl_ready                  	: OUT   STD_LOGIC;                       --          avl.waitrequest_n
     avl_burstbegin             	: IN    STD_LOGIC;                       --             .beginbursttransfer
     avl_addr                   	: IN    STD_LOGIC_VECTOR(26 DOWNTO 0);   --             .address
@@ -200,8 +200,8 @@ PACKAGE tech_ddr_component_pkg IS
 		mem_ba                     	: OUT   STD_LOGIC_VECTOR(2 DOWNTO 0);    --                .mem_ba
 		mem_ck                     	: OUT   STD_LOGIC_VECTOR(1 DOWNTO 0);    --                .mem_ck
 		mem_ck_n                   	: OUT   STD_LOGIC_VECTOR(1 DOWNTO 0);    --                .mem_ck_n
-		mem_cke                    	: OUT   STD_LOGIC_VECTOR(0 DOWNTO 0);    --                .mem_cke
-		mem_cs_n                   	: OUT   STD_LOGIC_VECTOR(0 DOWNTO 0);    --                .mem_cs_n
+		mem_cke                    	: OUT   STD_LOGIC;                       --                .mem_cke
+		mem_cs_n                   	: OUT   STD_LOGIC;                       --                .mem_cs_n
 		mem_dm                     	: OUT   STD_LOGIC_VECTOR(7 DOWNTO 0);    --                .mem_dm
 		mem_ras_n                  	: OUT   STD_LOGIC;                       --                .mem_ras_n
 		mem_cas_n                  	: OUT   STD_LOGIC;                       --                .mem_cas_n
@@ -210,7 +210,7 @@ PACKAGE tech_ddr_component_pkg IS
 		mem_dq                     	: INOUT STD_LOGIC_VECTOR(63 DOWNTO 0);   --                .mem_dq
 		mem_dqs                    	: INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);    --                .mem_dqs
 		mem_dqs_n                  	: INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);    --                .mem_dqs_n
-		mem_odt                    	: OUT   STD_LOGIC_VECTOR(0 DOWNTO 0);    --                .mem_odt
+		mem_odt                    	: OUT   STD_LOGIC;                       --                .mem_odt
 		avl_ready                  	: OUT   STD_LOGIC;                       --             avl.waitrequest_n
 		avl_burstbegin             	: IN    STD_LOGIC;                       --                .beginbursttransfer
 		avl_addr                   	: IN    STD_LOGIC_VECTOR(26 DOWNTO 0);   --                .address
diff --git a/libraries/technology/ddr/tech_ddr_stratixiv.vhd b/libraries/technology/ddr/tech_ddr_stratixiv.vhd
index 8c0a9fe68cdb2744a6b27bb8200297b1caf54b61..796e7bf12a412b3b737b5a9dadd07e3fc26de318 100644
--- a/libraries/technology/ddr/tech_ddr_stratixiv.vhd
+++ b/libraries/technology/ddr/tech_ddr_stratixiv.vhd
@@ -86,10 +86,14 @@ ARCHITECTURE str OF tech_ddr_stratixiv IS
   SIGNAL i_ctlr_gen_rst            : STD_LOGIC;
   SIGNAL i_ctlr_gen_clk_2x         : STD_LOGIC;
 
+  SIGNAL i_mem_cke                 : STD_LOGIC;
+  SIGNAL i_mem_cs_n                : STD_LOGIC;
+  SIGNAL i_mem_odt                 : STD_LOGIC;
+  
 BEGIN
 
   ref_rst_n <= NOT ref_rst;
-  
+
   gen_ip_stratixiv_ddr3_uphy_4g_800_master : IF g_tech_ddr.name="DDR3" AND c_gigabytes=4 AND g_tech_ddr.mts=800 AND g_tech_ddr.master=TRUE AND g_tech_ddr.rank="DUAL  " GENERATE
     u_ip_stratixiv_ddr3_uphy_4g_800_master : ip_stratixiv_ddr3_uphy_4g_800_master
     PORT MAP (
@@ -205,8 +209,8 @@ BEGIN
       mem_ba                     => phy_ou.ba(g_tech_ddr.ba_w-1 DOWNTO 0),                                          --             .mem_ba
       mem_ck                     => phy_ou.ck(g_tech_ddr.ck_w-1 DOWNTO 0),                                          --             .mem_ck
       mem_ck_n                   => phy_ou.ck_n(g_tech_ddr.ck_w-1 DOWNTO 0),                                        --             .mem_ck_n
-      mem_cke                    => phy_ou.cke(g_tech_ddr.cke_w-1 DOWNTO 0),                                        --             .mem_cke
-      mem_cs_n                   => phy_ou.cs_n(g_tech_ddr.cs_w-1 DOWNTO 0),                                        --             .mem_cs_n
+      mem_cke                    => i_mem_cke,                                                                      --             .mem_cke
+      mem_cs_n                   => i_mem_cs_n,                                                                     --             .mem_cs_n
       mem_dm                     => phy_ou.dm(g_tech_ddr.dm_w-1 DOWNTO 0),                                          --             .mem_dm
       mem_ras_n                  => phy_ou.ras_n,                                                                   --             .mem_ras_n
       mem_cas_n                  => phy_ou.cas_n,                                                                   --             .mem_cas_n
@@ -215,7 +219,7 @@ BEGIN
       mem_dq                     => phy_io.dq(g_tech_ddr.dq_w-1 DOWNTO 0),                                          --             .mem_dq
       mem_dqs                    => phy_io.dqs(g_tech_ddr.dqs_w-1 DOWNTO 0),                                        --             .mem_dqs
       mem_dqs_n                  => phy_io.dqs_n(g_tech_ddr.dqs_w-1 DOWNTO 0),                                      --             .mem_dqs_n
-      mem_odt                    => phy_ou.odt(g_tech_ddr.odt_w-1 DOWNTO 0),                                        --             .mem_odt
+      mem_odt                    => i_mem_odt,                                                                      --             .mem_odt
       avl_ready                  => ctlr_miso.waitrequest_n,                                                        --          avl.waitrequest_n
       avl_burstbegin             => ctlr_mosi.burstbegin,                                                           --             .beginbursttransfer
       avl_addr                   => ctlr_mosi.address(c_ctlr_address_w-1 DOWNTO 0),                                 --             .address
@@ -242,6 +246,11 @@ BEGIN
       pll_config_clk             => OPEN,                                                                           --             .pll_config_clk
       dll_delayctrl              => OPEN                                                                            --  dll_sharing.dll_delayctrl
     );
+    
+  phy_ou.cke(0)  <= i_mem_cke;
+  phy_ou.cs_n(0) <= i_mem_cs_n;
+  phy_ou.odt(0)  <= i_mem_odt;
+    
   END GENERATE;
 
   gen_ip_stratixiv_ddr3_uphy_4g_single_rank_800_slave : IF g_tech_ddr.name="DDR3" AND c_gigabytes=4 AND g_tech_ddr.mts=800 AND g_tech_ddr.master=FALSE AND g_tech_ddr.rank="SINGLE" GENERATE
@@ -257,8 +266,8 @@ BEGIN
       mem_ba                     => phy_ou.ba(g_tech_ddr.ba_w-1 DOWNTO 0),                                          --             .mem_ba
       mem_ck                     => phy_ou.ck(g_tech_ddr.ck_w-1 DOWNTO 0),                                          --             .mem_ck
       mem_ck_n                   => phy_ou.ck_n(g_tech_ddr.ck_w-1 DOWNTO 0),                                        --             .mem_ck_n
-      mem_cke                    => phy_ou.cke(g_tech_ddr.cke_w-1 DOWNTO 0),                                        --             .mem_cke
-      mem_cs_n                   => phy_ou.cs_n(g_tech_ddr.cs_w-1 DOWNTO 0),                                        --             .mem_cs_n
+      mem_cke                    => i_mem_cke,                                                                      --             .mem_cke
+      mem_cs_n                   => i_mem_cs_n,                                                                     --             .mem_cs_n
       mem_dm                     => phy_ou.dm(g_tech_ddr.dm_w-1 DOWNTO 0),                                          --             .mem_dm
       mem_ras_n                  => phy_ou.ras_n,                                                                   --             .mem_ras_n
       mem_cas_n                  => phy_ou.cas_n,                                                                   --             .mem_cas_n
@@ -267,7 +276,7 @@ BEGIN
       mem_dq                     => phy_io.dq(g_tech_ddr.dq_w-1 DOWNTO 0),                                          --             .mem_dq
       mem_dqs                    => phy_io.dqs(g_tech_ddr.dqs_w-1 DOWNTO 0),                                        --             .mem_dqs
       mem_dqs_n                  => phy_io.dqs_n(g_tech_ddr.dqs_w-1 DOWNTO 0),                                      --             .mem_dqs_n
-      mem_odt                    => phy_ou.odt(g_tech_ddr.odt_w-1 DOWNTO 0),                                        --             .mem_odt
+      mem_odt                    => i_mem_odt,                                                                      --             .mem_odt
       avl_ready                  => ctlr_miso.waitrequest_n,                                                        --          avl.waitrequest_n
       avl_burstbegin             => ctlr_mosi.burstbegin,                                                           --             .beginbursttransfer
       avl_addr                   => ctlr_mosi.address(c_ctlr_address_w-1 DOWNTO 0),                                 --             .address
@@ -292,6 +301,11 @@ BEGIN
       pll_config_clk             => OPEN,                                                                           --             .pll_config_clk
       dll_delayctrl              => OPEN                                                                            --  dll_sharing.dll_delayctrl
     );
+    
+  phy_ou.cke(0)  <= i_mem_cke;
+  phy_ou.cs_n(0) <= i_mem_cs_n;
+  phy_ou.odt(0)  <= i_mem_odt;
+
   END GENERATE;
 
   i_ctlr_gen_rst <= NOT ctlr_gen_rst_n;