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

Установить время симуляции Quartus 9.1

Это прям мистика какая-то. Сын у меня препод, что-то там IT, одна из тем "оптимизация проектирования чего-то там", так и он говорит то же самое. А у меня действительно - "игры в песочнице"...

Объясняю, для "игрунов". :)

Вот скажем так: надо купить 1000 микроконтроллеров на первую партию приборов, которую Вы разрабатываете. Пусть даже дорогой микроконтроллер - 10 долл. И Вы нашли, что его можно купить на 10% дешевле. Выигрыш - 1 * 1000 = 1000 долл. Круто?

А для сравнения, допустим, что Вы сделали разработку платы, изготовили ее и нашли всего одну ошибку. И плату надо переделать. А чтобы сделать, нужно людям заплатить.

Считаем:

разработчик

программист

директор

бухгалтер

снабженец...

 

5 чел на 1 мес (а может быть и до 5 мес при перезаказе комплектации) по 1000 долл каждый. итого - 5 тыс долл. Я не говорю о стоимости комплектации, накладных и пр. ерунде. На 1-3 месяца задержка с выходом на рынок. Первый реактивный МИГ испытали на день раньше, чем конкуренты. И этого им хватило. И вот уже 60 лет как истребители МИГ - это наше все...

 

Вот такой пример...

 

Зря не хотите поговорить. У Вас самая главная ошибка не в "микросхемах", а в "методах решения задачи", я бы так сказал...

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


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

Не советую запускать симуляцию из квартуса, там это плохо сделано, тем более в старом 9-м.

Лучше сделать do-скрипт + bat файл. Если интересно, вечером выложу пример.

Выложите, если не затруднит.

Я тоже симулирую в Квартусе 9.0, пока расхождений реализаций в железе и результатов симуляции не замечал.

Единственно напрягает многочасовой процесс симуляции (есть у меня такой проект).

Если скриптами выйдет быстрее, то буду очень рад.

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


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

Выложите, если не затруднит.

Я тоже симулирую в Квартусе 9.0, пока расхождений реализаций в железе и результатов симуляции не замечал.

Единственно напрягает многочасовой процесс симуляции (есть у меня такой проект).

Если скриптами выйдет быстрее, то буду очень рад.

А почему не Modelsim ?

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


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

Я тоже симулирую в Квартусе 9.0,

Единственно напрягает многочасовой процесс симуляции (есть у меня такой проект).

Если это RTL симуляция, то попробуйте сделать так. Сделайте какой либо проект с большим количеством задействованного ресурса. Например возьмите память или I/O больше, чем в Вашем кристалле. Тогда квартус закричит о нехватке ресурсов. А ведь для RTL симуляции это не нужно. Мало того, значит квартус часть ресурсов машины задействует под базу данных о кристаллах. И делает проверку на ресурсы. А обычно проект симулируется по частям, а потом еще и оптимизируется, так что часть времени машина работает вхолостую... Поэтому надо в настройках убирать "птичку" с выбора кристалла, либо пользоваться моделсимом, который по умолчанию не привязан к кристаллу...

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

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


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

А почему не Modelsim ?

Не знаю...

Работает - и хорошо.

А зачем Модельсим? :wacko:

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


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

Не знаю...

Работает - и хорошо.

А зачем Модельсим? :wacko:

Ну в Modelsim проще, быстрее, удобнее, функциональнее.

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


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

Если это RTL симуляция,

Новый термин... Пойду изучать.

 

Если это RTL симуляция, то попробуйте сделать так. Сделайте какой либо проект с большим количеством задействованного ресурса. Например возьмите память или I/O больше, чем в Вашем кристалле. Тогда квартус закричит о нехватке ресурсов. А ведь для RTL симуляции это не нужно. Мало того, значит квартус часть ресурсов машины задействует под базу данных о кристаллах. И делает проверку на ресурсы.

Как же симулировать без привязки к конкретной микросхеме? На разных микросхемах и результаты разные получаются. Чем квартус и хорош, что адекватные результаты выдаёт.

 

Ну и еще. проверьте, что достаточно места, чтобы свопить файлы.

Более чем достаточно.

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


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

Как же симулировать без привязки к конкретной микросхеме? На разных микросхемах и результаты разные получаются. Чем квартус и хорош, что адекватные результаты выдаёт.

Так давно уже нет необходимости во временном симулировании. Достаточно просимулировать алгоритм работы. А за правильность временных соотношений отвечает timequest путем задания временных ограничений.

