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

Quartus создание символа из Verilog проекта

Есть старый проект в виде block diagram. Нужно было добавить функционала и кое-что поменять, сделал проект на верилоге, проверил его отдельно на этой же пустой ПЛИС. В проекте глубина вложения - 2. Всего 4 файла *.v.  Для преобразования кода в символ есть всего одна функция - Create a Symbol File for Current File. И она по идее должна создавать символ только из единичного файла. Но для проверки сделал простенький проект с делителем во вложенном инстансе, преобразовал в схематик и он работал. А вот мой проект работать отказывается. Только если весь код накидать в один файл. Что-то можно с этим сделать?

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


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

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

Какие ошибки вываливаются? Опиши подробнее что происходит.

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


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

Так ошибок нет, проект в виде block diagram компилируется с добавленным сгенеренным символом, просто на выходе именно этого нового блока ничего нет. Я делаю Create a Symbol File for Current File в проекте на верилоге и добавляю получившийся символ в библиотеку квартуса, а потом подключаю его на общей схеме.

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


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

Да, все файлы проекта на verilog добавлены в библиотеку проекта block diagram. Technology map viewer показывает примерно одно и то же для обоих скомпилированных проектов. Но этот символ не работает. Только если запихать весь код в один файл, сгенерить символ схематик и воткнуть в bdf. Тогда работает. Меня интересует вопрос - принципиально нельзя создать рабочий символ файл из verilog проекта с множеством файлов и уровней вложений?

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


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

15 часов назад, Restinstage сказал:

Да, все файлы проекта на verilog добавлены в библиотеку проекта block diagram. Technology map viewer показывает примерно одно и то же для обоих скомпилированных проектов. Но этот символ не работает. Только если запихать весь код в один файл, сгенерить символ схематик и воткнуть в bdf. Тогда работает. Меня интересует вопрос - принципиально нельзя создать рабочий символ файл из verilog проекта с множеством файлов и уровней вложений?

Для своих файлов вы должны написать обёртку и уже для неё формировать графический символ. Неясно, так ли вы делали.

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


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

8 hours ago, _sda said:

Для своих файлов вы должны написать обёртку и уже для неё формировать графический символ. Неясно, так ли вы делали.

Смотря что вы понимаете под оберткой. Есть топ модуль на том же верилоге, почти без функционала кроме пары счетчиков, к нему подключены остальные. Я писал, что компилировал отдельно этот проект и заливал в рабочую ПЛИС чтоб проверить. Из него создавал символ, да.

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


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

06.04.2022 в 17:02, Restinstage сказал:

Да, все файлы проекта на verilog добавлены в библиотеку проекта block diagram. Technology map viewer показывает примерно одно и то же для обоих скомпилированных проектов. Но этот символ не работает. Только если запихать весь код в один файл, сгенерить символ схематик и воткнуть в bdf. Тогда работает. Меня интересует вопрос - принципиально нельзя создать рабочий символ файл из verilog проекта с множеством файлов и уровней вложений?

Все должно работать.

1 создаете *.bsf символ из *.v верхнего уровня.

2 в проекте схематик создает папку project с этим символом, вытаскиваем из нее этот символ в схематик.

3. все множество файлов *.v прописываем в проекте assignments setting files.

В RTL просмотрщике смотрим все вложения. В схематике виден только файл верхнего  уровня.

Нет надобности класть созданный символ в библиотеку.

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


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

20 minutes ago, sazh said:

2 в проекте схематик создает папку project с этим символом, вытаскиваем из нее этот символ в схематик.

3. все множество файлов *.v прописываем в проекте assignments setting files.

Спасибо, попробую так

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


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

On 4/6/2022 at 5:02 PM, Restinstage said:

Technology map viewer показывает примерно одно и то же для обоих скомпилированных проектов. Но этот символ не работает.

Что такое "не работает"? Вы функциональное моделирование проводили? Для полноты картины дайте ваш проект в виде что было и что стало. Можете оригинал, а можете оскоплённый клон, но демонстрирующий ту же задачу, что решаете. На слух воспринимается гораздо хуже, чем один раз увидеть.

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


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

On 4/11/2022 at 7:11 AM, AnatolySh said:

Что такое "не работает"?

Если бы вы прочитали что я писал выше, было бы понятно.

On 4/4/2022 at 6:14 PM, Restinstage said:

Нужно было добавить функционала и кое-что поменять, сделал проект на верилоге, проверил его отдельно на этой же пустой ПЛИС.

То есть та часть, которую нужно добавить работает в железе(выполняет необходимые функции), да и функциональное моделирование разумеется проводил. Проблема только в том, чтобы сгенерить и добавить в старый проект символ. Повторюсь, проект на верилоге многофайловый, если весь код пихнуть в один файл и сгенерить символ, все работает.

Проект выложить не могу, но суть ясна и без него, проблема не в коде и не в функционале.

Изменено пользователем Restinstage

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


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

31 minutes ago, Restinstage said:

Если бы вы прочитали что я писал выше, было бы понятно.

Вы так пишете, что мне, например, не понятно. Особенно про "эту же пустую ПЛИС". А вы можете проверить проект на этой же на треть заполненной ПЛИС? Если задают вам вопрос, то это не от нечего делать, а от того, что непонятно, а своими отписками вы только отбиваете желание с вами разговаривать. Были ещё наводящие вопросы, но раз вам всё понятно, то прошу меня извинить...

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


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

On 4/7/2022 at 7:16 PM, sazh said:

Все должно работать.

1 создаете *.bsf символ из *.v верхнего уровня.

2 в проекте схематик создает папку project с этим символом, вытаскиваем из нее этот символ в схематик.

3. все множество файлов *.v прописываем в проекте assignments setting files.

В RTL просмотрщике смотрим все вложения. В схематике виден только файл верхнего  уровня.

Нет надобности класть созданный символ в библиотеку.

Вообще я в первый раз сделал то же самое, за исключением пункта 2. Я просто скидывал файл *.bsf непосредственно в папку проекта. Сделал по вашей инструкции, результат тот же.

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


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

13 minutes ago, AnatolySh said:

Вы так пишете, что мне, например, не понятно. Особенно про "эту же пустую ПЛИС". А вы можете проверить проект на этой же на треть заполненной ПЛИС?

- Есть ПЛИС в которой зашит старый проект, выполненный в схематике ( не мной).

- Доработка для этого проекта выполнена в виде отдельного многофайлового Верилог проекта.

- Проект на верилоге отмоделирован, зашит в ту же ПЛИС для проверки работы в железе. Занимаемый объем как старым проектом, так и новым, так и обоими, сильно меньше 50%. ПЛИС - аналог древнего FLEX10K, никаких умножителей, PLL, никаких IP ядер, тупая логика. Используется Quartus II 9.0

- Генерируется символ из верилог проекта, добавляется в схему старого проекта-схемы способом, описанным выше. Добавленная часть проекта не работает(нет изменений сигналов на выходах).

- Весь код верилог проекта скидывается в один файл, генерируется символ вышеописанным способом, добавляется в старый проект - все работает.

 

Вопрос: Почему получается генерить рабочий символ из проета на верилог с одним файлом и не получается из проекта с многими?

 

Точнее не описать.

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


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

On 4/12/2022 at 6:00 PM, des00 said:

может

Я собирался с ним этот путь до упора шагать, но, видать, человек не знает, как поступить. Как раз готовлю пост, чтобы показать, как я ставлю похожие задачи. И, если он ещё здесь читает, может, возьмёт за пример. Наша общая задача - помогать друг другу, и учиться друг у друга, а не вот это всё...

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


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

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

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

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

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

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

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

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

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

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