[an error occurred while processing this directive]
Кто нибудь сталкивался с переводом двоичных кодов в двоичный-десятичный? Нужен какой нибудь алгоритм реализуемый на VHDL.А может у кого есть опыт разработки часов?
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))
миниатюрный аудио-видеорекордер mAVR

Отправлено Igorek 02 июля 2002 г. 22:08

Задача такая сделать часы с тактовой 2МГц.
Условия минимальный объем. Как лучше сделать:
считать такты до 2000 делая миллисекундные
тактовые (часы с миллисекундами),затем считая
уже их до 1000 и.т.д. ,или есть что то поинтересней?

Так как часы показывают время в дв-десятичном коде
придется переводить из бинарного в дв-дес. Хотя
может проще завести несколько переменных под
каждый разряд десятичного кода и прибавлять по
единице: сначала на разряд единиц,затем на разряд
десятков.

Вот небольшой прототип часов (пока просто показывают
секунды минуты часы а на входе такты с частотой 1 секунда).
Как с вашей точки зрения совсем плохо или так себе.
Кстати надо ли применять LPM функции для счетчиков и.др.
или можно без них.Мне более понятно рассматривать
переменные.

LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY clocks IS
PORT
(
clk : IN STD_LOGIC;
I_sec,I_min : buffer INTEGER RANGE 0 TO 60;
I_chr : buffer INTEGER RANGE 0 TO 24
);

END clocks;

ARCHITECTURE a OF clocks IS
Begin

process(clk) begin
IF clk'event AND clk='1' THEN
IF I_sec=59 THEN
I_sec<=0;
else
I_sec<=I_sec+1;
end if;
end if;

end process;

process(clk,I_sec) begin
IF clk'event AND clk='1' THEN
IF I_sec=59 THEN
IF I_min=59 THEN
I_min<=0;
else
I_min<=I_min+1;
end if;
end if;
end if;
end process;


process(clk,I_min,I_sec) begin
IF clk'event AND clk='1' THEN
IF I_min=59 THEN
IF I_sec=59 THEN
if I_chr=23 then
I_chr<=0;
else
I_chr<=I_chr+1;
end if;
end if;
end if;
end if;


end process;

end a;

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru