Jump to content

    

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

Recommended Posts

Restinstage

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

Share this post


Link to post
Share on other sites

slkhome

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

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

Share this post


Link to post
Share on other sites

Restinstage

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

Share this post


Link to post
Share on other sites

Restinstage

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Restinstage
8 hours ago, _sda said:

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

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

Share this post


Link to post
Share on other sites

sazh
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 просмотрщике смотрим все вложения. В схематике виден только файл верхнего  уровня.

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

Share this post


Link to post
Share on other sites

Restinstage
20 minutes ago, sazh said:

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

Edited by Restinstage

Share this post


Link to post
Share on other sites

AnatolySh
31 minutes ago, Restinstage said:

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Restinstage
13 minutes ago, AnatolySh said:

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

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

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

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

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

может

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.