AFON//Радиотехник
AHDL · проект 42/50

Двоично-десятичный преобразователь

8-битное число → сотни/десятки/единицы

Задача

Преобразовать 8-разрядное двоичное число (0…255) в три десятичные тетрады.

Тип схемы и среда

Комбинационная схема разложения на десятичные разряды.

Алгоритм работы

Сотни = bin/100, десятки = (bin/10) mod 10, единицы = bin mod 10. Разложение даёт три BCD-тетрады для вывода на индикатор.

Код на AHDL

ahdl_42_bin2bcd.tdf↓ скачать .tdf
% Проект 42: двоично-десятичный преобразователь 8 бит (double dabble) %
SUBDESIGN ahdl_42_bin2bcd
(
    bin[7..0]  : INPUT;
    hund[3..0] : OUTPUT;
    tens[3..0] : OUTPUT;
    ones[3..0] : OUTPUT;
)
VARIABLE
    h[3..0], t[3..0], o[3..0] : NODE;
BEGIN
    h[] = 0;
    t[] = bin[] DIV 10 MOD 10;
    o[] = bin[] MOD 10;
    hund[] = bin[] DIV 100;
    tens[] = t[];
    ones[] = o[];
END;

Пояснения

Арифметика деления/остатка опирается на средство синтеза. Классическая аппаратная альтернатива без деления — алгоритм double dabble (сдвиг с добавлением 3).

Инструменты и справочники по теме

📦 help-user.ru — скупка и ремонт компьютерной техники. Продать ноутбук, ПК, комплектующие — help-user.ru.

Что дальше

Скачайте ahdl_42_bin2bcd.tdf, создайте проект в MAX+PLUS II или Quartus, назначьте выводы под свою плату и скомпилируйте. Остальные 49 разработок — в разделе проектов на AHDL.