VHDL のマルチレベル階層構成は現在、Quartus® II 統合合成にはサポートされていません。マルチレベル階層構成の例を以下に示します。
--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
...
この問題を回避するには、サブモジュールごとに個別の構成を定義します。この回避策の例を以下に示します。
--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
...
この構文は、インテル® Quartus® II ソフトウェアの今後のリリースでサポートされる予定です。