Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16623 Discussions

Quartus Project Organization

Altera_Forum
Honored Contributor II
995 Views

I'm trying to decide which is the best way to organise a project consisting of several sub-modules. I want to be able to compile and simulate each sub-module independently before incorporating them into the top-level design. Is the incremental compilation method the only way to do this, or is it possible to organise the project using sub-directories (and seperate projects) to achieve what I want?

0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
302 Views

Hi, 

 

As you said, designers process each submodule separately each in its own directory. The top level is treated similarly in its own separate directory. But the top level is given path and the design files added as required. 

 

This is done in all cases of normal build and the idea of separate directories is important to avoid a mix-up of compilation products. 

 

The incremental compilation is a special case(very few people go for it) and means that once you compile a module you finished with it any further high when it is called up. The compiler doesn't have to recompile it while in normal build the compiler treats all the modules as one new design to be fitted freely.(logiclock is similar to some extent to incremental compilation). Incremetal compilation can be time saving but the fitter is constrained as the chip is filled up and may eventually fail to fit after all. 

 

edit: 

Two issues are worth noting: 

1) if your lower level modules have same names in two different folders and you added them at the top, this will not guarantee trouble-free compilation. So name all modules uniquely across all folders. 

 

2) when you archive then restore your project, all modules are dropped in the same one folder, quartus will not reverse the folder structure. 

 

kaz
0 Kudos
Altera_Forum
Honored Contributor II
302 Views

Hi, 

Naming sub-modules uniquely is easy to do in order to avoid problems when using a seperate sub-directory for each module - but what about megafunctions used within these modules? - do these have to have unique names as well? 

 

Tim
0 Kudos
Altera_Forum
Honored Contributor II
302 Views

Hi, 

 

Leave that to Quartus, any module called up directly from library will not need renaming, any generated submodule or wrapper built around them will be named by quartus
0 Kudos
Reply