|
Проблема с CPLD |
|
|
|
Sep 9 2017, 14:35
|
Группа: Новичок
Сообщений: 2
Регистрация: 15-09-13
Пользователь №: 78 325

|
Здравствуйте. С FPGA и CPLD дело имею уже достаточно времени, но выполняя казалось бы легкую задачу, столкнулся с проблемой. Обо всем по порядку. Небольшое описание схемы. CoolRunner CPLD, XC2C64A. 8 выходов, которые подают на другую платку выходной код. 3 управляющих входа, от которых зависит выходной код. На выходе стоят светодиоды для проверки правильности кода. На еще один вход заведена кнопка, чтобы проверять этот код (предполагалось , как альтернативная тактовая). На платку заводится синус, который подается на преобразователь синус-прямоугольник, а оттуда на вход основной тактовой. Сброса нет! Думаю, это самое важное. Задача. Выдавать на выход необходимый код, 16 состояний(после последнего состояния возврат к первому), в зависимости от управляющих входов. Написал быстренько код на верилоге, промоделировал - все вроде как работает. Прошил платку. Проверил работу с кнопкой - все правильно идет. Стал подавать синус. И тут появилась проблема: некоторое время светодиоды зажигаются в зависимости от кода. Но со временем, они полностью все зажигаются и так и горят все. Не понимаю в чем дело. На выходе преобразователя, который формирует тактовую, по умолчанию идет 2,4В . Игрался с IOSTANDART - ничего не помогает. Ощущение, что проблема в отсутствии сброса, как такового. Пробовал сброс от кнопки, подавая синус, но проблема все равно присутствует. Может кто подскажет в чем дело? P.S. По утверждениям человека, который дал мне такое задание, такая схема тактирования у них уже использовалась с этой же микросхемой, проблем не было. К сожалению, у него есть только прошивочный файл, да и он отностится к совсем другой задаче.
|
|
|
|
|
 |
Ответов
|
Sep 11 2017, 06:51
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

|
Цитата(Orgrimar @ Sep 9 2017, 17:35)  Может кто подскажет в чем дело? Отлажен ли код в симуляторе при помощи тестбенча? Без тестирования, даже самая простая казалось бы задача, может стать тяжелым адом  Игнорирование анализа таймингов тоже может "помочь" в умножении страданий. Хорошо бы код приложить, он ведь простой и не содержит чего-то секретного? Цитата(Orgrimar @ Sep 9 2017, 17:35)  промоделировал - все вроде как работает Не увидел сразу, код тестбенча тоже желателен.
--------------------
|
|
|
|
|
Sep 11 2017, 07:00
|

В поисках себя...
   
Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140

|
Так-же хочу обратить внимание, что даже отлаженный в симуляторе код не даёт гарантии работоспособности схемы, поскольку не все проблемы можно выявить на этапе симуляции. Например, неправильное пересечение клоковых доменов (в том числе и приём асинхронных сигналов), на сколько мне известно, никакими симуляторами не моделируется. Да и правильная организация асинхронного сброса (если он присутствует) так-же остаётся на совести разработчика, и опять-же тут симулятор вряд-ли поможет. Хотя Quartus, если покопаться в его настройках, может выдавать предупреждения, но проверка там так себе.
Сообщение отредактировал Flip-fl0p - Sep 11 2017, 09:57
|
|
|
|
Сообщений в этой теме
Orgrimar Проблема с CPLD Sep 9 2017, 14:35 x736C Код в студию! Sep 9 2017, 15:30 Inanity Полагаю, что у вас есть дизайне некоторый конечный... Sep 9 2017, 21:43 ViKo Тактовую частоту после преобразователя осциллограф... Sep 10 2017, 05:40  Orgrimar Спасибо всем за ответы. Все сигналы до преобразова... Sep 11 2017, 19:39   Flip-fl0p Цитата(Orgrimar @ Sep 11 2017, 22:39) Поэ... Sep 12 2017, 04:54   Golikov A. Цитата(Orgrimar @ Sep 11 2017, 22:39) ...... Sep 12 2017, 08:01   AVR Цитата(Orgrimar @ Sep 11 2017, 22:39) Я н... Sep 12 2017, 08:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|