|
Вопрос по EPM7064S - глюки? |
|
|
|
Dec 24 2007, 12:16
|
Участник

Группа: Validating
Сообщений: 32
Регистрация: 7-06-05
Пользователь №: 5 790

|
Уважаемые коллеги, сам я с ПЛИС ранее не работал... Решил "пощупать" EPM7064S, сделал простой макет с кнопками, генераторами и светодиодами. Простейшие веши вроде работают. Попробовал сделать автомат на 4 состояния с переключением состояний от кнопок, и чтобы в каждом состоянии светодиоды мигали по-разному. Текст на AHDL прилагаю. 1. Иногда светодиоды начинают мигать не так как надо. 2. По-идее, если снять тактовые сигналы, то "картинка" на светодиодах должна "замереть", (что видно и в симуляторе), однако в "железе" светодиоды останавливаются в положении 0 таблицы дешифратора... Прошу помочь разобраться. Заранее благодарен
|
|
|
|
|
 |
Ответов
|
Dec 25 2007, 09:15
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
В данном случае case Вам не очень нужен. (В AHDL при описании автоматов надо описывать также не используемые состояния. Короче автомат у Вас работает не правильно). Можно обойтись приоритетным мультиплексированием, при условии что всегда нажата одна какая либо кнопка if /Input1 == gnd then table counter[11..9] => Output1, Output2, Output3, Output4, Output5, Output6, Output7, Output8; 0 => 1,1,1,1,1,1,1,1; 1 => 0,1,1,1,1,1,1,0; 2 => 0,0,1,1,1,1,0,0; 3 => 0,0,0,1,1,0,0,0; 4 => 0,0,0,0,0,0,0,0; 5 => 1,0,0,0,0,0,0,1; 6 => 1,1,0,0,0,0,1,1; 7 => 1,1,1,0,0,1,1,1; end table; elsif /Input2 == gnd then table counter[11..9] => Output1, Output2, Output3, Output4, Output5, Output6, Output7, Output8; 0 => 1,1,1,0,0,1,1,1;
|
|
|
|
|
Dec 26 2007, 06:49
|
Участник

Группа: Validating
Сообщений: 32
Регистрация: 7-06-05
Пользователь №: 5 790

|
Спасибо, что натолкнули Сегодня попробовал описать остальные состояния (WHEN OTHERS) - сейчас тестирую... вроде пока сбоев не видел... Всё равно вопрос: по какой причине происходили сбои в работе автомата (даже когда кнопки не нажимал, входы подтянуты к +5В через 1К...), неужели сами "внутренности" микросхемы ПЛИС могут "ловить помехи"? Опять сделал асинхронное управление автоматом. Всё равно остаётся вопрос с поведением при снятии CLK2. Практически всегда останавливается на строке 0 дешифратора. Переключение светодиодов сделано достаточно медленным, чтобы успевать снять импульсы практически в любой момент времени (с помощью джампера). И что САМОЕ непонятное - даже если дешифратор удалось остановить (точнее счётчик) в другом состоянии, например 2 или 3, то почему-то спустя примерно пол секунды происходит переход в состояние 0, причём без промежуточных состояний !!! как-будто управляющий счётчик сбрасывается в 0... Причём я пробовал это в симуляторе - там такого не происходит... Мне это совсем непонятно, прошу специалистов разъяснить. PS для Евгения Николаева: если нажать сразу 2 кнопки, то реагирует только на первую, в каком-бы порядке не отпускал (это сейчас, когда синхронизация автомата идёт по ИЛИ от кнопок), а раньше оставался в том состоянии, которое соответствовало последней отпущенной кнопке (раньше синхронизация была от генератора). С defaul-ами что-то не получилось - наверное из-за слабого знания AHDL, пользуюсь пока книжкой Стешенко ПЛИС фирмы Altera: проектирование устройств обработки сигналов. Может порекомендуете что-то более подробное, желательно на русском языке и в электронном виде (а то тут не всё можно купить...) PS для sazh: воспользовался вашим советом - описал остальные состояния. Приоритетное мультиплексирование здесь не то (хотя конечно это не конкретный проект, а просто попытка научиться...), потому что кнопки запоминаются. Также прошу порекомендовать литературу. Ещё скачал книжку Суворова и Шейнина Проектирование цифровых систем на VHDL, но пока не читал...
|
|
|
|
Сообщений в этой теме
Ioann Вопрос по EPM7064S - глюки? Dec 24 2007, 12:16 Евгений Николаев А если не нажата ни одна кнопка? Или нажаты две...... Dec 25 2007, 07:04  Victor® Цитата(Ioann @ Dec 26 2007, 10:49) Спасиб... Dec 26 2007, 07:34   Ioann Цитата(Victor® @ Dec 26 2007, 10:34) А др... Dec 26 2007, 08:17    sazh Цитата(Ioann @ Dec 26 2007, 11:17) Дребез... Dec 26 2007, 09:14 Евгений Николаев Я сам учился именно по А.П. Антонову.
По VHDL пока... Dec 26 2007, 10:34 Ioann Автомат не совсем без клока - просто клок формируе... Dec 26 2007, 12:09 sazh НЕт никакой разницы, на каком языке пишите. Если в... Dec 26 2007, 12:29 Ioann Цитата(sazh @ Dec 26 2007, 15:29) НЕт ник... Dec 26 2007, 16:41 sazh Попробовал сделать автомат на 4 состояния с перекл... Dec 26 2007, 16:50 Ioann Большое спасибо всем откликнувшимся. Несколько кни... Dec 27 2007, 05:41
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|