Получение цифр числа без использования деления или модуля - PullRequest
0 голосов
/ 28 декабря 2011

Я пытаюсь реализовать 7-сегментный счетчик, используя VHDL.

Счетчик начинается с 0 и увеличивает целочисленное значение до максимального значения 9999.

Значение передается вблок, который должен «разбить» число на цифры, чтобы я мог отобразить их на мультиплексированном 7-сегментном сегменте ...

Я уже сделал это на PIC, используя много методов, таких как прерывания.... но теперь, когда я пытаюсь сделать это на FPGA (если точнее, на Xilinx Spartan 3E Starter Board), я заметил, что при реализации написанного мной кода я не могу использовать ни деление, ни модуль, потому что они не могут быть реализованы...

Редактировать: Я знаю, что могу просто сопоставить значения 0..9999 каждое, но это далеко не так.

Конечно, есть другой способ, ноя не могу думать об этом.

Любой намек на обходной путь будет очень признателен!

1 Ответ

2 голосов
/ 29 декабря 2011

Что ж, если ваш номер в десятичном виде, просто извлеките биты, содержащие каждую цифру, и отправьте их на мультиплексор дисплея. LSD равно num [3: 0], MSD равно num [15:12] и т. Д.

...