2011-12-28 3 views
0

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

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

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

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

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

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

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

+0

Ваш номер хранится как двоичный или десятичный? – Gabe

+0

его в десятичной форме, но если его лучше всего использовать в двоичном коде, я могу легко его преобразовать –

+0

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

ответ

2

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