From a8354eea504213b3e5cb2db76d27bfe55b711ae2 Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Wed, 1 Oct 2014 07:51:06 +0000 Subject: [PATCH] Added copy files for Modelsim. Added modelsim_search_libraries key for -L {} option in simulation. --- tools/oneclick/base/modelsim_config.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/tools/oneclick/base/modelsim_config.py b/tools/oneclick/base/modelsim_config.py index 62a9758eea..391c86225d 100644 --- a/tools/oneclick/base/modelsim_config.py +++ b/tools/oneclick/base/modelsim_config.py @@ -210,7 +210,14 @@ class ModelsimConfig(hdl_config.HdlConfig): # - simulation configurations fp.write('Project_Sim_Count = %d\n' % len(test_bench_files)) - project_sim_p_defaults = 'Generics {} timing default -std_output {} -nopsl 0 +notimingchecks 0 -L {} selected_du {} -hazards 0 -sdf {} ok 1 -0in 0 -nosva 0 +pulse_r {} -absentisempty 0 -multisource_delay {} +pulse_e {} vopt_env 1 -coverage 0 -sdfnoerror 0 +plusarg {} -vital2.2b 0 -t default -memprof 0 is_vopt_flow 0 -noglitch 0 -nofileshare 0 -wlf {} -assertdebug 0 +no_pulse_msg 0 -0in_options {} -assertfile {} -sdfnowarn 0 -Lf {} -std_input {}' + project_sim_p_defaults = 'Generics {} timing default -std_output {} -nopsl 0 +notimingchecks 0 selected_du {} -hazards 0 -sdf {} ok 1 -0in 0 -nosva 0 +pulse_r {} -absentisempty 0 -multisource_delay {} +pulse_e {} vopt_env 1 -coverage 0 -sdfnoerror 0 +plusarg {} -vital2.2b 0 -t default -memprof 0 is_vopt_flow 0 -noglitch 0 -nofileshare 0 -wlf {} -assertdebug 0 +no_pulse_msg 0 -0in_options {} -assertfile {} -sdfnowarn 0 -Lf {} -std_input {}' + project_sim_p_search_libraries = '-L {}' + if 'modelsim_search_libraries' in lib_dict: + project_sim_p_search_libraries = '-L {' + for sl in lib_dict['modelsim_search_libraries'].split(): + project_sim_p_search_libraries += sl + project_sim_p_search_libraries += ' ' + project_sim_p_search_libraries += '}' project_sim_p_otherargs = 'OtherArgs {}' project_sim_p_otherargs = 'OtherArgs {+nowarn8684 +nowarn8683 -quiet}' project_sim_p_otherargs = 'OtherArgs {+nowarn8684 +nowarn8683}' @@ -223,13 +230,13 @@ class ModelsimConfig(hdl_config.HdlConfig): for i, fn in enumerate(test_bench_files): fName = os.path.basename(fn) tbName = os.path.splitext(fName)[0] - fp.write('Project_Sim_P_%d = folder {Top Level} additional_dus work.%s %s %s %s\n' % (i, tbName, project_sim_p_defaults, project_sim_p_otherargs, project_sim_p_optimization)) + fp.write('Project_Sim_P_%d = folder {Top Level} additional_dus work.%s %s %s %s %s\n' % (i, tbName, project_sim_p_defaults, project_sim_p_search_libraries, project_sim_p_otherargs, project_sim_p_optimization)) # Write [vsim] section fp.write('[vsim]\n') fp.write('RunLength = 0 ps\n') fp.write('resolution = 1fs\n') - fp.write('IterationLimit = 100\n') + fp.write('IterationLimit = 5000\n') # According to 'verror 3601' the default is 5000, typically 100 is enough, but e.g. the ip_stratixiv_phy_xaui_0 requires more. fp.write('DefaultRadix = decimal\n') def create_modelsim_project_files_file(self, filePath=None, lib_names=None): @@ -296,6 +303,10 @@ if __name__ == '__main__': print 'Create modelsim projects list file.' msim.create_modelsim_project_files_file() + print '' + print 'Copy Modelsim directories and files from HDL library source tree to build_dir_sim for all HDL libraries that are found in $%s.' % libRootDir + msim.copy_files('sim') + print '' print 'Create modelsim project files for technology %s and all HDL libraries in $%s.' % (technologyNames, libRootDir) msim.create_modelsim_project_file(technologyNames) -- GitLab