Article ID: 000084547 Content Type: Troubleshooting Last Reviewed: 09/11/2012

Does Quartus II synthesis support multi-level hierarchy configurations in VHDL?

Environment

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

Multi-level hierarchy configurations in VHDL are currently not supported for the Quartus® II Integrated Synthesis. An example of a multi-level hierarchy configuartion is shown below:

--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
...

Resolution

To work around this issue, define a separate configuration for each of the submodules. An example of this workaround is shown below.

--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
...

This syntax is scheduled to be supported in a future release of the Quartus II software.

Related Products

This article applies to 1 products

Intel® Programmable Devices

1