Поэтому если RTL + timequest показывают что все в порядке - значит 99% что будет работать.

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


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

. Например возьмите память или I/O больше, чем в Вашем кристалле. Тогда квартус закричит о нехватке ресурсов.

А тут я что-то не въехал. Ресурсы проверяются на этапе анализа и синтеза, а симулятора это дело не касается.

(Вроде бы).

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


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

Это промышленный стандарт.

Или говоря проще, на какую бы Вы работу ни пришли, будут ли там Альтеры, Лэттисы, Актелы или Ксайлинксы, симулятор будет один и тот же и ничего нового изучать не придется... :)

 

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


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

Так давно уже нет необходимости во временном симулировании. Достаточно просимулировать алгоритм работы.

Ну не скажите. Алгоритм - хорошо, но грош ему цена если он не будет работать на конкретном железе с задержками фронтов, состязаниями сбросов и т.п.

У меня как говорится перед глазами живой пример. Алгоритм изделия, реализованный много лет назад на жёсткой логике, при переводе его на ПЛИС потребовал изменить значение одной из констант по сбросу счётчика. Задержки разные!

 

за правильность временных соотношений отвечает timequest путем задания временных ограничений.

Поэтому если RTL + timequest показывают что все в порядке - значит 99% что будет работать.

Сложно это (имхо) самому задавать. Всё и так уже задано в Квартусе, только используй. Да и многочасовая симуляция - всё же редкость, обычно достаточно нескольких минут.

 

Или говоря проще, на какую бы Вы работу ни пришли, будут ли там Альтеры, Лэттисы, Актелы или Ксайлинксы, симулятор будет один и тот же и ничего нового изучать не придется... :)

Вашими бы устами да мёд пить. :)

Такая работа - фантастика. Я бы сказал так: на какую бы работу не пошёл, везде будешь писать служебные, отвечать на письма, писать высосанные из пальца отчёты и т.п. :biggrin:

Мне за много лет просто повезло. Закончится эта работа и вряд ли что-то ещё подобное будет, даже на стороне.

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


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

Ну не скажите. Алгоритм - хорошо, но грош ему цена если он не будет работать на конкретном железе с задержками фронтов, состязаниями сбросов и т.п.

Есть определенные правила проектирования и описания на FPGA - если им придерживаться, то ни о каких задержках, состязаний, неправильных сбросов быть не может быть речи. Если они появляются - то значит в проекте ошибка.

 

Сложно это (имхо) самому задавать. Всё и так уже задано в Квартусе, только используй. Да и многочасовая симуляция - всё же редкость, обычно достаточно нескольких минут.

Quartus не знает ничего :biggrin:

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


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

Приветствую!

 

Новый термин... Пойду изучать.
Для FPGA я знаю 3 основных типа симуляции - Functional, PostSynthesis, post Place and Route.

Functional (очень часто ее называют Register-Transfer Level, IMHO не всегда корректно) используется на этапе разработки дизайна обычно имеет идеальную модель FPGA (0 задержки) поэтому быстро работает. Знание структуры и параметров реального кристалла при этом нужно в основном разработчику чтобы он представлял насколько сумасшедшие конструкции он может реализовывать без риска нарваться на проблемы времянки или нехватки ресурсов при P&R.

Post Synthesis, post Place and Route используются для верификации результата синтеза и P&R соответственно.

Обычно они используют результаты из Functional симуляции как референс для сравнения. Эти симуляции уже могут использовать реальные задержки логических элементов (PostSynthesis) и интерконекта (PostP&R) для конкретного кристалла. Естественно симуляция при этом идет гораздно (в десятки, сотни раз!) меленее чем Functional так как симулировать приходится все события распространения сигналов в схеме иногда с ps точностю. PostSynthesis выгодно использовать когда дизайн большой и можно с экономить время на P&R (иногда десятки часов) для ранней диагностики проблем после синтеза.

 

Как же симулировать без привязки к конкретной микросхеме? На разных микросхемах и результаты разные получаются. Чем квартус и хорош, что адекватные результаты выдаёт.
Сначала надо получить рабочий функционал дизайна как комбинации синхронных схем - тогда перенос на другой кристалл или архитектуру почти не составит труда и при этом результат будет одинаков. Завязка задержек конкретного кристалла в дизайн плохая практика.

 

Удачи! Rob.

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


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

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

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

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

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

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

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

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

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

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