Честно говоря, я думаю, что программируя на Verilog HDL врядли вы будете прямо оперировать такими понятиями, как дешифратор, декодер или демультиплексор. Все эти понятия пришли из схемотехники или даже из дискретной логики. Когда-то давным давно выпускались отдельные микросхемы типа SN74155N (или ее советский аналог К155ИД4), и еще всякие другие.
Такая микросхема могла гордо называться "сдвоенный дешифратор-демультиплексор". Вот оттуда все и пошло поехало.
На самом деле все эти устройства: дешифратор, декодер и демультиплексор - это устройства преобразующие один двоичный код в другой двоичный код (просто табличное преобразование). Разрядность входов и выходов может быть разная. Несмотря на такое простое определение я обнаружил, что, тем не менее, разные авторы придают этим понятиям (дешифратор, декодер, демультиплексор) разные смысловые оттенки. Я попробую разобраться в этих "смысловых оттенках" - правда я не гарантирую, что моя интерпретация самая правильная.
Итак, вот моя интерпретация:
- Декодер - устройство преобразующее двоичный код в позиционный. Из всех выходов только на одном будет сигнал логической единицы. На остальных выходах ноль. Порядковый номер вывода, на котором будет единица, определяется двоичным числом на входных сигналах.
- Демультиплексор - это декодер с дополнительным входом разрешения. Если на входе разрешения ноль, то на всех выходах демультиплексора будет ноль. Если на входе разрешения единица, то выходы демультиплексора ведут себя точно как выходы декодера - на одном выходе единица, а на остальных - ноль. Можно то же самое представить себе иначе: адресные входы демультиплексора показывают на какой из его выходов пройдет входной сигнал.
- Дешифратор - устройство преобразующие один двоичный код в другой двоичный код. Понятно, что декодеры и демультиплексоры - это частный случай дешифратора.
Я постараюсь сделать более развернутое описание всех этих устройств и поместить их в наш раздел "Verilog в картинках".
Подробнее...