Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4183

.pdf
Скачиваний:
4
Добавлен:
08.01.2021
Размер:
839.23 Кб
Скачать

Полученная таблица переходов и выходов еще представлена на так называемом абстрактном уровне. Чтобы перейти к комбинационным схемам необходимо заменить абстрактные символы состояний комбинациями наборов двоичных переменных, т. Е. произвести кодирование состояний автомата. Необходимое условие правильного кодирования состояний – каждому состоянию нужно поставить свой, отличный от других состояний код. Отсюда число к внутренних переменных z1z2…zk, кодирующих состояния, вычисляется по следующей формуле k=]log2(L +1)[.Состояния переменных zi представляются состояниями памяти автомата, отсюда схема последовательностного автомата выглядит следующим образом.

Первоначально проведем так называемое тривиальное кодирование состояний, состояние Si закодируем k-разрядным двоичным кодом числа i.

K=]log2(5+1)[=3.

3 2 1

0

1

2

3

4

5

Рисунок 27. Кодированная таблица переходов и выходов.

Прежде всего обратим внимание на расстановку состояний по столбцам кодированной таблицы переходов и выходов. Они расставлены согласно их кодированию. Состояния Sx обозначают не использованные коды 110 и 111.

Итак, мы перешли от абстрактного представления автомата к системе булевых функций: первый столбец кодированной таблицы переходов и

31

выходов представляет булеву функцию z1(t+1), второй столбец – булеву функцию z2(t+1), третий столбец – булеву функцию z3(t+1).

Чтобы построить выходные функции автомата, поступим следующим образом. Разместим состояния автомата на матрице трех переменных – z1z2z3:

Рисунок 28. Размещение состояний автомата “Секретный замок” на матричной форме переменных z1, z2, z3.

Функция у1 принимает единичное значение на единственном наборе, соответствующему состоянию S3 – это набор 011. И кроме того она не определена на наборах, соответствующих состояниям Sx. Функция у2 Принимает единичное значение на наборах, соответствующих состояниям S4, S5 и не определена на наборах для состояний Sx.

Рисунок 29. Выходные функции автомата “Секретного замка”.

Практическое задание. Построить граф автомата “Секретный замок”. Построить таблицу переходов и выходов автомата, провести кодирование состояний и построить кодированную таблицу переходов и выходов. Построить функции z1,z2,z3,у1 и y2.

Лабораторная работа 6 Метод допустимых конфигураций синтеза многоуровневых И-НЕ схем по матричной форме

Цель занятия – изучение операции вычитания и ее применение при проектировании комбинационных схем.

Теоретические положения и примеры проектирования схем.

32

Вспомним дискретную математику – операцию вычитания на множествах.

А\В = А∩В.

Интервал рассматривается нами как множество точек булева пространства, организованное по некоторым правилам. Множество А можно представить конъюнкцией простых переменных без инверсии. Операцию пересечения заменим на конъюнкцию. Интервал В представим конъюнкцией простых переменных.

Например, А =х1х2\х3х4, На матричной форме представлен в следующем виде.

Рисунок 30 Простейший пример применения операции вычитания. Рассмотрим другой пример. Например, С =х2\(х4\(х1\х3)) представлен

на матрице.

Рисунок 31 Более сложный пример применения операции вычитания.

Конфигурацию вида А назовем простой конфигурацией, т. Е. простой конфигурацией называется разность, когда из конъюнкции простых переменных вычитается конъюнкция простых переменных. Выражение вида С называется допустимой конфигурацией, т. Е. разность простой конфигурации и допустимой конфигурации. В свою очередь можно из допустимой конфигурации вычитать допустимую конфигурацию. Например, допустимая конфигурация D= х2\х3\(х1\х4) представлена на следующей матрице.

33

Рисунок 32 Реализация допустимой конфигурации D.

Наконец, булева функция может быть представлена дизъюнкцией допустимых конфигураций. Например, F = х2\х3Vх1х3\х4.

Рисунок 33 Дизъюнкция допустимых конфигураций.

Это, в свою очередь, является структурной формулой следующей многоярусной схемы.

Рисунок 34. Схема, построенная методом допустимых конфигураций.

34

Алгоритм проектирования многоуровневой схемы методом допустимых конфигураций состоит в следующем.

1.Задана булева функция в матричной форме. Считаем все элементы множества М1еще не реализованными.

2.Находим минимальный в векторном смысле не реализованный элемент и формируем интервал простых переменных, если этот интервал покрывает элементы множества М0, то вычитаем из него дополнительные конфигурации. Считаем элементы множества М1, покрытые этим интервалом, реализованными. Если есть еще не реализованные элементы множества М1, то выполняем пункт 2, иначе пункт 3.

3.Это мы получили первоначальное покрытие множествами допустимых конфигураций булевой функции. Теперь построения интуитивные. Строим дополнительные допустимые конфигурации, стараясь уменьшить число различных допустимых конфигураций.

Например, пусть задана следующая булева функция F.

Рисунок 35 Функция для метода допустимых конфигураций.

Первый минимальный в векторном смысле элемент 0100. Ему соответствует интервал х2. Считаем точки 0100, 1100, 1110 и 1101 реализованными. Следующий минимальный элемент 0010 с покрывающим интервалом х3. Точки 0010, 1010 и 1110 реализованы. Осталась одна точка 1001с покрывающим ее интервалом х1х4. Точки все реализованы, приступаем к построению допустимых конфигураций.

Чтобы вычесть области множества М0, формируем две дополнительные конфигурации.

Φд1 = х2х3\х1 φд2 = х4\(х1\х3)

Тогда

φ1 = х2\ φд1\ φд2 φ2 = х3\ φд1\ φд2 φ3 = х4\ φд2

F = φ1V φ2V φ3.

Приведенная совокупность допустимых конфигураций соответствует следующей схеме.

35

Рисунок 36 Многоярусная схема на элементах И-НЕ

Практическое задание. Выполнить проектирование методом допустимых конфигураций многоярусной схемы на элементах И-НЕ для булевых функций

Лабораторная работа 7 Проверка полноты простого функционального теста, построение тестового набора для не проверяемой неисправности

методом активизации одномерного пути

Теперь приступим к изучению свойств теста. Прежде всего нас интересует полнота проверки неисправностей. Это очень важное свойство. Обычно тесты, предлагаемые проектировщиками, не являются полными. Тест не показывает наличие в схеме неисправности, а она есть. Тогда пользователь начинает сам искать тестовые наборы, позволяющие определить наличие неисправности в схеме или даже позволяющие определить место неисправности. Промоделируем эту ситуацию. Пусть задан функциональный проверяющий тест, например, такой – 2 набора множества М1 и 2 набора множества Мо.

36

Рисунок 37. Булева функция и проверяющий тест проектировщика.

Например, пусть задан следующий тест, показанный на Рис. 43. Построим схему.

Рисунок 38 Схема с не обнаруживаемою неисправностью.

Проведем логическое моделирование схемы на этом тесте.

X1 х2 х3 х4 v1 v2 v3 v4 v5 v6 v7 v8

00001111011

1

11000110101

1

10101010111

0

01010101111

0

≡1

 

Обнаружена непроверяемая неисправность, на элементе v7 на всех тестовых наборах реализован сигнал 1, т. Е. даже если этот элемент будет находиться в неисправности 1, на функциональном тесте схема сработает верно.

Обнаружено место и тип неисправности, она не проверяема функциональным тестом. Существует метод построения теста для заданной

37

неисправности – метод активизации одномерного пути. Для метода должны быть заданы: схема, в ней указаны место и тип неисправности. Тест строится по схеме и на ней. Находим элемент v7, отмечаем его и записываем тип неисправности. Неисправность 1 проверяется исправным 0 на его выходе. Элемент реализует функцию И-НЕ, чтобы на его выходе появился сигнал 0 на его входы нужно подать 1 и 1, распространяем эти сигналы до входных полюсов схемы. Итак, переменная х1 = 0, переменная х3 = 1. если элемент исправен на его выходе сформируется сигнал 0, если он неисправен, то сформируется сигнал 1. Однако, выход элемента v7 не доступен для внешнего наблюдения. Обозначаем сигнал на этом выходе через d(do not known) и находим один из возможных путей к выходу схемы в целом. В данном случае путь всего один, через элемент v8. Этот элемент тоже реализует функцию И-НЕ. Чтобы сигнал d со входа сформировал сигнал d на выходе элемента v8 нужно на другие его входы подать сигналы 1. Путь сформирован, но сигналы 1 на входах элемента v8 не являются входными переменными схемы и нужно этот путь активизировать, т. Е. подобрать значения входных переменных, чтобы вызвать значения 1 на выходах элементов v6 и v5. Переменная х3 равна 1, значит на выходе элемента v2 значение равно 0, что определяет значение 1 на выходе элемента v5. И, наконец, переменная х1 равна 0, что определяет значение 1 на выходе v6.Путь активизирован, искомый тест таков:

х1х2х3х4F

0 х 1 х 1= dиспр

Метод активизации одномерного пути пригоден для произвольных схем из произвольных элементов. Например, схема следующая:

Рисунок 39 Схема для метода активизации одномерного пути на первом пути.

Итак, задана неисправность 1 на элементе И-НЕ, для ее проверки необходимо реализовать исправный 0 на этом полюсе, т.е. задать значения 1 входным переменным х1 и х2. На выходе элемента получили сигнал d. Его необходимо провести на выход схемы в целом, выбираем верхний путь.

38

Чтобы провести сигнал через элемент ИЛИ-НЕ на его второй вход нужно подать сигнал 0, тогда на его выходе появится сигнал d. Чтобы этот сигнал передать дальше, необходимо на входах выходного элемента сформировать сигналы 0. Тогда на выходе этого элемента появиться сигнал d. Прямой проход завершен. Нужно его активизировать, т. Е. подобрать значения входных сигналов схемы, чтобы сформировать требуемые сигналы на внутренних полюсах. Но это не возможно, т. К. сигнал 0, сформированный на полюсе х3 выходного элемента, одновременно поданный на входной полюс элемента v, формирует сигнал 1 на его выходном полюсе, что противоречит требуемому 0 для продвижения сигнала d через элемент v.

Попробуем провести сигнал d по второму возможному пути.

Рисунок 40. Схема с рассмотрением второго пути.

Пропуском сигнала d через элемент v5(И) является значение 1 на втором полюсе. Остается провести сигнал d через выходной элемент. Значения сигналов на двух других полюсах равны 0, на выходе схемы появилось значение d. Нужно выполнить активизацию сформированных прямым проходом сигналов. Значение 0 на выходе элемента v4 формируется значением 1 на выходе элемента v1(И-НЕ), которое в свою очередь формируется значением х3=0 на его входе. Значение 1 на входе элемента v5 формируется значением х4=1 на входе элемента v3(И). Активизация завершена.

Сформулируем метод активизации одномерного пути.

1.Заданы схема, место и тип неисправности.

2.Формируем путь к выходу схемы и проводим путь от места неисправности к выходу схемы, если таких путей несколько, то выбираем произвольно один, остальные запоминаем.

3.Строим проверяющий неисправность сигнал, противоположный заданному типу и выбираем входные воздействия, способные сформировать этот исправный сигнал на выходе заданного элемента.

4.Осуществляем прямой проход, осуществляя продвижение сигнала d с

места неисправности до выхода схемы по выбранному пути. Для

39

продвижения сигнала d через очередной элемент подбираем значения сигналов на остальных входах этого элемента с тем, чтобы его выход зависел только от сигнала d. Продвигаемся через все элементы выбранного пути к выходному элементу. Активизация пути завершена.

5.Теперь необходимо ее обеспечить. В процессе активизации были заданы конкретные значения сигналов на входах элементов схемы, не все они являются входными сигналами схемы. Нужно найти и согласовать с уже заданными значениями входов схемы с тем, чтобы обеспечить заданные значения сигналов во время прямого прохода.

6.Если возникли противоречия, то нужно выбрать другой путь и выполнить его активизацию.

Практическое задание. Построить произвольный функциональный проверяющий тест (2 набора множества М1 и два набора множества М0), провести логическое моделирование схемы для задания и выбрать одну из не проверяемых неисправностей и, наконец, для нее выполнить построение проверяющего теста методом активизации одномерного пути.

Лабораторная работа 8 Построение полного минимального теста схем

Цель занятия – изучение еще одного свойства схем – наличие неисправностей. Изучается классический метод Чегиса – Яблонского.

Теоретические положения и пример. Неисправности в схемах наиболее ожидаемый характер их работы.

Мы ограничимся характерными неисправностями – появлением тождественного 0 или 1 на входах и выходах всех элементов в схеме, более того ограничимся однократными неисправностями. Классический метод Чегиса и Яблонского основан на построении функций однократных неисправностей на всех наборах схемы, а затем на основе этих функций построение и решение таблицы покрытий с точностью хотя бы одного кратчайшего покрытия. Таким образом, удается построить минимальный тест

– множество входных наборов, проверяющих наличие хотя бы одной неисправности в схеме.

Мы немного усовершенствуем алгоритм, при построении таблицы функций неисправностей воспользуемся следующими утверждениями.

Утверждение 1. Неисправности 1 на входах элементе верхнего яруса схемы приводят к исчезновению интервала, поданного на этот вход.

Утверждение 2. Неисправности 1 на входах элементов второго уровня приводят к расширению интервала по переменной, поданной на этот вход.

Рассмотрим пример. Так как необходимо строить значения функций неисправностей на всех входных наборах, то ограничимся функцией трех переменных.

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]