Опубликован: 06.09.2012 | Уровень: для всех | Доступ: платный | ВУЗ: Московский государственный университет путей сообщения
Лекция 6:

Анализ состязаний

< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Аннотация: В лекции рассматривается анализ состязаний в логических схемах. Определено явление состязания –функционального и логического. Изложен метод анализа состязаний Эйхельбергера на основе троичного логического моделирования.

Явление состязания сигналов

Состязания сигналов в реальных ДУ возникают вследствие того, что смена входных сигналов при подаче следующего набора происходит не одновременно и существует разброс задержек элементов в схеме [ 2.2 ] , [ 1.2 ] . Схема, реализующая булеву функцию f(X), содержит статическое (динамическое) состязание на переходе между двумя двоичными наборами A=(a_1,…a_n) и B=(b_1,…,b_n), если f(A)=f(B),(f(A)\not =f(B)) и во время перехода на выходе схемы может возникнуть один или несколько кратковременных импульсов. Статистическое состязание называется 1-состязанием, если f(A)=f(B)=1 и 0-состязанием, если f(A)=f(B)=0. Динамическое состязание называется 1-0 – состязанием, если f(A)=1, f(B)=0 и 0-1 – состязанием, если f(A)=0, f(B)=1. Как статистические, так и динамические состязания могут быть двух типов: функциональные и логические.

Таблица 6.1. Карта Карно с функциональным состязанием
x_1x_2
00 01 11 10
x_3 0 1^a 0^b 1^c 1
1 0 1 0^d 1

Фукциональные состязания

Рассмотрим пример функционального состязания для булевой функции, представленной на карте Карно ( таблица 6.1). Напомним, что каждая клетка карты соответствует двоичному входному набору. Рассмотрим переход между следующими двоичными наборами \underbrace{x_3=0,x_1=x_2=0}_{1^a}\to x_3=0,\underbrace{x_1=x_2=1}_{1^c} отмеченными на карте Карно 1^a и 1^c. Если значение x_2изменяется раньше чем x_1, то на данном переходе возможно кратковременное появление набора x_1=0,x_2=1,x_3=0 (попадание в клетку 0^bкарты Карно). Это вызывает появление на выходе cхемы, реализующей данную булеву функцию, кратковременного 0-импульса, то есть происходит статическое 0 состязание. Аналогично при переходе из клетки 1^a в 1^dкарты Карно происходит динамическое состязание 1\to 0.

Определим более точно функциональное статистическое состязание. Булева функция f на переходе A\to B (для определенности пусть изменяются значения первых r переменных A=(a_1,…,a_r,a_{r+1},…,a_n),B=(\overline{a_1},…,\overline{a_r},a_{r+1},…,a_n) содержит функциональное статистическое состязание f(A)=f(B), если среди 2^r входных наборов с зафиксированными значениями x_{r+1}=a{r+1},…,x_n=a_n найдутся хотя бы два набора C и D такие, что f(C) \not =f(D).

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

Логические состязания

Логические состязания определяются структурой логической схемы, реализующей данную булеву функцию. Рассмотрим это явление на примере функции, представленной на карте Карно рис.6.1 .

 Карта Карно функции  для иллюстрации логического состязания

Рис. 6.1. Карта Карно функции для иллюстрации логического состязания

Для перехода x_1=0,x_2=1,x_3=1\to x_1=1,x_2=1,x_3=1 у логической схемы, реализующей данную булеву функцию, которая представлена на рис.6.2 , значения выхода схемы f=1 одинаковы на начальном и конечном входных наборах этого перехода. Однако, если значение выхода нижнего вентиля И изменится раньше чем верхнего, то на выходе схемы появится кратковременный нулевой импульс. Таким образом, здесь присутствует статическое логическое состязание .

Пример логического состязания

Рис. 6.2. Пример логического состязания

Отметим, что поскольку на этом переходе изменяется значение только одной переменной, то функциональное состязание на нем в принципе невозможно. Кроме этого, данное логическое состязание присуще именно этой схемной реализации. Так, если в схеме рис.6.2 добавить в первом уровне третий элемент конъюнкции (соответствующий третьей простой импликанте данной булевой функции), то состязание в полученной схеме рис.6.3 (реализующей ту же булеву функцию) на рассматриваемом переходе отсутствует.

Избыточная схема без логического состязания

Рис. 6.3. Избыточная схема без логического состязания

Определим более строго логическое состязание . Комбинационная схема, реализующая булеву функцию f, содержит статическое логическое состязание на переходе A\to B, если на всех 2^r наборах с зафиксированными значениями x_{r+1},…,x_n значения функции одинаковы f(A)=f(B), но во время перехода может появиться кратковременный импульс на выходе схемы. Аналогично определяется и динамическое логическое состязание для случая f(A) \not =f(B). Известно, что если схема свободна от статистических состязаний, то она свободна и от динамических состязаний. Состязания сигналов особенно опасны для последовательностных схем, потому что могут в них вызвать непредсказуемые переключения элементов памяти. Такая ситуация показана на рис.6.4 , где состязание на выходе вентиля z может привести к установке триггера в неправильное (и непредсказуемое) состояние. Разработана и более тонкая классификация состязаний (особенно для последовательностных схем) [48].

Пример схемы с возможным непредсказуемым переключением триггера

Рис. 6.4. Пример схемы с возможным непредсказуемым переключением триггера
< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Дмитрий Медведевских
Дмитрий Медведевских

Добрый день  можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти  в известных источниках

Андрей Баранов
Андрей Баранов
Донецк, Донецкий национальный технический университет, 2019
Андрей Чернов
Андрей Чернов
Россия, Ростов-на-Дону, Ростовский институт инженеров железнодорожного транспорта, 1993