Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Vivado 17.1 Создание своего IP
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Среды разработки - обсуждаем САПРы
Lutovid
Привет!
Пытаюсь заставить свое ядро работать в двух режимах - в одном используется одно дочернее ip ядро, в другом другое.
Вот пример
Код
   generate
       if (IN_DE_MODE[0]==1) begin: core_mode_1
         //первое ядро
       end
    endgenerate
    generate
       if (IN_DE_MODE[1]==1) begin: core_mode_2
        //второе ядро
       end
    endgenerate

Или то же через else
Код
   generate
       if (IN_DE_MODE[0]==1) begin: core_mode_1
         //первое ядро
       end
       else begin: core_mode_2
        //второе ядро
       end
    endgenerate

Далее параметр IN_DE_MODE выношу в изменяемые параметры с топ левела и делаю package IP.
ОКАЗЫВАЕТСЯ если посмотреть File groups, то в нем видно, что в случае если дефолтное значение соответствует IN_DE_MODE[0]==1, то подключается ТОЛЬКО xci первого подядра, а если наоборот, то ТОЛЬКО второго. Соответственно, когда я подключаю созданное таким образом ядро в другой проект и меняю значение параметра с дефолтного, возникает ошибка синтеза в следствие того, что вивадо не нашла файл подключаемого дочернего ядра...
Есть идея конечно написать первый вариант if generate и дефолтом поставить значение 3, тогда оба ядра будут включены, но это не верно с точки зрения логики реализуемого ядра, так как оба эти режима не должны включаться одновременно и это больше похоже на костыль. Приходила идея руками добавлять гуе в file groups проигнорированный файл, но хотелось бы узнать, есть ли еще варианты? может есть особенности работы с if generate применительно к кастомным ядрам? может я просто каких-то директив не знаю? Пока все что гуглил было мимо.

Может это особенность этой версии вивадо? Или есть где-то галочка - включить абсолютно все файлы, содержащиеся в проекте, в генерируемое ядро? Если такая галочка есть, то это бы спасло
Golikov A.
Генерируемое - это нетлист?
Если нетлист, то генерайт уже сработал, и естественно изменить чего-то после вы не можете.

Надо генерить 2 версии, а выбирать уже при подключении. ИМХО.
Lutovid
Цитата(Golikov A. @ Feb 13 2018, 16:43) *
Надо генерить 2 версии, а выбирать уже при подключении. ИМХО.

там проект ядра, а не нетлист, на сколько я знаю - я имею в виду то, что получается путем Tools -> Create and package new IP.
Выбирать 2 как-то не удобно, хотелось бы, что бы ты в верхнем уровне вставил ядро, 2 раза кликнул и поменял режим работы, а не подключать все заново...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.