Builder 1 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба его слабость только в том, что он текстовое входное воздействие при моделировании не поддерживает. А будущего у него нет. Не выгодно и затратно. Скорее всего в последующих версиях моделирования в квартусе не станет. Не совсем, невозможность задать текстовое описание вытекает из более общего - симулятор у альтеры всегда не позиционировался как среда полноценного симулирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алексей Б. 0 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба ура! пока суть да дело, в черне моя железка кое как заработала!!! ) to Builder: а чего в нем неполноценного, кроме убогости интерфейса? :) мысль, что если все правильно, то достаточно функционального моделирования.. надо подумать.. а как же задержки на вентилях? их же, кажется, нет при функциональном моделировании?.. to ViKo: дошел до 13 страницы той темы: читается как роман, правда временами затянуто... пока понятно только, что с образованием конструктора-технолога в серьезном программировании ПЛИСов делать особо нечего... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба to Builder: а чего в нем неполноценного, кроме убогости интерфейса? :) когда дойдете до моделирования чего нибудь сложнее уарта, поймете %) пока понятно только, что с образованием конструктора-технолога в серьезном программировании ПЛИСов делать особо нечего... ну почему года 2-3 и можно уже будет работать без форума %), специфика образования тут вообще ни к чему, я например вообще инженер-радиотехник %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алексей Б. 0 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба инженер радиотехник - это, судя по моим знакомым, самая лучшая специальность, связанная с электроникой! совершенно серьезно! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 1 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба to Builder: а чего в нем неполноценного, кроме убогости интерфейса? :)Согласен с des00, попробуйте просимулировать что-то сложное и вопросы сами самой отпадут :) мысль, что если все правильно, то достаточно функционального моделирования.. надо подумать.. а как же задержки на вентилях? их же, кажется, нет при функциональном моделировании?..А какое Вам дело до задержек на ввентилях, задержки временной анализ учтёт при аналиже времянки, симуляция не обязательна. По крайней мере при корректном проекте не вижу необходимости для ПЛИС её делать. Я сам только один раз пользовался, когда функциональный симулятор глючил на одной конструкции, нашёл на временной симуляции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 68 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба to Builder: а чего в нем неполноценного, кроме убогости интерфейса? :) Хоть вопрос не ко мне, возьму на себя смелость ответить. :) Неполноценного в квартусовом симуляторе два момента: 1. Невозможность моделировать окружение ПЛИС, а только лишь потроха. Это делает невозможным моделирование системы, частью которой является ПЛИС. Например, интерфейс с SDRAM (модель на которую можно скачать с сайта производителя) отладить будет невозможно. 2. Остуствует возможность именно функционального моделирования - симуляция всегда делается после синтеза. Хоть там и есть слово functional, на деле это тот же timing только без времянок. Т.е. прогон делается не исходного описания, а синтезированного нетлиста. Это сильно увеличивает время симуляции и делает сам процесс очень неудобным (когда просто нет объектов, которые описаны в исходном тексте - они могут быть оптимизированы и отсутствовать в явном виде, как правило, это касается комбинационной логики). мысль, что если все правильно, то достаточно функционального моделирования.. надо подумать.. а как же задержки на вентилях? их же, кажется, нет при функциональном моделировании?.. При описании проекта по правилам синхронного дизайна функциональная целостность не должна нарушаться при условии, что после синтеза нет нарушения времянок (по скорости). В этом весь смысл. Если где-то надо проимитировать задержку, для этого в языке есть средства для явного задания задержек. Но таких мест, как правило, очень немного. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба Я сам только один раз пользовался, когда функциональный симулятор глючил на одной конструкции, нашёл на временной симуляции. Поясните в таком разе, почему функционала оказалось недостаточно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 1 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба Поясните в таком разе, почему функционала оказалось недостаточно.Давно было, подробности уже не помню. Но смысл был в том, что какая-то версия ActiveHDL не правильно обрабатывала одну конструкцию (потом исправили, к слову), так получилось что то, так щёлкал тригер на симуляции устраивало. В железе получалось по другому (и это было правильно, в соответствии с кодом) и были глюки. Выщемливал место, которое не так работало именно временным моделированем, на нём нашёл место, которое работает не так и дошёл до того, что функциональный симулятор глючил. Наложились два глюка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алексей Б. 0 10 апреля, 2010 Опубликовано 10 апреля, 2010 (изменено) · Жалоба немного разобрался с АctiveHDL, меня очень порадовало что можно без труда просматривать внутренние сигналы блоков - в quartus у меня это никак не получалось, приходиться подвязывать порты что бы он показал что нужно на симуляции. попробую перевести задумку с quartus на ActiveHDL - посмотрим что получиться.. :) пока разбирался с активом сделал простейший счетчик и два часа бился над тем, чтобы его просимулировать - на выходе ничего не было... проклял все на свете - оказалось что нужно непременно инициализировать регист - без этого никуда... а вы говорите - SDRAM... Изменено 10 апреля, 2010 пользователем Алексей Б. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба ... приходиться подвязывать порты что бы он показал что нужно на симуляции... На то она - модульная структура. Создаете простейший модуль, симулируете, {корректируете, симулируете}, вставляете его в модуль более высокого уровня... По поводу временнОй симуляции - работая с внешними (по отношению к ПЛИС) устройствами на высокой частоте, мне приходилось внимательно рассматривать результаты временнОй симуляции, вставлять дополнительные элементы, чтобы получить желаемое, и при этом надеяться, что так оно будет и в реальном железе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба Приветствую! немного разобрался с АctiveHDL, меня очень порадовало что можно без труда просматривать внутренние сигналы блоков - в quartus у меня это никак не получалось, приходиться подвязывать порты что бы он показал что нужно на симуляции. попробую перевести задумку с quartus на ActiveHDL - посмотрим что получиться.. :) пока разбирался с активом сделал простейший счетчик и два часа бился над тем, чтобы его просимулировать - на выходе ничего не было... проклял все на свете - оказалось что нужно непременно инициализировать регист - без этого никуда... а вы говорите - SDRAM... ....И опыт -сын ошибок трудных... :) Можно и глобальную галочку поставить - инициализировать все переменные в соответствующее значение при запуске. Но лучше себя к плохому не приучать, хочешь быть уверенным - инициализируй сам. Успехов! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 10 апреля, 2010 Опубликовано 10 апреля, 2010 · Жалоба немного разобрался с АctiveHDL, меня очень порадовало что можно без труда просматривать внутренние сигналы блоков - в quartus у меня это никак не получалось, приходиться подвязывать порты что бы он показал что нужно на симуляции. попробую перевести задумку с quartus на ActiveHDL - посмотрим что получиться.. :) пока разбирался с активом сделал простейший счетчик и два часа бился над тем, чтобы его просимулировать - на выходе ничего не было... проклял все на свете - оказалось что нужно непременно инициализировать регист - без этого никуда... а вы говорите - SDRAM... Попробуйте еше для сравнения Modelsim/Questasim. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алексей Б. 0 11 апреля, 2010 Опубликовано 11 апреля, 2010 (изменено) · Жалоба на недельке постараюсь посмотреть Modelsim/Questasim, но думаю буду пользоваться activeHDL, сейчас начну переводить в него свое чудо в перьях... dxp : "При описании проекта по правилам синхронного дизайна функциональная целостность не должна нарушаться..." - а можно какую нибудь ссылочку на эти правила, хорошо бы на великом и могучем. :) Изменено 11 апреля, 2010 пользователем Алексей Б. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 68 11 апреля, 2010 Опубликовано 11 апреля, 2010 · Жалоба dxp : "При описании проекта по правилам синхронного дизайна функциональная целостность не должна нарушаться..." - а можно какую нибудь ссылочку на эти правила, хорошо бы на великом и могучем. :) Ссылки навскидку не сообщу. Но перечислю основные правила. 1. Весь дизайн должен функционировать под управлением тактовой часты - клока (или нескольких клоков, если есть такая необходимость - каждый фрагмемт логики имеет свой клок и называется клоковым доменом). На каждом периоде клока изменяются значения выходов регистров (триггеров, памяти), которые поступают на входы логики, после преобразования в которой подаются на входы регистров. Таким образом, на каждом периоде клока происходит преобразование сигналов согласно целевому алгоритму. 2. Никаких формирователей временнЫх задержек на временах задержки распространения логических элементов! Все необходимые задержки формируются из целого количества тактов клока (например, счетчиками). 3. При переходе сигналов из одного клокового домена в другой необходимо применять специальные устройства (синхронизаторы, двухклоковое FIFO) Если что забыл, прошу дополнить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 1 11 апреля, 2010 Опубликовано 11 апреля, 2010 · Жалоба По поводу временнОй симуляции - работая с внешними (по отношению к ПЛИС) устройствами на высокой частоте, мне приходилось внимательно рассматривать результаты временнОй симуляции, вставлять дополнительные элементы, чтобы получить желаемое, и при этом надеяться, что так оно будет и в реальном железе.Не совсем хорошая практика. Можно влететь. Правильнее описать временные ограничения, что-б они проверялись при синтезе автоматически, тогда и не нужно будет надеятся - будете знать. Почитайте для начала статьи des00, про тайм квест, для затравки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться