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 軟體的未來版本中支援。