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

Quartus.bdf -> Modelsim

Приветствую всех.

Есть проект в квартусе - схематик файл. Он же *.bdf. В нем также используется мегафункция - двухпортовая память. Как мне это все засунуть в Modelsim? У меня пока получается засунуть ему только *.vhd файлы. А вот что делать с *.bdf ума не приложу. Не понимает он этот формат(

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


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

Приветствую всех.

Есть проект в квартусе - схематик файл. Он же *.bdf. В нем также используется мегафункция - двухпортовая память. Как мне это все засунуть в Modelsim? У меня пока получается засунуть ему только *.vhd файлы. А вот что делать с *.bdf ума не приложу. Не понимает он этот формат(

сконвертить в vhdl и скормить (File->Create/Update->Create HDL Design File for Current File)

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


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

Проблема в том что при выборе *.bdf в опциях при нажатии ПКМ нет "Create HDL Design File for Current File".

 

Я нашел способ как из квартуса можно запускать моделирование в Моделсим для данного проекта. Теперь осталось найти как в Моделсим открывать проект с *.bdf не запуская квартус

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


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

Проблема в том что при выборе *.bdf в опциях при нажатии ПКМ нет "Create HDL Design File for Current File".

открыть в квартусе bdf, потом File->Create/Update->Create HDL Design File for Current File

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


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

Я нашел способ как из квартуса можно запускать моделирование в Моделсим для данного проекта. Теперь осталось найти как в Моделсим открывать проект с *.bdf не запуская квартус

Никак :crying:

 

 

открыть в квартусе bdf, потом File->Create/Update->Create HDL Design File for Current File

ИМХО не самый лучший способ!

Лично я делаю так - Processing->Start->Start EDA Netlist Writer

Получаем файл с HDL описанием ВСЕГО проекта и с учетом всякой альтеровской фигни, потом подсовываем этот файл моделсиму и работаем... :smile3046:

И не надо морочить голову никаким конвертированием, в проекте могут быть части написанные на AHDL, VHDL, Verilog, блоксхемы, все это автоматически обрабатывается и создается ОДИН файл (типа нетлист). По моему очень удобно.

А еще можно так: в настройках проекта на вкладке "EDA Tool Settings"/"Simulation" в поле "Tool name" выбираем "Modelsim-Altera"

Ниже выбираем язык нетлиста VHDL/Verilog и путь куда положить нетлист

После этого нетлист будет автоматически генериться при каждой компиляции

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


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

Лично я делаю так - Processing->Start->Start EDA Netlist Writer

Получаем файл с HDL описанием ВСЕГО проекта и с учетом всякой альтеровской фигни, потом подсовываем этот файл моделсиму и работаем... :smile3046:

А он не разобьет шину и переобозначит сигналы? Вы тут предлагаете уйти от RTL уровня на GATE уровень, ИМХО не очень удобно.

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


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

А он не разобьет шину и переобозначит сигналы?

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

 

Вы тут предлагаете уйти от RTL уровня на GATE уровень, ИМХО не очень удобно.

Это вы про нетлист? А что тут неудобного? Интерфейс модуля верхнего уровня всеравно сохраняется. А нафига ковырятся во вложенных модулях (непосредственно в моделсиме)?

И как учитывать задержки и прочую лабуду без GATE???

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


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

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

Будет время проверю, в quartus не пробовал генерить нетлист, ISE переобозначал, например, шину адреса была на RTL уровне [15:0], а стала _0, ...._15. Некоторые сигналы вообще исчезали...

 

Это вы про нетлист? А что тут неудобного? Интерфейс модуля верхнего уровня всеравно сохраняется. А нафига ковырятся во вложенных модулях (непосредственно в моделсиме)?

И как учитывать задержки и прочую лабуду без GATE???

А отладка сводится только к проверки верхнего уровня в иерархии? А если у меня разрешающий сигнал на триггере не срабатывает по каким-либо условиям или в конечном автомате не то состояние выполнятеся, а по иерархии они находятся уровне так на 5-10, а этот разрешающий сигнал переобозначен и поиском не находится?

В 99 % случаев достаточно только функционального моделирования, при правильном задании и выполнении всех временных ограничений. А если у Вас проект большой, то ни о каком gate-моделировании всего проекта вообще не может идти речи - результат будете ждать месяцами (тем более в графическом режиме) :)

 

 

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


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

А отладка сводится только к проверки верхнего уровня в иерархии? А если у меня разрешающий сигнал на триггере не срабатывает по каким-либо условиям или в конечном автомате не то состояние выполнятеся, а по иерархии они находятся уровне так на 5-10, а этот разрешающий сигнал переобозначен и поиском не находится?

 

В 99 % случаев достаточно только функционального моделирования, при правильном задании и выполнении всех временных ограничений.

 

А если у Вас проект большой, то ни о каком gate-моделировании всего проекта вообще не может идти речи - результат будете ждать месяцами (тем более в графическом режиме) :)

