Московский государственный университет путей сообщения
Опубликован: 06.09.2012 | Доступ: свободный | Студентов: 1233 / 168 | Оценка: 5.00 / 5.00 | Длительность: 35:22:00
Специальности: Разработчик аппаратуры
Лекция 6:

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

< Лекция 5 || Лекция 6: 12 || Лекция 7 >

Анализ состязаний по методу Эйхельбергера

На практике большое распространение получили системы логического моделирования в троичном алфавите E_3. Моделирование в троичном алфавите последовательностных схем в простейшем случае используется для проверки, является ли данная входная последовательность установочной, т. е. переводит ли она схему из неопределенного начального состояния в некоторое определенное. Поскольку перед началом моделирования схема находится в произвольном состоянии, то сигнал на каждой линии может иметь значение как 0, так и 1. Поэтому перед началом моделирования всем линиям схемы присваивается неопределенное значение u. Далее выполняется моделирование на последовательности входных наборов (имеющих двоичные значения 0, 1) с помощью одного из рассмотренных алгоритмов. При этом используются троичные модели логических элементов. Если по окончании моделирования все линии схемы принимают определенные значения (0,1), то входная последовательность является установочной (в терминах теории экспериментов с автоматами – синхронизирующей последовательностью см. "Структурное построение тестов для устройств с памятью" ). На практике часто надо получить определенные значения не на всех линиях, а только на некоторых. Очевидно, описанный метод позволяет проверить, является ли входная последовательность установочной для некоторого подмножества линий.

Моделирование в троичном алфавите E_3с успехом используется и для анализа состязаний сигналов, которые могут вызвать неправильное функционирование ДУ (перевести его в непредусмотренное состояние). Поэтому при проектировании ДУ стараются не допустить состязаний на подмножестве входных рабочих последовательностей (применяют противогоночное кодирование, вводят специальные задержки и т. д.). Но проверяющие тесты строятся не только на рабочих наборах. Поэтому даже для "хорошо" спроектированных ДУ (без состязаний на рабочих воздействиях) отсутствие анализа тестов на состязания может при тестировании привести к пропуску неисправности, либо, наоборот, к ее ложному обнаружению.

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

Для анализа состязаний широкое распространение получил метод Эйхельбергера, который основан на предположении, что соотношение задержек в элементах и линиях связей произвольно. Символ u при этом означает не только неизвестный сигнал, но и смену сигналов 0\to 1 или 1 \to 0.

В методе Эйхельбергера моделирование входного набора X_tвыполняется в два этапа. Сначала формируется промежуточный набор \delta X_t, в котором всем входным переменным, изменившим значение по сравнению с набором X_{t-1}, присваивается неопределенное значение u (остальные значения остаются неизменными и равны 0 или 1) так, как это показано в табл.6.1 для схемы рис. 2.5 . Затем выполняется моделирование в троичном алфавите на промежуточном наборе \delta X_t (при этом, естественно, используются троичные модели логических элементов). На этом этапе моделируется переходный процесс, во время которого всем линиям, которые существенно зависят от изменившихся входов на данном наборе, присваиваются неопределенные значения u. При этом неопределенные значения распространяются от внешних входов к выходам и переменным состояния до тех пор, пока значения сигналов не стабилизируются. Свойства троичных функций таковы, что значение сигнала на каждом элементе либо остается неизменным (0,1), либо изменяется (с 0 или 1 на u). Поэтому процедура имеет линейную сложность (пропорционально числу элементов n в ДУ).

На втором этапе ДУ моделируется на основном наборе X_t (значения всех входов которого двоичные). При этом от входов к выходам происходит "снятие" неопределенности. Вследствие свойства троичных функций на каждом логическом элементе сигнал либо остается постоянным, либо изменяется с u на 0 или 1. Поэтому на втором этапе сложность процедуры также линейна.

Таблица 6.2.
Набор x_1 x_2 x_3 x_4 x_5 x_6 x_7 x_8 x_9
u u u u u u u u u
X_1 1 1 0 0 1 0 1 1 0
\delta X_2 u 1 0 u 1 u u u U
X_2 0 1 0 1 1 1 0 0 1
\delta X_3 u 1 0 1 1 u 0 u 1
X_3 1 1 0 1 1 0 0 1 1
\delta X_4 1 1 u 1 u u u u u
X_4 1 1 1 1 0 1 1 u u

Если по окончании второго этапа на некоторых линиях ДУ остались неопределенные значения u, то это свидетельствует о возможности опасных состязаний на этих линиях. На линиях, получивших после второго этапа определенные значения, состязания в схеме на данном наборе невозможны. Если все линии ДУ получили определенные значения, состязания в схеме на моделируемом переходе между двумя наборами заведомо отсутствуют.

