diff --git a/tools/oneclick/base/hdl_config.py b/tools/oneclick/base/hdl_config.py
index 5b994a1ef4bb7d94190b529a22bfdb0e94446187..6db55e43c8f89437e192edaf99458e964c1d9ae8 100644
--- a/tools/oneclick/base/hdl_config.py
+++ b/tools/oneclick/base/hdl_config.py
@@ -186,53 +186,67 @@ class HdlConfig:
         return tech_dict
     
 if __name__ == '__main__':
-    # Read the dictionary info from all HDL tool and library configuration files in the current directory and the sub directories
-    libRootDir = 'RADIOHDL'
-    #libRootDir = 'UNB'
-    hdl = HdlConfig(libRootDir=os.environ[libRootDir], toolRootDir=os.path.expandvars('$RADIOHDL/tools'), libFileName='hdllib.cfg', toolFileName='hdltool.cfg')
-
-    print '#'
-    print '# HdlConfig:'
-    print '#'
-    for i, p in enumerate(hdl.libs.filePathNames):
-        print i, p
-        d = hdl.libs.dicts[i]
-        for k,v in d.iteritems():
-            print k, '=', v
-        print ''
-
-    print ''
-    print 'tool = ', hdl.tool.filePathNames[0]
+    # Mode
+    # 0 = Read dictionary info from all HDL tool and library configuration files and derive the compile order
+    # 1 = Change a key value in all hdllib.cfg dict files
+    mode = 0
+    
+    if mode==0:   
+        # Read the dictionary info from all HDL tool and library configuration files in the current directory and the sub directories
+        libRootDir = 'RADIOHDL'
+        #libRootDir = 'UNB'
+        hdl = HdlConfig(libRootDir=os.environ[libRootDir], toolRootDir=os.path.expandvars('$RADIOHDL/tools'), libFileName='hdllib.cfg', toolFileName='hdltool.cfg')
     
-    print ''
-    print 'lib paths'
-    for p in hdl.libs.filePaths:
-        print '    ', p
+        print '#'
+        print '# HdlConfig:'
+        print '#'
+        for i, p in enumerate(hdl.libs.filePathNames):
+            print i, p
+            d = hdl.libs.dicts[i]
+            for k,v in d.iteritems():
+                print k, '=', v
+            print ''
+    
+        print ''
+        print 'tool = ', hdl.tool.filePathNames[0]
         
-    print ''
-    print 'lib paths names'
-    for p in hdl.libs.filePathNames:
-        print '    ', p
+        print ''
+        print 'lib paths'
+        for p in hdl.libs.filePaths:
+            print '    ', p
+            
+        print ''
+        print 'lib paths names'
+        for p in hdl.libs.filePathNames:
+            print '    ', p
+            
+        print ''
+        print 'lib_names        = ', hdl.lib_names
+        print 'derive_lib_order : ', hdl.derive_lib_order()
+    
+        print ''
+        print 'get_lib_build_dirs for simulation:'
+        for sim_dir in hdl.get_lib_build_dirs('sim'):
+            print '    ', sim_dir
         
-    print ''
-    print 'lib_names        = ', hdl.lib_names
-    print 'derive_lib_order : ', hdl.derive_lib_order()
-
-    print ''
-    print 'get_lib_build_dirs for simulation:'
-    for sim_dir in hdl.get_lib_build_dirs('sim'):
-        print '    ', sim_dir
+        print ''    
+        if libRootDir=='RADIOHDL':
+            #print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('tech_memory'))
+            #print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('numonyx_m25p128'))
+            #print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('ip_stratixiv'))
+            #print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('tech_flash'))
+            print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('epcs'))
+        if libRootDir=='UNB':
+            print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('dp'))
+            print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('uth'))
+            print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('unb_common'))
+            print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('unb_minimal'))
     
-    print ''    
-    if libRootDir=='RADIOHDL':
-        #print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('tech_memory'))
-        #print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('numonyx_m25p128'))
-        #print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('ip_stratixiv'))
-        #print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('tech_flash'))
-        print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('epcs'))
-    if libRootDir=='UNB':
-        print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('dp'))
-        print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('uth'))
-        print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('unb_common'))
-        print 'derive_lib_order = ', hdl.derive_lib_order(hdl.derive_all_use_libs('unb_minimal'))
-
+    if mode==1:
+        key = 'build_synth_dir'
+        new_value = '$HDL_BUILD_DIR'
+        # Read the dictionary info from all HDL tool and library configuration files in the current directory and the sub directories
+        libRootDir = 'RADIOHDL'
+        hdl = HdlConfig(libRootDir=os.environ[libRootDir], toolRootDir=os.path.expandvars('$RADIOHDL/tools'), libFileName='hdllib.cfg', toolFileName='hdltool.cfg')
+        for p in hdl.libs.filePathNames:
+             hdl.libs.change_key_in_dict_file(p, key, new_value)