Forum Discussion
Altera_Forum
Honored Contributor
16 years ago --- Quote Start --- When searching for entity foo, it looks for foo.<hdl extension> in the project directory or in the directories defined by Settings -> Libraries. --- Quote End --- I'm afraid this doesn't seem to be the case. By the above explanation (which seems to be how it's meant to work), the direct instantiation of a component specifying entity, library and architecture (i use the --synthesis library my_lib directive in the same file as the entity declaration) - for example:
MY_COMPONENT: entity my_lib.my_entityname(my_arch)
port map( etc. should cause the Quartus compiler to search the user specified directories for the specified entity (assuming the .vhd file containing the entity declaration has not been added to the project). In reality you get a compile error that the entity 'my_entity' is used but not declared, or not in the current library. Ultimately I only managed to get quartus to look in my specified directory by declaring the component in a package file (that was included in the project) and using instances of the declared component. But for an entity with multiple architectures, I need to specify a configuration which will produce almost the same problems unless the actual entity.vhd file is included in the project, making the ability to specify additional directories in Quartus redundant. Try referring to an entity in a .vhd file not in the project but in a directory added to the project or global library list. If you can get Quartus to compile can somebody let me know how they are instantiating those components?