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

Item 100 o) is also fixed by hdl_lib_excludes key.

parent a39a3774
No related branches found
No related tags found
No related merge requests found
...@@ -770,26 +770,22 @@ n) Rename keys: ...@@ -770,26 +770,22 @@ n) Rename keys:
* Rename modelsim_compile_ip_files into more precise name eg. modelsim_execute or modelsim_pre_execute. * Rename modelsim_compile_ip_files into more precise name eg. modelsim_execute or modelsim_pre_execute.
* Rename key test_bench_files into sim_files, but does the hdllib.cfg become more clear to do this rename? * Rename key test_bench_files into sim_files, but does the hdllib.cfg become more clear to do this rename?
o) How to avoid Quartus exit due to IP that is included at configuration, but not used at synthesis o) (FIXED - erko) How to avoid Quartus exit due to IP that is included at configuration, but not used at synthesis
* due to test_bench_files (FIXED - erko) * (FIXED - erko) due to test_bench_files --> 'hdl_lib_uses_sim' key
Quartus can exit with error if IP is included in the hdl_lib_uses list of libraries but not actually used in Quartus can exit with error if IP is included in the hdl_lib_uses list of libraries but not actually used in
the design, eg due to a sdc file that is then sourced but that cannot find some IP signals. Having a seperate the design, eg due to a sdc file that is then sourced but that cannot find some IP signals. Having a seperate
hdl_lib_uses_synth and hdl_lib_uses_sim key solves this issue, by avoiding that libraries that are only needed hdl_lib_uses_synth and hdl_lib_uses_sim key solves this issue, by avoiding that libraries that are only needed
for test bench simulation get included in the list for synthesis. for test bench simulation get included in the list for synthesis.
* (FIXED - erko) due to not-generate a certain IO component at compile time --> 'hld_lib_excludes' key
* due to not-generate a certain IO component at compile time
If the error is changed into warning then Quartus continues. Such modification of the sdc file could be automated
by using 'sed' to edit the sdc after it was generated by generate_ip.tcl.
In some designs we want to be able to temporarily disable the synthesis of an IO component (eg. io_ddr) to reduce In some designs we want to be able to temporarily disable the synthesis of an IO component (eg. io_ddr) to reduce
synthesis time. In that case the Quartus should not need to source the qip and sdc settings for that IP. It synthesis time. In that case the Quartus should not need to source the qip and sdc settings for that IP. The
would be sufficient to only source an io_ddr entity with empty architecture. We already have the revision capability IP can be excluded for a design by using the 'hld_lib_excludes' key to exclude the DDR IP library in the hdllib.cfg
for designs and this could also be applied to IO libraries. Still the question remains how select between using of the design revision that has the io_ddr but does not generate it. The exclusion cannot be done at the io_ddr
the component declaration only library when it is not used for synthesis and how to include the full library when or tech_ddr level, because these are instantiated as entities. Therefore the eclusiong is done at the IP level
it is used for synthesis. This could be done if the io_ddr library is only included at the design level, because because the IP is instantiated as component. Hence the exclusion works because for a component instance that is
then the design that uses the io_ddr has hdl_lib_uses_synth = io_ddr in its hdllib.cfg whereas the design that does not not used only the component declaration (in the component package) needs to be known by the tools. Hence the
use io_ddr should in have hdl_lib_uses_synth = io_ddr_empty, where io_ddr_empty is a revision of io_ddr with only the exclusion makes use of the same VHDL component mechanism as the technology independence.
entity and an emtpy architecture. Erko: the best scheme is probably to use the hld_lib.excludes key to
exclude the DDR IP library in the hdllib.cfg of the design revision that has the io_ddr but does not generate it.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment