[an error occurred while processing this directive]
|
В двух разных модулях (модули отлаживались по отдельности как законченные устройства) есть разные компоненты с разными интерфейсами и соответственно разными архитектурами, но с одинаковыми именами. При объединении этих модулей под одну top-entity квартус компилит все их компоненты в общую библиотеку work и когда находит во втором модуле декларацию компонента с уже использованным именем, он заявляет, что эта декларация не соответствует компоненту из уже скомпилированного модуля. До использования дело не доходит.
Наиболее логично было бы ограничить видимость каждого компонента своим модулем, но как это сделать я не пока не понял.
До конструкции
comp_inst : entity my_lib.comp(a)
дело не доходит.
Пока переименовал один из компонентов, но это явный конформизм. В нормальном языке просто обязанно быть нормальное структурирование проекта с разделением пространств имен и их видимости.
E-mail: info@telesys.ru