Структурный анализ логических схем
Анализ проводится либо с целью проверки правильности синтеза схемы, либо для получения числовой последовательности схемы, заданной одним из общепринятых способов (ДНФ, КНФ, перечисление входных наборов, на которых функция равна единице, и т. п.). При проверке правильности синтеза исходной информацией для анализа являются логические последовательности блоков и схема их соединения. В результате анализа получается общая логическая последовательность декомпозированной схемы, которая сравнивается с заданной последовательностью. По результатам этого сравнения принимается решение о возможности перехода к следующему этапу синтеза.
Перед проведением анализа вся схема разбивается на ярусы. К нулевому ярусу относятся входные переменные. К первому ярусу относятся блоки (элементы), все входы которых связаны с нулевым ярусом (т. е. с входами схемы). Ко второму ярусу относятся блоки (элементы), все входы которых связаны с нулевым и первым ярусом. И так далее.
Блок (элемент) относится к -му ярусу, если все его входы связаны с , , …, 0 ярусами.
Анализ проходит от меньших ярусов к большим (т. е. от входа к выходу схемы).
Если весовые коэффициенты входных переменных не заданы, то это необходимо сделать. Указанные коэффициенты равны степени 2. Если проверяется правильность процедур синтеза, то эти коэффициенты, как правило, уже определены ранее.
В качестве примера проведём анализ схемы, представленной на рис. 2.10.
Выберем блок 1-го яруса – . На его входы поступают входные переменные и . При выполнении процедуры последовательного счёта начиная с 0 переменная чередует свои значения через восемь элементов (восемь нулей, затем восемь единиц и т. д.), а переменная чередует свои значения через один элемент (0-1-0-1 и т. д.). Общая длина интересующей нас последовательности составляет 16 элементов, поскольку анализируемая схема имеет четыре входа. Состояния выхода блока 1-го яруса по известным значениям входных переменных определяются в соответствии с его собственной числовой последовательностью – . Исходя из этой информации, можно построить логическую последовательность на выходе бока 1-го яруса:
На старший (верхний) вход блока 2-го яруса поступает входная переменная , которая чередует свои значения через два элемента (00-11-00-11 и т.д.). На младший (нижний) вход рассматриваемого блока поступает полученная выше последовательность с выхода блока 1-го яруса . Состояния выхода блока определяются в соответствии с его собственной числовой последовательностью – :
Аналогично определяем выходную последовательность блока 3-го яруса , которая будет являться логической последовательностью анализируемой схемы:
Полученная в результате анализа выходная последовательность полностью совпадает с исходной логической последовательностью (рис. 2.7), что доказывает правильность функционирования представленной на рис. 2.10 схемы.
Следует заметить, что получение всей логической последовательности может быть весьма затруднительным для схем с большим числом входных переменных, однако выполнение именно этой процедуры позволяет судить о правильности работы всей спроектированной схемы.