Ну тогда я вывожу нужные сигналы наружу, или отлаживаю частями :rolleyes:

 

А как узнать что все ограничения заданы ПРАВИЛЬНО? Time Quest об этом не скажет :laughing:

 

Ну я бы так не сказал. Как раз таки в моделсиме все симулится за вполне вменяемое время (в разы быстрее чем в самом квартусе).

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


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

Оффтоп уже пощел, по существу еще раз - не советую из RTL делать нетлист:

1. При создании нетлиста могут теряться/переименовываться некоторые сигналы

2. Реальное время моделирования будет отличаться, помимо этого если этот нетлист, например, gate level, то суть моделирования уже другая.

Ну тогда я вывожу нужные сигналы наружу, или отлаживаю частями :rolleyes:

А как узнать что все ограничения заданы ПРАВИЛЬНО? Time Quest об этом не скажет :laughing:

Ну я бы так не сказал. Как раз таки в моделсиме все симулится за вполне вменяемое время (в разы быстрее чем в самом квартусе).

:bb-offtopic: Какой смысл отлаживать gate-level частями, Вы вешаете промежуточные сигналы наружу посредством подключения виртуальных пинов?

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

В моделсиме моделируется все за вменяемое время до тех пор, пока проект небольшой. Не зря недавно появилась в ветке тема про "распределенное" моделирование. У нас сидит спецотдел, который переписывает verilog на С++ и систем си именно по той причине что сишная модель гораздо быстрее моделируется. Отдел моделирования и верификации занимается создания грамотных тестов, чтоб моделирование вообще не запускалось в графическом режиме, а ошибки выводятся в текстовом виде. К слову, на данный момент, мой verilog при описанных выше упрощениях, но в графическом режиме на сервере пропускает тесты на modelsimSE за 40 минут, и этолько 1/4 часть!!!

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


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

А как узнать что все ограничения заданы ПРАВИЛЬНО? Time Quest об этом не скажет :laughing:

скажет, просто надо уметь спрашивать ;)

 

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


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

Оффтоп уже пощел, по существу еще раз - не советую из RTL делать нетлист:

...

Какой смысл отлаживать gate-level частями, Вы вешаете промежуточные сигналы наружу посредством подключения виртуальных пинов?

...

Концепция ясна. Это все правильно, но в конце концов всеравно надо симулить на физ. уровне! Или вы вообще так не симулите, уповая что все ОК, просимулив на логическом?

 

Именно так, при помощи вирт. пинов.

 

А какой временной интервал вы симулите, если не секрет? Просто я как бы тоже не сумматоры делаю...

 

 

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


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

Концепция ясна. Это все правильно, но в конце концов всеравно надо симулить на физ. уровне! Или вы вообще так не симулите, уповая что все ОК, просимулив на логическом?

rtl-симуляция + отчет таймквеста, что еще не хватает для счастья?

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


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

rtl-симуляция + отчет таймквеста, что еще не хватает для счастья?

+1

А какой временной интервал вы симулите, если не секрет? Просто я как бы тоже не сумматоры делаю...

40-80 ms, где-то с десяток частот, самый мощный чип стратикса4 занят процентов на 40(логика и регистры), максимальная тактовая 500МГц. Проект в тестовом окружении, т.е. добавлена еще обвязка с логикой.

Или вы вообще так не симулите, уповая что все ОК, просимулив на логическом?

Почему, после функционального моделирования идет отладка на железе - chipscope, signaltap ну и реальная измериловка (если есть возможность:)), прогон тестов. Действительно, возникают и в железке ошибки, но на моей памяти это все ошибки либо временные и их можно было бы и в отчете timequest посмотреть, либо неправильно выбранные констрейны на входные-выходные пины.

ЗЫ GATE-уровень это все равно некая абстракция, задержки там вычислены относительно некоей модели, в реальный жизни эти задержки будут плавающими, в зависимости от кучи условий...

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


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

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

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

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

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

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

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

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

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

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