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

запись из разных always в один регистр

его слабость только в том, что он текстовое входное воздействие при моделировании не поддерживает.

А будущего у него нет. Не выгодно и затратно. Скорее всего в последующих версиях моделирования в квартусе не станет.

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

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


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

ура! пока суть да дело, в черне моя железка кое как заработала!!! )

 

to Builder: а чего в нем неполноценного, кроме убогости интерфейса? :)

 

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

 

to ViKo: дошел до 13 страницы той темы: читается как роман, правда временами затянуто... пока понятно только, что с образованием конструктора-технолога в серьезном программировании ПЛИСов делать особо нечего... :wacko:

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


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

to Builder: а чего в нем неполноценного, кроме убогости интерфейса? :)

когда дойдете до моделирования чего нибудь сложнее уарта, поймете %)

 

пока понятно только, что с образованием конструктора-технолога в серьезном программировании ПЛИСов делать особо нечего... :wacko:

ну почему года 2-3 и можно уже будет работать без форума %), специфика образования тут вообще ни к чему, я например вообще инженер-радиотехник %)

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


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

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

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


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

to Builder: а чего в нем неполноценного, кроме убогости интерфейса? :)
Согласен с des00, попробуйте просимулировать что-то сложное и вопросы сами самой отпадут :)

мысль, что если все правильно, то достаточно функционального моделирования.. надо подумать.. а как же задержки на вентилях? их же, кажется, нет при функциональном моделировании?..
А какое Вам дело до задержек на ввентилях, задержки временной анализ учтёт при аналиже времянки, симуляция не обязательна. По крайней мере при корректном проекте не вижу необходимости для ПЛИС её делать. Я сам только один раз пользовался, когда функциональный симулятор глючил на одной конструкции, нашёл на временной симуляции.

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


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

to Builder: а чего в нем неполноценного, кроме убогости интерфейса? :)

Хоть вопрос не ко мне, возьму на себя смелость ответить. :) Неполноценного в квартусовом симуляторе два момента:

 

1. Невозможность моделировать окружение ПЛИС, а только лишь потроха. Это делает невозможным моделирование системы, частью которой является ПЛИС. Например, интерфейс с SDRAM (модель на которую можно скачать с сайта производителя) отладить будет невозможно.

 

2. Остуствует возможность именно функционального моделирования - симуляция всегда делается после синтеза. Хоть там и есть слово functional, на деле это тот же timing только без времянок. Т.е. прогон делается не исходного описания, а синтезированного нетлиста. Это сильно увеличивает время симуляции и делает сам процесс очень неудобным (когда просто нет объектов, которые описаны в исходном тексте - они могут быть оптимизированы и отсутствовать в явном виде, как правило, это касается комбинационной логики).

 

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

При описании проекта по правилам синхронного дизайна функциональная целостность не должна нарушаться при условии, что после синтеза нет нарушения времянок (по скорости). В этом весь смысл. Если где-то надо проимитировать задержку, для этого в языке есть средства для явного задания задержек. Но таких мест, как правило, очень немного.

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


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

Я сам только один раз пользовался, когда функциональный симулятор глючил на одной конструкции, нашёл на временной симуляции.

 

Поясните в таком разе, почему функционала оказалось недостаточно.

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


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

Поясните в таком разе, почему функционала оказалось недостаточно.
Давно было, подробности уже не помню. Но смысл был в том, что какая-то версия ActiveHDL не правильно обрабатывала одну конструкцию (потом исправили, к слову), так получилось что то, так щёлкал тригер на симуляции устраивало.

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

Наложились два глюка.

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


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

немного разобрался с АctiveHDL, меня очень порадовало что можно без труда просматривать внутренние сигналы блоков - в quartus у меня это никак не получалось, приходиться подвязывать порты что бы он показал что нужно на симуляции. попробую перевести задумку с quartus на ActiveHDL - посмотрим что получиться.. :) пока разбирался с активом сделал простейший счетчик и два часа бился над тем, чтобы его просимулировать - на выходе ничего не было... проклял все на свете - оказалось что нужно непременно инициализировать регист - без этого никуда... а вы говорите - SDRAM... :biggrin:

Изменено пользователем Алексей Б.

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


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

... приходиться подвязывать порты что бы он показал что нужно на симуляции...

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

По поводу временнОй симуляции - работая с внешними (по отношению к ПЛИС) устройствами на высокой частоте, мне приходилось внимательно рассматривать результаты временнОй симуляции, вставлять дополнительные элементы, чтобы получить желаемое, и при этом надеяться, что так оно будет и в реальном железе.

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


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

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

 

немного разобрался с АctiveHDL, меня очень порадовало что можно без труда просматривать внутренние сигналы блоков - в quartus у меня это никак не получалось, приходиться подвязывать порты что бы он показал что нужно на симуляции. попробую перевести задумку с quartus на ActiveHDL - посмотрим что получиться.. :) пока разбирался с активом сделал простейший счетчик и два часа бился над тем, чтобы его просимулировать - на выходе ничего не было... проклял все на свете - оказалось что нужно непременно инициализировать регист - без этого никуда... а вы говорите - SDRAM... :biggrin:

 

....И опыт -сын ошибок трудных... :)

 

Можно и глобальную галочку поставить - инициализировать все переменные в соответствующее значение при запуске.

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

 

Успехов! Rob.

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


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

немного разобрался с АctiveHDL, меня очень порадовало что можно без труда просматривать внутренние сигналы блоков - в quartus у меня это никак не получалось, приходиться подвязывать порты что бы он показал что нужно на симуляции. попробую перевести задумку с quartus на ActiveHDL - посмотрим что получиться.. :) пока разбирался с активом сделал простейший счетчик и два часа бился над тем, чтобы его просимулировать - на выходе ничего не было... проклял все на свете - оказалось что нужно непременно инициализировать регист - без этого никуда... а вы говорите - SDRAM... :biggrin:

Попробуйте еше для сравнения Modelsim/Questasim.  :)

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


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

на недельке постараюсь посмотреть Modelsim/Questasim, но думаю буду пользоваться activeHDL, сейчас начну переводить в него свое чудо в перьях...

 

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

Изменено пользователем Алексей Б.

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


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

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

Ссылки навскидку не сообщу. Но перечислю основные правила.

 

1. Весь дизайн должен функционировать под управлением тактовой часты - клока (или нескольких клоков, если есть такая необходимость - каждый фрагмемт логики имеет свой клок и называется клоковым доменом). На каждом периоде клока изменяются значения выходов регистров (триггеров, памяти), которые поступают на входы логики, после преобразования в которой подаются на входы регистров. Таким образом, на каждом периоде клока происходит преобразование сигналов согласно целевому алгоритму.

 

2. Никаких формирователей временнЫх задержек на временах задержки распространения логических элементов! Все необходимые задержки формируются из целого количества тактов клока (например, счетчиками).

 

3. При переходе сигналов из одного клокового домена в другой необходимо применять специальные устройства (синхронизаторы, двухклоковое FIFO)

 

Если что забыл, прошу дополнить.

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


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

По поводу временнОй симуляции - работая с внешними (по отношению к ПЛИС) устройствами на высокой частоте, мне приходилось внимательно рассматривать результаты временнОй симуляции, вставлять дополнительные элементы, чтобы получить желаемое, и при этом надеяться, что так оно будет и в реальном железе.
Не совсем хорошая практика. Можно влететь. Правильнее описать временные ограничения, что-б они проверялись при синтезе автоматически, тогда и не нужно будет надеятся - будете знать. Почитайте для начала статьи des00, про тайм квест, для затравки.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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