Перейти к содержанию
    

Vivado 17.1 Создание своего IP

Привет!

Пытаюсь заставить свое ядро работать в двух режимах - в одном используется одно дочернее 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 применительно к кастомным ядрам? может я просто каких-то директив не знаю? Пока все что гуглил было мимо.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Генерируемое - это нетлист?

Если нетлист, то генерайт уже сработал, и естественно изменить чего-то после вы не можете.

 

Надо генерить 2 версии, а выбирать уже при подключении. ИМХО.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо генерить 2 версии, а выбирать уже при подключении. ИМХО.

там проект ядра, а не нетлист, на сколько я знаю - я имею в виду то, что получается путем Tools -> Create and package new IP.

Выбирать 2 как-то не удобно, хотелось бы, что бы ты в верхнем уровне вставил ядро, 2 раза кликнул и поменял режим работы, а не подключать все заново...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...