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

 
 
> Интересная задачка
LeonY
сообщение May 26 2006, 09:21
Сообщение #1


Знающий
****

Группа: Админы
Сообщений: 689
Регистрация: 24-06-04
Из: South Africa
Пользователь №: 164



Возникла интересная задачка, предельно простая в описании, но решения я пока не нахожу.

Нужен "счетчик" с четырьмя входными сигналами: UpEnable, ClkUp и DownEnable, ClkDown. Про всякое типа Reset не говорю.

ClkUp и ClkDown - две независимые тактовые последовательности, асинхронные относительно друг-друга, с неизвестным соотношением частот.

Вот по-моему и все...


--------------------
"В мире есть две бесконечные вещи: Вселенная и человеческая глупость. За Вселенную, впрочем, поручиться не могу". (С)

А. Эйнштейн.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Wild
сообщение May 26 2006, 12:29
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 216
Регистрация: 26-05-06
Из: Коломна
Пользователь №: 17 479



как Вам такая структура:

signal UpCounter:std_logic_vector(n downto 0)
signal DownCounter:std_logic_vector(n downto 0)

process (clkUp,Reset)
begin
if Reset='1' then
UpCounter<=(others =>'0');
elsif ClkUp'event and ClkUp='1' then
If UpEnable='1' then
UpCounter<=UpCounter+'1';
end if;
end if;
end process;

process (clkDown,Reset)
begin
if Reset='1' then
DownCounter<=(others =>'0');
elsif ClkDown'event and ClkDown='1' then
If DownEnable='1' then
DownCounter<=DownCounter+'1';
end if;
end if;
end process;

CounterResult<=UpCounter-DownCounter;
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 12:52
Рейтинг@Mail.ru


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