|
|
  |
Actel проблема с цифровым автоматом, Цифровой автомат глохнет |
|
|
|
Oct 11 2017, 15:52
|
Участник

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

|
Доброго времени суток. Возникла необходимость переехать с одной ПЛИС на другую, a3p600, опыта работы с libero soc нет, собрал проект, прописал ножки, запускаю, вижу что цифровой автомат перестает работать, по контрольным точкам вижу, что обработка данных остановилась, причем каждый раз, на разном байте данных, пришел к выводу что цифровой автомат уходит в неизвестное состояние. Ни кто не сталкивался с похожими аномалиями?
|
|
|
|
|
Oct 11 2017, 18:34
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(plis @ Oct 11 2017, 18:52)  Доброго времени суток. Возникла необходимость переехать с одной ПЛИС на другую, a3p600, опыта работы с libero soc нет, собрал проект, прописал ножки, запускаю, вижу что цифровой автомат перестает работать, по контрольным точкам вижу, что обработка данных остановилась, причем каждый раз, на разном байте данных, пришел к выводу что цифровой автомат уходит в неизвестное состояние. Ни кто не сталкивался с похожими аномалиями? Сложно что-то сказать надо видеть хотя бы автомат и объяснения к нему подробнее по работе. Что показывает симуляция и/или внутри схемный логический анализатор(signaltap как у altera)?
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Oct 11 2017, 19:36
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(plis @ Oct 11 2017, 18:52)  Доброго времени суток. Возникла необходимость переехать с одной ПЛИС на другую, a3p600, опыта работы с libero soc нет, собрал проект, прописал ножки, запускаю, вижу что цифровой автомат перестает работать, по контрольным точкам вижу, что обработка данных остановилась, причем каждый раз, на разном байте данных, пришел к выводу что цифровой автомат уходит в неизвестное состояние. Ни кто не сталкивался с похожими аномалиями? Обычно 2 причины. входной сигнал для автомата - асинхронный в автомате нет состояния "по умолчанию"... Если есть возможность, то сделайте в каждом состоянии автомата запись в регистр. и потом этот регистр пересылайте на хост... Или даже регистр автомата можно проверить на изменения за скажем 1 сек, и в случае отсутствия - пересылать на хост или хотя бы по SPI на какой-нибудь разъем. Ну или сделать "сторожевой таймер для автомата". Тогда увидите, в каком состоянии завис автомат..
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Oct 18 2017, 13:40
|
Участник

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

|
Цитата(iosifk @ Oct 11 2017, 22:36)  Обычно 2 причины. входной сигнал для автомата - асинхронный в автомате нет состояния "по умолчанию"...
Если есть возможность, то сделайте в каждом состоянии автомата запись в регистр. и потом этот регистр пересылайте на хост... Или даже регистр автомата можно проверить на изменения за скажем 1 сек, и в случае отсутствия - пересылать на хост или хотя бы по SPI на какой-нибудь разъем. Ну или сделать "сторожевой таймер для автомата". Тогда увидите, в каком состоянии завис автомат.. Где и как зависает автомат я увидел, спасибо, это проблема с гонками, сейчас пытаюсь написать временные ограничения, но не могу найти русского описания как это сделать в libero soc, нашел для alter'ы, Либеро не все пропускает, говорит что некоторые команды составлены не правильно, при чем насколько я понял, они не нравится компилятору, а синтез нормально подходит, ни кто случайно не находил мануал как это сделать в Либеро, с пошаговой инструкцией для несведущих?
|
|
|
|
|
Oct 18 2017, 14:08
|
Участник

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

|
Цитата(iosifk @ Oct 18 2017, 16:45)  Не должно быть "гонок" при синхронном проектировании. Все должно делаться только по клокам... Либо Вы перемудрили с комбинационной логикой и ее надо убрать... Возможно, но сейчас меня больше интересует, как правильно написать временные ограничения для Либеро
|
|
|
|
|
Oct 18 2017, 14:16
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(plis @ Oct 11 2017, 18:52)  Ни кто не сталкивался с похожими аномалиями? а какие констрейны? что говорит designer про тайминг после разводки? просто актеловские проазики гораздо тормознутее альтер/ксайлинсов и логика у них имеет более длинные пути из-за конструкции - поэтому, возможно, что то, что проходило нахаляву с ПЛИС другого типа, на проазиках заставит понапрягаться Цитата(plis @ Oct 18 2017, 17:08)  Возможно, но сейчас меня больше интересует, как правильно написать временные ограничения для Либеро Либеро это оболочка (никогда ее не пользовал), основной инструмент это designer - должен вызываться из libero - в нем есть кнопка с констрейнами - так проще всего использовать рекомендую путь симплифай->дизайнер, зачем нужно либеро - вообще непонятно
|
|
|
|
|
Oct 19 2017, 11:00
|
Участник

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

|
Цитата(yes @ Oct 18 2017, 17:16)  рекомендую путь симплифай->дизайнер, зачем нужно либеро - вообще непонятно Мне этот путь тоже нравится, но как разделить ограничения для симплифай и дизайнер, после симплифай имена цепей меняются, как с этим работать?
|
|
|
|
|
Oct 23 2017, 08:04
|
Участник

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

|
Цитата(yes @ Oct 19 2017, 17:41)  симплифай генерит ограничения для дизайнера из sdc, с учетом переименований но если дизайн просто синхронный, то проще самому поддерживать два файла Это я понял, но на практике в сгенерированный файл попала только частота, всех остальных ограничений нет, при этом не нашел ошибок и варнингов, что что-то не так, вот и хочу найти пример как с этим работать
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|