From d81242229433c0f8c580980322b5e9f9ac93f5ed Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Tue, 19 Apr 2016 06:12:59 +0000 Subject: [PATCH] Added description of 3e) hdllib.cfg key sections --- tools/hdltool_readme.txt | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/tools/hdltool_readme.txt b/tools/hdltool_readme.txt index 1b40cfb94f..deadaf9540 100644 --- a/tools/hdltool_readme.txt +++ b/tools/hdltool_readme.txt @@ -20,8 +20,10 @@ Contents: 3) HDL environment configuration files a) Tools and libraries b) Target configuration scripts - c) hdltool_<toolset>.cfg key descriptions - d) hdllib.cfg key descriptions + c) hdltool_<toolset>.cfg key sections + d) hdltool_<toolset>.cfg key descriptions + e) hdllib.cfg key sections + f) hdllib.cfg key descriptions 4) Porting from $UNB to $RADIOHDL a) History @@ -496,7 +498,12 @@ See also the docstring help text in the Python code: >> help(quartus_config.py) -c) hdltool_<toolset>.cfg key descriptions +c) hdltool_<toolset>.cfg key sections + +The hdltool_<toolset>.cfg has no key sections yet. Hence all toolset keys are visible to target scripts. + + +d) hdltool_<toolset>.cfg key descriptions - lib_root_dir = Root directory from where all HDL library configuration files (hdllib.cfg) are searched @@ -530,8 +537,23 @@ c) hdltool_<toolset>.cfg key descriptions is not in the list of technology_names will not be in the build. +e) hdllib.cfg key sections + +The hdllib.cfg can be devided into sections to group the keys that are used for a specific target. The sections headers are +identified between [section_name] like in a ini file. The first part of the hdllib.cfg has no section header is these +keys are available for all target scripts. The keys within in a section are only available for the target script that +has selected the section_name in its libFileSections list. The libFileSections argument is a list because it is allowed for a target +script to use keys from more than one section. + + hdllib.cfg section name target script + [modelsim_project_file] --> modelsim_config.py (with libFileSections=['modelsim_project_file']) + [quartus_project_file] --> quartus_config.py (with libFileSections=['quartus_project_file']) + +Future target scripts will have their own [section name] header in the hdllib.cfg. In this way the hdllib.cfg remains more organised and the +keys per target are independ. + -d) hdllib.cfg key descriptions +f) hdllib.cfg key descriptions - hdl_lib_name = The name of the HDL library, e.g. common, dp, unb1_minimal. @@ -721,8 +743,8 @@ The binaries for Modelsim get build in a separate directory tree with absolute p Currently the path is set to $HDL_BUILD_DIR = $RADIOHDL/build. Using a completely separate absolute build tree is more clear than building the library in a local build directory. To create the Modelsim project files for all HDL libraries in the $RADIOHDL tree do: - $RADIOHDL> rm -rf build - $RADIOHDL> python modelsim_config.py + > rm -rf $RADIOHDL/build/unb1/modelsim # optional + > python $RADIOHDL/tools/oneclick/base/modelsim_config.py -t unb1 See also the docstring help text in the Python code: @@ -733,7 +755,7 @@ See also the docstring help text in the Python code: b) Compilation - > run_modelsim & + > run_modelsim unb1 & In Modelsim do: @@ -775,6 +797,8 @@ a) Creating the Quartus project files The quartus_config.py creates the Quartus qpf, qsf and or qip files for a design library. + > rm -rf $RADIOHDL/build/unb1/quartus # optional + > python $RADIOHDL/tools/oneclick/base/quartus_config.py -t unb1 8) Design revisions -- GitLab