Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Actel APA300 проблема с памятью
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
plis
Делаю проект для АРА300.
Задача: реализовать около 4к данных, пакетами, поочереди, т.е. каждому своё время, вся запись/чтение данныхсделана в виде автомата(на case'ах т.е.)
Творю в либеро, бенч в моделсиме проходит на ура.
Прошиваю, проверяю, начинаются карусели.
То данные сичтывются не те что надо, то соседние ячейки дублируются, то вообще на пол пути останавливается, но глючит стабильно.
Раскидываю блоки памяти ручками, тип глюка меняется, а может даже и нормально зароботать.
Ни кто с таким не встречался ???
Джеймс
Память или FIFO? Порт чтения и записи работают на разных тактовых частотах или на одной? Сколько всего тактовых частот в проекте? Какие частоты, MHz?
Тактовая частота на кристалл приходит с кварцевого генератора?
Внешний reset для APA300 сделан?
Andrew_
После фронта клока данные на шине держите ? Попробуйте клок инвертировать smile.gif
plis
а тактировать обязательно, его нельзя заставить работать асинхронно ???
Andrew_
Цитата(plis @ Jul 30 2008, 21:42) *
а тактировать обязательно, его нельзя заставить работать асинхронно ???

Можно, главное сконфигурить правильно и тайминги соблюсти
Джеймс
Цитата(plis @ Jul 30 2008, 21:42) *
а тактировать обязательно, его нельзя заставить работать асинхронно ???


Если хотите избавиться от подобных проблем, то лучше тактировать. В чем трудность, почему не тактировать?.. Или у Вас вся схема асинхронная?
plis
Цитата(Джеймс @ Jul 30 2008, 23:12) *
Если хотите избавиться от подобных проблем, то лучше тактировать. В чем трудность, почему не тактировать?.. Или у Вас вся схема асинхронная?


Я делаю асинхронное устройство.
Пишу на VHDL, типа mem(cnt) <= data или data <= mem(cnt)
поэтому чистот нету, работаю по фронтам сигналов wr и oe, использую rtl описание, а не структурное, если есть у кого опыт подскажите пожалуйста, лучше в примерах.
plis
В продолжение темы, у меня две палтки, делаю маленькие проекты всё вроде бы работает, если собираю что побольше то начианются аномалии, обе платы работают не правильно, причём каждая по своему, может у бесплатного либеро какие ограничения на максимальное количество, но ведь тогда он должен об этом предупреждать не так ли ?

И обязательно ли тактировать, почитал pdf'ы с описание элементов, там написано что APA поддерживают RAM256x9AA т.е. асинхронные ввод/вывод.

И подскажите может в чём ещё можно делать проекты, а то я в Либеро делаю, а ещё про какойто advantage слышал, подскажите плиз
Andrew_
Цитата(plis @ Aug 4 2008, 20:47) *
может у бесплатного либеро какие ограничения на максимальное количество, но ведь тогда он должен об этом предупреждать не так ли ?

Обязательно сказал, если бы его не хватало. У меня Libero с бесплатной лицензией нормально все компилит и для APA300 и для AX250 и для RTAX250S

Цитата(plis @ Aug 4 2008, 20:47) *
И обязательно ли тактировать, почитал pdf'ы с описание элементов, там написано что APA поддерживают RAM256x9AA т.е. асинхронные ввод/вывод.

Может у вас на управляющих сигналах иголки проскакивают. Они почти никак не смогут просимулироваться. Посмотрите где у вас могут быть гонки сигналов. А лучше - сделайте проект целиком синхронный и забудьте эти проблемы
plis
Я работаю с памятью, слышал что Synplify плохо с ними справляется.
FAE_SKV
Цитата(plis @ Aug 4 2008, 20:47) *
В продолжение темы, у меня две палтки, делаю маленькие проекты всё вроде бы работает, если собираю что побольше то начианются аномалии, обе платы работают не правильно, причём каждая по своему, может у бесплатного либеро какие ограничения на максимальное количество, но ведь тогда он должен об этом предупреждать не так ли ?

И обязательно ли тактировать, почитал pdf'ы с описание элементов, там написано что APA поддерживают RAM256x9AA т.е. асинхронные ввод/вывод.

И подскажите может в чём ещё можно делать проекты, а то я в Либеро делаю, а ещё про какойто advantage слышал, подскажите плиз


Работать с асинхронно с памятью с АРА не советую - отсюда и глюки. Память должна быть синхронная. А еще лучше на выходе RAM поставить дополнительный буферный регистр. Проблема не в Либеро. И не в Synplify. Просто любой синтезатор плохо просчитывает асинхронные схемы - нет точки временной привязки. Когда делаешь маленькие проекты, то задержки небольшие - в пределах нормы. А большие проекты очень рекомендую делать синхронные. Как синтезатор узнает какая максимальная задержка должна быть между двумя элементами? Если только ручками задать все задержки! Раз нет ограничений и тактов, то синтезатор оптимизирует по размеру. А задержки внутри - это как получится. Ты, кстати, смотрел в логе Synplify какая максимальная прогнозируемая частота? В Designer так же надо задавать тактовую частоту реальную или чуть больше. Там с асинхронными схемами те же проблемы. Проверь после синтеза и после трассировки задержки. Нет ли цепей, у которых она превышает допустимое значение. И еще вопрос: а ты BackAnotate симулировал? Там уже присутствуют задержки близкие к реальным.

Есть такой FPGA Advantage. Его основное отличие - непосредственно среда разработки. С моей точки зрения, это самый лучший на сегодня пакет для работы с ПЛИС. Синтезатор и симулятор у него, как и в Либеро, это по-сути внешние программы, интегрированные в пакет. В качестве синтезатора поставляется Precision, но можно легко подключить Synplify. Что многие и делают, т.к. он лучше. Симулятор - все тот же ModelSim. А вот трассировщика там нет. Приходится ручками формировать проект для Designer. И еще нет бесплатной версии FPGA Advantage. Пользоваться лучше версией 7.0. У версий 7.1 и 7.2 глюки с параллельными стейт-машинами.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.