Les configurations de hiérarchie multi-niveaux dans VHDL ne sont actuellement pas prises en charge pour la synthèse intégrée de Quartus® II. Un exemple de conflsion de hiérarchie multi-niveaux est illustré ci-dessous :
--top level
ENTITY top IS
...
CONFIGURATION top_conf OF top IS
...
USE ENTITY work.submodule(first_sub_arch);
...
USE ENTITY work.submodule(second_sub_arch);
...
--second level
ENTITY submodule
...
ARCHITECTURE behavioral OF submodule IS
...
BEGIN
first_sub_arch_instance : lowestmodule ...
second_sub_arch_instance : lowestmodule ...
END behavioral
--third level
ENTITY lowestmodule IS
...
ARCHITECTURE first_sub_arch OF lowestmodule IS
...
ARCHITECTURE second_sub_arch OF lowestmodule IS
...
Pour contourner ce problème, définissez une configuration séparée pour chacune des sous-modèles. Un exemple de cette solution de contournement est indiqué ci-dessous.
--top VHDL
ENTITY top IS
...
CONFIGURATION top_conf OF top IS
...
USE CONFIGURATION work.submodule(first_submodule);
...
USE CONFIGURATION work.submodule(second_submodule);
...
--second level
ENTITY submodule
...
ARCHITECTURE behavioral OF submodule IS
...
BEGIN
first_submodule_instance : lowestmodule ...
second_submodule_instance : lowestmodule ...
END behavioral
CONFIGURATION first_config OF submodule IS
...
USE ENTITY work.submodule(first_sub_arch);
...
CONFIGURATIOIN second_config OF submodule IS
...
USE ENTITY work.submodule(first_sub_arch);
...
--third level
ENTITY lowestmodule IS
...
ARCHITECTURE first_sub_arch OF lowestmodule IS
...
ARCHITECTURE second_sub_arch OF lowestmodule IS
...
Cette syntaxe devrait être prise en charge dans une prochaine version du logiciel Quartus II.