Отметим, что в данном методе анализ выполняется чисто логическими средствами без задания каких-либо значений задержек элементов. Метод основан на анализе логической зависимости элементов схемы от изменившихся входов. Простота метода и линейная сложность обусловили его широкое применение на практике. Пример моделирования в троичном алфавите методом Эйхельбергера приведен для схемы на рис.6.5 .

Пример схемы для анализа состязаний

Рис. 6.5. Пример схемы для анализа состязаний

Результаты моделирования, представленные в табл. 6.1 , показывают, что набор X_1 является установочным, на переходах между наборами X_1,X_2,X_3 состязания отсутствуют, а при переходе с X_3 на X_4 возникают опасные состязания. Доказано, что моделирование методом Эйхельбергера на обоих этапах сходится за конечное число итераций. Поэтому при реализации единственным критерием окончания моделирования на наборе (промежуточном и основном) является совпадение результатов двух соседних итераций. При этом результаты не зависят от порядка обработки элементов. Отметим, что троичное моделирование в данном методе может выполняться с помощью простейшей (и быстродействующей) модели элементов – нулевой задержки.

Троичное моделирование по методу Эйхельбергера позволяет обнаружить любые опасные состязания, которые могут быть в ДУ на данной входной последовательности. Однако этот метод имеет существенный недостаток — он может показывать наличие состязаний в тех случаях, когда их нет в реальном устройстве. Это обусловлено принятым допущением о произвольном соотношении задержек элементов и линий связи. В действительности обычно задержки в линиях связи существенно меньше задержек логических элементов. Соотношение между задержками элементов также не всегда произвольно. Ложные состязания метод Эйхельбергера может показывать в схемах, содержащих сходящиеся разветвления, искусственные линии задержки из цепочек элементов и, особенно, в счетных структурах, где любое переключение счетного входа приводит к обнаружению состязаний.

В какой-то мере этот недостаток устранен в методе моделирования, получившем название \Delta-троичного и являющегося модификацией предыдущего. Суть метода заключается в том, что моделирование на промежуточном наборе ограничивается сверху некоторым числом итераций q. Параметр q задается заранее и косвенно отражает степень разброса задержек элементов в схеме. При этом распространение неопределенных значений u искусственно прекращается, не дожидаясь, пока процесс сойдется. При \Delta-троичном моделировании используется модель единичной задержки. Сходимость этого метода не гарантирована, поэтому после выполнения максимального числа итераций всем линиям, на которых сигналы не установились, присваивается неопределенное значение.

Отметим еще раз, что в рассмотренном методе в процессе моделирования используются троичные модели логических элементов, кратко представленные в "Модели логических элементов" и более детально описанные в следующей "Система многозначных алфавитов и функций" . Троичное моделирование часто выполняется не только на логическом уровне, но и на уровне регистровых передач. При этом используются троичные модели операторов ЯРП, которые разработаны и представлены в [ 1.2 ] .

Ключевые термины:

Функциональное состязание – определяется на паре двоичных наборов свойствами булевой функции и заключается в появлении на выходе схемы кратковременного импульса.

Логическое состязание - определяется на паре двоичных наборов свойствами логической схемы и заключается в появлении на выходе схемы кратковременного импульса.

Троичное моделированиелогическое моделирование в троичном алфавите \{0,1,u\}.

Краткие итоги

Лекция посвящена вопросам анализа состязаний сигналов в логических схемах.

В разделе 6.1 описано явление состязания сигналов. В разделе 6.1.1 рассмотрен и приведен на карте Карно пример функционального состязания . и схема,. Раздел 6.1.2 посвящен логическим состязаний .

В разделе 6.2 изложен метод Эйхельбергера анализа состязаний, который основан на троичном моделировании и имеет линейную сложность.

Вопросы и упражнения

  1. Опишите явление состязаний сигнала.
  2. Что такое функциональные состязания сигналов?
  3. Чем отличаются логические состязания сигналов от функциональных ?
  4. Чем опасно явление состязаний сигналов?
  5. Как вы думаете: для каких схем – комбинационных или последовательностных, более опасно это явление?
  6. Что лежит в основе анализа состязаний методом Эйхельбергера?
  7. Какие этапы присутствуют в этом методе?
  8. Что определяется на первом этапе анализа состязаний?
  9. Что определяется на втором этапе состязаний?
  10. Какую сложность (от числа элементов) имеет метод Эйхельбергера?
  11. Какие недостатки имеет этот метод?
< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Дмитрий Медведевских
Дмитрий Медведевских

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