Состав комбинационных логических схем
Исследование комбинационных логических схем – это анализ и синтез схем, в которых выходные сигналы зависят только от текущих значений входных сигналов (в таких схемах нет хранимых состояний, поэтому их называют «беспамятными»).
Исследование комбинационных логических схем включает в себя:
- анализ структуры. При анализе структуры исследуются элементы, используемые в схеме, а также связи между ними;
- анализ поведения. При анализе поведения исследуются различные состояния схемы, а также различные режимы работы;
- симуляцию. Симуляция – это имитация работы логической схемы, которая позволяет проверить, работает ли схема так, как предусмотрено;
- проверку работоспособности. Проверка работоспособности – это одна из самых важных частей исследования. Она позволяет оценивать, работает ли схема должным образом;
- синтез комбинационных схем по заданным характеристикам.
В основе любой комбинационной схемы лежит комбинационная логика и элементы – вентили. Они являются наименьшими функциональными частями, из которых при логическом проектировании и конструктивно-технологическом исполнении складываются цифровые устройства.
Логическим вентилем называют базовый элемент комбинационной схемы, который выполняет элементарную логическую операцию: преобразует заданным образом множество входных логических сигналов в выходной логический сигнал.
В современных цифровых устройствах используются электронные вентили, но раньше для этих целей применяли другие типы устройств:
- гидравлические устройства,
- электромагнитные реле,
- механические устройства.
Ведутся исследования перспективных логических вентилей на базе:
- квантовых устройств,
- биологических молекул,
- фононных тепловых систем.
В основе логики работы вентилей лежат битовые операции, в которых входные цифровые сигналы выступают операндами. Создание комбинационной схемы предполагает соединение вентилей между собой, причем выходы вентилей, не являющихся выходными (результирующими), подключаются ко входам других вентилей.
Широко применяются следующие вентили:
- вентиль «или». На выходе этого вентиля устанавливается высокий уровень, если хотя бы на один из входов поступает высокий уровень. В общем случае может иметь сколько угодно (но не менее двух) входов, но чаще всего используется с двумя, тремя или четырьмя входами. В булевой алгебре для обозначения этого вентиля используется символ «+» (логическое сложение);
- вентиль «и». На выходе этого вентиля устанавливается высокий уровень только в том случае, если на всех его входах присутствует высокий уровень. Подобно вентилю «или», может иметь не менее двух входов (чаще всего – два, три или четыре). Если хотя бы на одном входе уровень низкий, то и на выходе будет низким (например, если у восьмивходового вентиля «и» на семи входах высокий уровень, а на восьмом низкий, на выходе будет низкий уровень). В булевой алгебре для обозначения соответствующей операции используется символ « * » (логическое умножение);
- инвертор. Иногда требуется инвертировать логический сигнал, т.е. преобразовать высокий сигнал в низкий, а низкий – в высокий. Для этого используют инверторы – вентили, имеющие один вход и один выход, и соответствующие логической операции НЕ. В булевой алгебре отрицание обозначается чертой над отрицаемым выражением;
- вентили «и-не», «или-не». В вентилях может совмещаться инвертирование и выполнение операций «и» и «или». Такие вентили достаточно широко используются;
- исключающее или. Хотя эта функция не включается в число основных, она представляет большой интерес в рамках исследования схем. Высокий уровень на выходе будет сформирован в том случае, если он поступает на один из входов (в случае с двухвходовым блоком) – именно на один, а не на оба сразу. В случае с многовходовым блоком высокий уровень на выходе формируется, если он зафиксирован на нечетном числе входов. Исключающее или подобно сложению бит по модулю два.
Сумматоры, шифраторы и дешифраторы
Наиболее распространенными из регулярных комбинационных схем являются:
- шифраторы,
- дешифраторы,
- сумматоры,
- коммутаторы,
- схемы сравнения и т. д.
Шифраторы служат для преобразования сигнала, поданного на один из входов, в выходной параллельный двоичный код, появляющийся на выходах шифратора. Чтобы шифратор реагировал на входной сигнал единственного провода, его схему превращают в приоритетную. Тогда выходной код соответствует номеру «старшего» из входов, получивших сигнал. Если количество входов настолько велико, что в шифраторе используются все возможные комбинации сигналов на выходе, то такой шифратор называется полным, если не все, то неполным.
Дешифраторы служат для того, чтобы преобразовать двоичный код в логическое напряжение на том из выходных проводов, номер которого определен двоичным кодом. Дешифраторы могут различаться по:
- емкости,
- числу каналов,
- формату выходного кода.
Сумматоры предназначены для того, чтобы выполнять арифметическое суммирование (сложение) чисел в двоичном коде. Простейшим случаем является суммирование двух одноразрядных чисел: 0 + 0 = 0; 1 + 0 = 1; 1 + 1 = 10. В последнем случае выходное число (10 = 2) оказалось двухразрядным двоичным. Появившаяся в старшем разряде суммы единица называется единицей переноса.
Полные сумматоры многоразрядных чисел составляются из полных сумматоров одноразрядных чисел. Они могут выполнять основную арифметическую операцию – суммирование многоразрядных чисел двумя способами:
- параллельным,
- последовательным.
В последовательных (одноразрядных) сумматорах разряды чисел обрабатываются поочередно, один разряд за другим. При этом используется одно и то же одноразрядное оборудование. В параллельно-последовательных сумматорах происходит параллельное сложение нескольких разрядов, объединенных в группы. В параллельных (многоразрядных) сумматорах сложение производится одновременно во всех разрядах, при этом для каждого разряда используется свое оборудование.