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

 
 
> Вопрос по EPM7064S - глюки?
Ioann
сообщение Dec 24 2007, 12:16
Сообщение #1


Участник
*

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



Уважаемые коллеги, сам я с ПЛИС ранее не работал...
Решил "пощупать" EPM7064S, сделал простой макет с кнопками, генераторами и светодиодами.
Простейшие веши вроде работают.
Попробовал сделать автомат на 4 состояния с переключением состояний от кнопок, и чтобы в каждом состоянии светодиоды мигали по-разному. Текст на AHDL прилагаю.
1. Иногда светодиоды начинают мигать не так как надо.
2. По-идее, если снять тактовые сигналы, то "картинка" на светодиодах должна "замереть",
(что видно и в симуляторе), однако в "железе" светодиоды останавливаются в положении 0
таблицы дешифратора...


Прошу помочь разобраться.

Заранее благодарен
Прикрепленные файлы
Прикрепленный файл  state_m.rar ( 638 байт ) Кол-во скачиваний: 30
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sazh
сообщение Dec 25 2007, 09:15
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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;
Go to the top of the page
 
+Quote Post
Ioann
сообщение Dec 26 2007, 06:49
Сообщение #3


Участник
*

Группа: 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, но пока не читал...
Прикрепленные файлы
Прикрепленный файл  state_m.rar ( 641 байт ) Кол-во скачиваний: 26
 
Go to the top of the page
 
+Quote Post
Victor®
сообщение Dec 26 2007, 07:34
Сообщение #4


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Ioann @ Dec 26 2007, 10:49) *
Спасибо, что натолкнули

Сегодня попробовал описать остальные состояния (WHEN OTHERS) - сейчас тестирую... вроде пока сбоев не видел... Всё равно вопрос: по какой причине происходили сбои в работе автомата (даже когда кнопки не нажимал, входы подтянуты к +5В через 1К...), неужели сами "внутренности" микросхемы ПЛИС могут "ловить помехи"?
Опять сделал асинхронное управление автоматом.

Всё равно остаётся вопрос с поведением при снятии CLK2.
Практически всегда останавливается на строке 0 дешифратора. Переключение светодиодов сделано достаточно медленным, чтобы успевать снять импульсы практически в любой момент времени (с помощью джампера).

И что САМОЕ непонятное - даже если дешифратор удалось остановить (точнее счётчик) в другом состоянии, например 2 или 3, то почему-то спустя примерно пол секунды происходит переход в состояние 0, причём без промежуточных состояний !!! как-будто управляющий счётчик сбрасывается в 0... Причём я пробовал это в симуляторе - там такого не происходит...
Мне это совсем непонятно, прошу специалистов разъяснить.
PS для Евгения Николаева: если нажать сразу 2 кнопки, то реагирует только на первую, в каком-бы порядке не отпускал (это сейчас, когда синхронизация автомата идёт по ИЛИ от кнопок), а раньше оставался в том состоянии, которое соответствовало последней отпущенной кнопке (раньше синхронизация была от генератора). С defaul-ами что-то не получилось - наверное из-за слабого знания AHDL, пользуюсь пока книжкой Стешенко ПЛИС фирмы Altera: проектирование устройств обработки сигналов. Может порекомендуете что-то более подробное, желательно на русском языке и в электронном виде (а то тут не всё можно купить...)

PS для sazh: воспользовался вашим советом - описал остальные состояния.
Приоритетное мультиплексирование здесь не то (хотя конечно это не конкретный проект, а просто попытка научиться...), потому что кнопки запоминаются. Также прошу порекомендовать литературу.

Ещё скачал книжку Суворова и Шейнина Проектирование цифровых систем на VHDL, но пока не читал...


А дребезг кнопок как-то устраняется?


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
Ioann
сообщение Dec 26 2007, 08:17
Сообщение #5


Участник
*

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



Цитата(Victor® @ Dec 26 2007, 10:34) *
А дребезг кнопок как-то устраняется?


Дребезг не устраняется, но по-моему, он влиять никак не должен - если нажал кнопку 1, то автомат должен перейти в состояние 1. Если ещё раз нажать кнопку 1, автомат долен перейти из состояния 1 в состояние 1. Это то-же, что и дребезг.
Go to the top of the page
 
+Quote Post
sazh
сообщение Dec 26 2007, 09:14
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Ioann @ Dec 26 2007, 11:17) *
Дребезг не устраняется, но по-моему, он влиять никак не должен - если нажал кнопку 1, то автомат должен перейти в состояние 1. Если ещё раз нажать кнопку 1, автомат долен перейти из состояния 1 в состояние 1. Это то-же, что и дребезг.


До борьбы с дребезгом еще далеко. На сей раз ваш автомат вообще без клока. как он работает. я не знаю. Да и автоматов таких тоже не знаю.
По Стешенко можно только зачеты преподавателю сдавать.
Есть по AHDL учебник для практического применения А.П. Антонова язык описания цифровых устройств
AlteraHDL.
Есть маленькое но. Этот язык сегодня не имеет смысла поднимать. На нем здесь не общаются.
А значит и советов не будет.
Выбирайте или VHDL или verilog.
Скачайте с сайта xilinx документ xst.pdf. Очень наглядно для выбора языка.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 23:20
Рейтинг@Mail.ru


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