реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Actel APA300 проблема с памятью
plis
сообщение Jul 29 2008, 19:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



Делаю проект для АРА300.
Задача: реализовать около 4к данных, пакетами, поочереди, т.е. каждому своё время, вся запись/чтение данныхсделана в виде автомата(на case'ах т.е.)
Творю в либеро, бенч в моделсиме проходит на ура.
Прошиваю, проверяю, начинаются карусели.
То данные сичтывются не те что надо, то соседние ячейки дублируются, то вообще на пол пути останавливается, но глючит стабильно.
Раскидываю блоки памяти ручками, тип глюка меняется, а может даже и нормально зароботать.
Ни кто с таким не встречался ???
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Jul 29 2008, 20:51
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Память или FIFO? Порт чтения и записи работают на разных тактовых частотах или на одной? Сколько всего тактовых частот в проекте? Какие частоты, MHz?
Тактовая частота на кристалл приходит с кварцевого генератора?
Внешний reset для APA300 сделан?

Сообщение отредактировал Джеймс - Jul 29 2008, 20:52
Go to the top of the page
 
+Quote Post
Andrew_
сообщение Jul 30 2008, 08:38
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 10-05-05
Пользователь №: 4 892



После фронта клока данные на шине держите ? Попробуйте клок инвертировать smile.gif
Go to the top of the page
 
+Quote Post
plis
сообщение Jul 30 2008, 17:42
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



а тактировать обязательно, его нельзя заставить работать асинхронно ???
Go to the top of the page
 
+Quote Post
Andrew_
сообщение Jul 30 2008, 18:22
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 10-05-05
Пользователь №: 4 892



Цитата(plis @ Jul 30 2008, 21:42) *
а тактировать обязательно, его нельзя заставить работать асинхронно ???

Можно, главное сконфигурить правильно и тайминги соблюсти
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Jul 30 2008, 19:12
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(plis @ Jul 30 2008, 21:42) *
а тактировать обязательно, его нельзя заставить работать асинхронно ???


Если хотите избавиться от подобных проблем, то лучше тактировать. В чем трудность, почему не тактировать?.. Или у Вас вся схема асинхронная?
Go to the top of the page
 
+Quote Post
plis
сообщение Jul 31 2008, 19:25
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



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


Я делаю асинхронное устройство.
Пишу на VHDL, типа mem(cnt) <= data или data <= mem(cnt)
поэтому чистот нету, работаю по фронтам сигналов wr и oe, использую rtl описание, а не структурное, если есть у кого опыт подскажите пожалуйста, лучше в примерах.
Go to the top of the page
 
+Quote Post
plis
сообщение Aug 4 2008, 16:47
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



В продолжение темы, у меня две палтки, делаю маленькие проекты всё вроде бы работает, если собираю что побольше то начианются аномалии, обе платы работают не правильно, причём каждая по своему, может у бесплатного либеро какие ограничения на максимальное количество, но ведь тогда он должен об этом предупреждать не так ли ?

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

И подскажите может в чём ещё можно делать проекты, а то я в Либеро делаю, а ещё про какойто advantage слышал, подскажите плиз
Go to the top of the page
 
+Quote Post
Andrew_
сообщение Aug 4 2008, 20:05
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 10-05-05
Пользователь №: 4 892



Цитата(plis @ Aug 4 2008, 20:47) *
может у бесплатного либеро какие ограничения на максимальное количество, но ведь тогда он должен об этом предупреждать не так ли ?

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

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

Может у вас на управляющих сигналах иголки проскакивают. Они почти никак не смогут просимулироваться. Посмотрите где у вас могут быть гонки сигналов. А лучше - сделайте проект целиком синхронный и забудьте эти проблемы
Go to the top of the page
 
+Quote Post
plis
сообщение Aug 7 2008, 15:37
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



Я работаю с памятью, слышал что Synplify плохо с ними справляется.
Go to the top of the page
 
+Quote Post
FAE_SKV
сообщение Aug 27 2008, 15:34
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 14-11-07
Пользователь №: 32 325



Цитата(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 глюки с параллельными стейт-машинами.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th August 2025 - 13:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.0158 секунд с 7
ELECTRONIX ©2004-2016