Skip to content
Snippets Groups Projects
Commit 6b373a49 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Added description of modelsim_compile_ip_files key.

Added 4c) Replace SOPC avs2_eth_coe instance.
parent 6e8fd402
No related branches found
No related tags found
No related merge requests found
...@@ -21,6 +21,9 @@ Contents: ...@@ -21,6 +21,9 @@ Contents:
d) hdllib.cfg key descriptions d) hdllib.cfg key descriptions
4) Porting from $UNB to $RADIOHDL 4) Porting from $UNB to $RADIOHDL
a) History
b) Use SVN-copy
c) Replace SOPC avs2_eth_coe instance
5) Build directory location 5) Build directory location
...@@ -253,7 +256,7 @@ GUI: ...@@ -253,7 +256,7 @@ GUI:
For command line scripts use the unb_* scripts. See ASTRON_RP_1354_unb_minimal.pdf for more description. For command line scripts use the unb_* scripts. See ASTRON_RP_1354_unb_minimal.pdf for more description.
3) HDL environment configuration files 3) HDL environment configuration files
a) Tools and libraries a) Tools and libraries
...@@ -267,6 +270,8 @@ The HDL libraries can define a module library with VHDL that is reused in other ...@@ -267,6 +270,8 @@ The HDL libraries can define a module library with VHDL that is reused in other
with a top level entity that maps on the IO of the FPGA. For the hdllib.cfg there is no difference between with a top level entity that maps on the IO of the FPGA. For the hdllib.cfg there is no difference between
a module library or a design library, they are all HDL libraries. a module library or a design library, they are all HDL libraries.
The hdllib.cfg typically points to sources that are located in the same directory or in its subdirectories.
However the sources can be located elsewhere, the hdllib.cfg can refer to sources at any location.
b) Target configuration scripts b) Target configuration scripts
...@@ -340,6 +345,12 @@ d) hdllib.cfg key descriptions ...@@ -340,6 +345,12 @@ d) hdllib.cfg key descriptions
Global root path (e.g. $HDL_BUILD_DIR) or local library path (e.g. '') to the build directory for simulation. The path gets extended with the Global root path (e.g. $HDL_BUILD_DIR) or local library path (e.g. '') to the build directory for simulation. The path gets extended with the
tool_name_synth from hdltool.cfg. tool_name_synth from hdltool.cfg.
- modelsim_compile_ip_files =
This key lists one or more TCL scripts that are executed by the Modelsim mpf before it compiles the rest of the source code. Eg:
- compile_ip.tcl : a TCL script that contains external IP sources that are fixed and need to be compiled before the synth_files. For
the Altera IP the compile_ip.tcl is derived from the msim_setup.tcl that is generated by the MegaWizard or Qsys.
- map_ip.tcl : a TCL script that maps a VHDL library name to another location.
- modelsim_search_libraries = - modelsim_search_libraries =
List of IP technology search libraries that will be put in the -L {} option of a Modelsim simulation configuration in the mpf. This avoids that all List of IP technology search libraries that will be put in the -L {} option of a Modelsim simulation configuration in the mpf. This avoids that all
IP technology needs to be compiled into the work library. The -L {} option is needed for simulations in libraries that use generated IP like IP technology needs to be compiled into the work library. The -L {} option is needed for simulations in libraries that use generated IP like
...@@ -387,6 +398,8 @@ d) hdllib.cfg key descriptions ...@@ -387,6 +398,8 @@ d) hdllib.cfg key descriptions
4) Porting from $UNB to $RADIOHDL 4) Porting from $UNB to $RADIOHDL
a) History
First the base modules have been ported, e.g. common, dp. Only the files that need to change are SVN copied from their location First the base modules have been ported, e.g. common, dp. Only the files that need to change are SVN copied from their location
in $UNB to $RADIOHDL. Files that remain unchanged are referred to from $UNB in the hdllib.cfg. in $UNB to $RADIOHDL. Files that remain unchanged are referred to from $UNB in the hdllib.cfg.
Initially only Modelsim simulation is supported in $RADIOHDL by means of modelsim_config.py. The first design to be ported is Initially only Modelsim simulation is supported in $RADIOHDL by means of modelsim_config.py. The first design to be ported is
...@@ -394,9 +407,25 @@ unb_minimal, but that requires tse and unb_common to be ported first. ...@@ -394,9 +407,25 @@ unb_minimal, but that requires tse and unb_common to be ported first.
Major renamings have been done for tse --> eth and unb_common --> unb1_board to make the code more clean. The eth_layers_pkg Major renamings have been done for tse --> eth and unb_common --> unb1_board to make the code more clean. The eth_layers_pkg
has been split into common_network_layers_pkg.vhd (for Ethernet protocol parameters) and common_network_total_header_pkg.vhd (for has been split into common_network_layers_pkg.vhd (for Ethernet protocol parameters) and common_network_total_header_pkg.vhd (for
representing the header in an array of word). representing the header in an array of word).
No functional changes re done, only cosmetic to make the code more clean. The changes are guarded by the tb_tb_tb_*_regression.vhd No functional changes are done, only cosmetic to make the code more clean. The changes are guarded by the tb_tb_tb_*_regression.vhd
test benches for eth and unb1_board that are self-checking and must run without errors. test benches for eth and unb1_board that are self-checking and must run without errors.
b) Use SVN-copy
When a source file needs to be modified then it is appropriate to SVN-copy it to the $RADIOHDL tree.
In this way the $UNB tree remains stable, while new developments can continue savely in the $RADIOHDL
tree. Best use SVN-copy instead of plain cp, because SVN-copy preseves the revision log.
c) Replace SOPC avs2_eth_coe instance
Replace in SOPC instance avs_eth_0 with avs_eth_coe by avs2_eth_coe. The eth now uses eth_pkg.vhd from
$RADIOHDL. The avs_eth_coe still uses the eth_pkg.vhd from $UNB and this causes duplicate source file
error in synthesis. Therefore open the SOPC GUI and replace the instance avs_eth_0 with avs_eth_coe by
the avs2_eth_coe component.
Make sure that the user_component.ipx is set up oke (see point 2e), because that is needed for SOPC to
find the new avs2_eth_coe in $RADIOHDL.
5) Build directory location 5) Build directory location
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment