Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Языки описания аппаратуры (VHDL и др.)

[VHDL]bin 2 bcd

Отправлено sss 25 декабря 2006 г. 14:33


Привет. У меня тут такое задание, на вход шифpатopа поступают 9 лог. сигналов, на выходе надо генерить двoичнo-дecятичный кoд.
Вот что получилось

package my_pac is
type int9bit is range 0 to 511;
type bcd is range 0 to 9;
end my_pac;

use work.my_pac.all;

entity coder210 is
port
(
A0 : in int9bit;
Y0 : out bcd;
Y1 : out bcd;
Y2 : out bcd
);
end coder210;

architecture coder210_arch of coder210 is
signal t1, t2, t3 : integer;
begin
t1 <= integer(A0) rem 10;
t2 <= integer(A0 / 10) rem 10;
t3 <= integer(A0 / 100) rem 10;
Y0 <= bcd(t1);
Y1 <= bcd(t2);
Y2 <= bcd(t3);
end coder210_arch;


Вроде даже работает... Но насколько это грамотно или правильно сделано? Я в VHDL практически ноль.

Еще нужно сделать тоже самое в "поведенческом стиле". Я просто обернул все эти вычисления в процесс. Это правильно или есть какой-то другой способ?


package my_pac is
type int9bit is range 0 to 511;
type bcd is range 0 to 9;
end my_pac;

use work.my_pac.all;

entity coder210 is
port
(
A0 : in int9bit;
Y0 : out bcd;
Y1 : out bcd;
Y2 : out bcd
);
end coder210;

architecture coder210_arch of coder210 is
begin
process (A0)
variable t1, t2, t3 : integer;
begin
t1 := integer(A0) mod 10;
t2 := integer(A0 / 10) mod 10;
t3 := integer(A0 / 100) mod 10;
Y0 <= bcd(t1);
Y1 <= bcd(t2);
Y2 <= bcd(t3);
end process;
end coder210_arch;



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru