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

Здравствуйте, вопрос.

Есть проект на verilog, вижу что-то похожее на то что писал посредством rtl viewer . Однако согласно "optimization results, почти все регистры удалены.

Также не вижу инстансов в "technology map viewer". Значит ли это что на самом деле что эти регистры удалены и удалены соответственно инстансы, в которых они использовались?

Спасибо

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


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

40 минут назад, another_one сказал:

почти все регистры удалены.

Ищите где потеряли клоки на эти регистры. Или не убрали сбросы...

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


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

2 hours ago, Zig said:

.. или не подключили входы/выходы к падам...

все подключено, проверял

2 hours ago, iosifk said:

Ищите где потеряли клоки на эти регистры. Или не убрали сбросы...

так они удалены действительно? что же я тогда вижу во вьювере?, до оптимизации?

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


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

9 часов назад, another_one сказал:

все подключено, проверял

так они удалены действительно? что же я тогда вижу во вьювере?, до оптимизации?

До оптимизации - это "Ваши художества"... После - это то, что инструмент "понял" из них. Если в схеме где-то заблокированы клоки, то по его мнению регистры не нужны.

При этом главный вопрос: а делали ли Вы симуляцию "без оптимизации", т.е. на уровне RTL? 

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


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

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

 

Вообще не понимаю что происходит, обычный таймер коцает

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


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

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

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


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

5 hours ago, another_one said:

В итоге симуляция моледстм, ок, симуляция айса ок, Спартан выдаёт то чтотнадо, а квартус все удаляет.

а если почитать логи синтеза на предмет всяких INFO|WARN???

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


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

Даже не помогает syntesis keep атрибут в отношении сигналов инстансов, однако сами инстансы  в post map видны, но все равно ничего не работает, поскольку все необходимые регистры покоцал квартус согласно репорту.

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

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


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

1 час назад, another_one сказал:

Даже не помогает syntesis keep атрибут в отношении сигналов инстансов, однако сами инстансы  в post map видны, но все равно ничего не работает, поскольку все необходимые регистры покоцал квартус согласно репорту.

 

А шо это за такой супер-секретный код, который не работает, а мы аки Настрадамусы угадать пытаемся где заковыка ? Может лучше выложить этот код сюда, тогда и сразу конструктивный диалог состоится...

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


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

21 hours ago, another_one said:

Ранее в квартусе тоже всетбыло ок, но он как то глюкнул и пришлось сделать новый проект плюс немного его систематизиповал

где то отображение портов на чип побилось, вот и итог

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


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

On 6/29/2019 at 8:09 AM, des00 said:

где то отображение портов на чип побилось, вот и итог

эту гипотезу легко проверить синтезнув в режиме out-of-context (или как он в квартус называется)

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


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

8 hours ago, Doka said:

эту гипотезу легко проверить синтезнув в режиме out-of-context (или как он в квартус называется)

а такое есть в квартусе?

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

 

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


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

45 minutes ago, yes said:

по крайней мере, я бы тоже поинтересовался - как это в квартусе сделать.

Нужно сделать все пины (кроме входного clock'а) виртуальными.

Quote

Use the Virtual Pin assignment to indicate pins of a partition that do not drive pins in the top-level design.

You can create a virtual pin assignment in the Assignment Editor for partition I/Os that will become internal nodes in the top-level design.

 

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


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

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

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

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

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

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

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

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

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

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