реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Vivado 17.1 Создание своего IP, Использование if generate
Lutovid
сообщение Feb 13 2018, 12:54
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 98
Регистрация: 24-02-14
Из: Москва
Пользователь №: 80 661



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

Может это особенность этой версии вивадо? Или есть где-то галочка - включить абсолютно все файлы, содержащиеся в проекте, в генерируемое ядро? Если такая галочка есть, то это бы спасло
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 13 2018, 13:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 255
Регистрация: 17-02-06
Пользователь №: 14 454



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

Надо генерить 2 версии, а выбирать уже при подключении. ИМХО.
Go to the top of the page
 
+Quote Post
Lutovid
сообщение Feb 13 2018, 17:05
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 98
Регистрация: 24-02-14
Из: Москва
Пользователь №: 80 661



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

там проект ядра, а не нетлист, на сколько я знаю - я имею в виду то, что получается путем Tools -> Create and package new IP.
Выбирать 2 как-то не удобно, хотелось бы, что бы ты в верхнем уровне вставил ядро, 2 раза кликнул и поменял режим работы, а не подключать все заново...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2018 - 07:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.00849 секунд с 7
ELECTRONIX ©2004-2016