snayperAlfa 0 4 ноября, 2010 Опубликовано 4 ноября, 2010 · Жалоба Приветствую всех. Есть проект в квартусе - схематик файл. Он же *.bdf. В нем также используется мегафункция - двухпортовая память. Как мне это все засунуть в Modelsim? У меня пока получается засунуть ему только *.vhd файлы. А вот что делать с *.bdf ума не приложу. Не понимает он этот формат( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 4 ноября, 2010 Опубликовано 4 ноября, 2010 · Жалоба Приветствую всех. Есть проект в квартусе - схематик файл. Он же *.bdf. В нем также используется мегафункция - двухпортовая память. Как мне это все засунуть в Modelsim? У меня пока получается засунуть ему только *.vhd файлы. А вот что делать с *.bdf ума не приложу. Не понимает он этот формат( сконвертить в vhdl и скормить (File->Create/Update->Create HDL Design File for Current File) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
snayperAlfa 0 4 ноября, 2010 Опубликовано 4 ноября, 2010 · Жалоба Проблема в том что при выборе *.bdf в опциях при нажатии ПКМ нет "Create HDL Design File for Current File". Я нашел способ как из квартуса можно запускать моделирование в Моделсим для данного проекта. Теперь осталось найти как в Моделсим открывать проект с *.bdf не запуская квартус Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 4 ноября, 2010 Опубликовано 4 ноября, 2010 · Жалоба Проблема в том что при выборе *.bdf в опциях при нажатии ПКМ нет "Create HDL Design File for Current File". открыть в квартусе bdf, потом File->Create/Update->Create HDL Design File for Current File Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MAXvaLL 0 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба Я нашел способ как из квартуса можно запускать моделирование в Моделсим для данного проекта. Теперь осталось найти как в Моделсим открывать проект с *.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 и путь куда положить нетлист После этого нетлист будет автоматически генериться при каждой компиляции Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба Лично я делаю так - Processing->Start->Start EDA Netlist Writer Получаем файл с HDL описанием ВСЕГО проекта и с учетом всякой альтеровской фигни, потом подсовываем этот файл моделсиму и работаем... :smile3046: А он не разобьет шину и переобозначит сигналы? Вы тут предлагаете уйти от RTL уровня на GATE уровень, ИМХО не очень удобно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MAXvaLL 0 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба А он не разобьет шину и переобозначит сигналы? Да как-то вроде нет, если я вас правильно понял. Ничего не разбивается и не переобозначается, по крайней мере если имена допустимые. Вы тут предлагаете уйти от RTL уровня на GATE уровень, ИМХО не очень удобно. Это вы про нетлист? А что тут неудобного? Интерфейс модуля верхнего уровня всеравно сохраняется. А нафига ковырятся во вложенных модулях (непосредственно в моделсиме)? И как учитывать задержки и прочую лабуду без GATE??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба Да как-то вроде нет, если я вас правильно понял. Ничего не разбивается и не переобозначается, по крайней мере если имена допустимые. Будет время проверю, в quartus не пробовал генерить нетлист, ISE переобозначал, например, шину адреса была на RTL уровне [15:0], а стала _0, ...._15. Некоторые сигналы вообще исчезали... Это вы про нетлист? А что тут неудобного? Интерфейс модуля верхнего уровня всеравно сохраняется. А нафига ковырятся во вложенных модулях (непосредственно в моделсиме)? И как учитывать задержки и прочую лабуду без GATE??? А отладка сводится только к проверки верхнего уровня в иерархии? А если у меня разрешающий сигнал на триггере не срабатывает по каким-либо условиям или в конечном автомате не то состояние выполнятеся, а по иерархии они находятся уровне так на 5-10, а этот разрешающий сигнал переобозначен и поиском не находится? В 99 % случаев достаточно только функционального моделирования, при правильном задании и выполнении всех временных ограничений. А если у Вас проект большой, то ни о каком gate-моделировании всего проекта вообще не может идти речи - результат будете ждать месяцами (тем более в графическом режиме) :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MAXvaLL 0 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба А отладка сводится только к проверки верхнего уровня в иерархии? А если у меня разрешающий сигнал на триггере не срабатывает по каким-либо условиям или в конечном автомате не то состояние выполнятеся, а по иерархии они находятся уровне так на 5-10, а этот разрешающий сигнал переобозначен и поиском не находится? В 99 % случаев достаточно только функционального моделирования, при правильном задании и выполнении всех временных ограничений. А если у Вас проект большой, то ни о каком gate-моделировании всего проекта вообще не может идти речи - результат будете ждать месяцами (тем более в графическом режиме) :) Ну тогда я вывожу нужные сигналы наружу, или отлаживаю частями :rolleyes: А как узнать что все ограничения заданы ПРАВИЛЬНО? Time Quest об этом не скажет :laughing: Ну я бы так не сказал. Как раз таки в моделсиме все симулится за вполне вменяемое время (в разы быстрее чем в самом квартусе). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба Оффтоп уже пощел, по существу еще раз - не советую из RTL делать нетлист: 1. При создании нетлиста могут теряться/переименовываться некоторые сигналы 2. Реальное время моделирования будет отличаться, помимо этого если этот нетлист, например, gate level, то суть моделирования уже другая. Ну тогда я вывожу нужные сигналы наружу, или отлаживаю частями :rolleyes: А как узнать что все ограничения заданы ПРАВИЛЬНО? Time Quest об этом не скажет :laughing: Ну я бы так не сказал. Как раз таки в моделсиме все симулится за вполне вменяемое время (в разы быстрее чем в самом квартусе). :bb-offtopic: Какой смысл отлаживать gate-level частями, Вы вешаете промежуточные сигналы наружу посредством подключения виртуальных пинов? Именно что Time Quest об этом скажет! Не задали значение тактовой частоты - получили предупреждение о том что она не заведена и выстваляется некая тактовая по умолчанию, при этом не гарантируется правильная работа. Не выползаете по времянкам - получите временную ошибку. Не задали ограничения на вход-выход - получите красный цвет об отсутсвии контсрейнов на вход-выход и отсутствие анализа на них. В моделсиме моделируется все за вменяемое время до тех пор, пока проект небольшой. Не зря недавно появилась в ветке тема про "распределенное" моделирование. У нас сидит спецотдел, который переписывает verilog на С++ и систем си именно по той причине что сишная модель гораздо быстрее моделируется. Отдел моделирования и верификации занимается создания грамотных тестов, чтоб моделирование вообще не запускалось в графическом режиме, а ошибки выводятся в текстовом виде. К слову, на данный момент, мой verilog при описанных выше упрощениях, но в графическом режиме на сервере пропускает тесты на modelsimSE за 40 минут, и этолько 1/4 часть!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба А как узнать что все ограничения заданы ПРАВИЛЬНО? Time Quest об этом не скажет :laughing: скажет, просто надо уметь спрашивать ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MAXvaLL 0 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба Оффтоп уже пощел, по существу еще раз - не советую из RTL делать нетлист: ... Какой смысл отлаживать gate-level частями, Вы вешаете промежуточные сигналы наружу посредством подключения виртуальных пинов? ... Концепция ясна. Это все правильно, но в конце концов всеравно надо симулить на физ. уровне! Или вы вообще так не симулите, уповая что все ОК, просимулив на логическом? Именно так, при помощи вирт. пинов. А какой временной интервал вы симулите, если не секрет? Просто я как бы тоже не сумматоры делаю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба Концепция ясна. Это все правильно, но в конце концов всеравно надо симулить на физ. уровне! Или вы вообще так не симулите, уповая что все ОК, просимулив на логическом? rtl-симуляция + отчет таймквеста, что еще не хватает для счастья? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 8 ноября, 2010 Опубликовано 8 ноября, 2010 · Жалоба rtl-симуляция + отчет таймквеста, что еще не хватает для счастья? +1 А какой временной интервал вы симулите, если не секрет? Просто я как бы тоже не сумматоры делаю... 40-80 ms, где-то с десяток частот, самый мощный чип стратикса4 занят процентов на 40(логика и регистры), максимальная тактовая 500МГц. Проект в тестовом окружении, т.е. добавлена еще обвязка с логикой. Или вы вообще так не симулите, уповая что все ОК, просимулив на логическом? Почему, после функционального моделирования идет отладка на железе - chipscope, signaltap ну и реальная измериловка (если есть возможность:)), прогон тестов. Действительно, возникают и в железке ошибки, но на моей памяти это все ошибки либо временные и их можно было бы и в отчете timequest посмотреть, либо неправильно выбранные констрейны на входные-выходные пины. ЗЫ GATE-уровень это все равно некая абстракция, задержки там вычислены относительно некоей модели, в реальный жизни эти задержки будут плавающими, в зависимости от кучи условий... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться