Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otv.docx
Скачиваний:
5
Добавлен:
16.04.2019
Размер:
228.68 Кб
Скачать
  1. Логическое моделирование, его цели и задачи

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

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

В основе анализа цифровых устройств лежит понятие сигнала - логического эквивалента реальным электрическим сигналам, который может принимать значение '0' или '1'. Цифровые схемы состоят из компонентов, таких как логические элементы, триггеры, счетчики, соединенных между собой проводниками, которые принято называть "эквипотенциальными линиями" или просто линиями. Логически объединенные жгуты проводников принято называть многоразрядными шинами или просто шинами.

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

  1. Основные принципы логического моделирования

Параллельность

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

 

Событийность

Под событием в цифровой схеме понимается любое изменение сигнала на линии схемы (с 0 на 1 или с 1 на 0 в двоичном алфавите). Принцип событийности при логическом моделированиии состоит в том, что новые значения вычисляются на выходах только тех элементов, на входах которых имеются события. Применение принципа событийности позволяет в среднем в 10-20 раз уменьшить временные затраты на реализацию алгоритма моделирования по сравнению с алгоритмом сквозного моделироввания, при реализации которого моделируются все элементы без исключения.

Асинхронность

Электрические схемы не могут мгновенно реагировать на изменение входных сигналов. Это обусловлено тем, что физическим устройствам, таким как транзисторы, которые используются для реализации логики вентильного уровня, требуется некоторое время для переключения с одного логического значения на другое. Следовательно, изменение значения сигнала на входе логического элемента не приведет к мгновенному изменению значения выходного сигнала, т.е. потребуется некоторое время на то, чтобы событие со входов элемента распространилось к его выходам. Такой период времени принято называть задержкой элемента. Электрический ток, передающий сигнал по проводам, также течет с некоторой конечной скоростью. Таким образом, в реальности передача сигналов по шинам происходит с задержкой, и ее величина зависит от длины провода. Эту задержку нельзя игнорировать, особенно в высокоскоростных, сверхплотных схемах. Важно заметить, что линии имеют значительно меньшие задержки, чем элементы и во многих системах моделирования задержки линий игнорируются. Задержки элементов принято обозначать буквой  (дельта). Методы моделирования, в которых задержки элементов не равны 0, принято называть асинхроными, в отличие от синхроных методов, когда =0. Преимуществами синхронных методов моделирования является их высокое быстродействие (в среднем в 5-10 раз выше, чем у асинхронных методов). 

Иерархичность

Иерархичность является одним из фундаментальных принципов описания любых сложных систем, в том числе и цифровых схем. Любая система разбивается на уровни иерархии, причем компоненты данного уровня иерархии могут представляться структурной суперпозицией компонентов более низкого уровня иерархии. На нижнем уровне иерархии компоненты описываются поведенческими (функциональными) моделями. Такие компоненты принято называть примитивными элементами, просто примитивами или сокращенно ПЭ. Двухуровневую иерархическую модель, состоящую из примитивов и связей между ними принято называть структурно-функциональной моделью.

  1. Классификация систем моделирования по типам моделей.

  2. Модели сигналов в системах моделирования

В реальных цифровых схемах циркулируют электрические сигналы, но для анализа цифровых схем используются их логические эквиваленты. Международный стандарт IEEE_1164 определил 9 логических значений сигналов, которые используются при описании цифровых устройств с использованием языков описания аппаратуры (в частности VHDL) и при выполнении логического моделирования в промышленных САПР.

В языке VHDL определен тип std_logic, сигналы и переменные которого могут принимать значения, определенные в указанном стандарте. При описание моделей цифровых устройств и логическом моделировании обычно используются шесть значений:

'U' - (Uninitialized) неопределенное значение. Значение, которым инициализируются сигналы и переменные типа std_logic по умолчанию. При нормальной работе проекта, оно обычно не появляется в моменты времени после первого назначения сигнала;

'X' - (Forcing Unknown) состояние соответствующее неопределенному значению ( 0,4 - 2,4 В );

'0' - (Forcing 0) состояние соответствующее значению логического нуля ( <0,4 В );

'1' - (Forcing 1) состояние соответствующее значению логической единицы ( >2,4 В );

'Z' - (High Impedance) состояние высокого импеданса.

'-' - (Don't care) безразличное состояние (значение). Используется для задания маски, т.к. при сравнении с любым значением всегда возвращает true.

 

В системах компилятивного логического моделировния ( например, Active-HDL фирмы ALDEC ) одним из видов представления результатов моделирования являются т.н. "вектроные диаграммы" (waveform) отображающие изменения интересующих нас сигналов во времени. 

  1. Классификация моделей дискретных объектов по форме, примеры

Text->tema1->mod_sign

  1. Структурно-функциональные модели схем. Ранжирование.

Любые цифровые схемы представимы совокупностью функциональных компонентов, которые принято называть примитивными элементами (ПЭ) или просто примитивами, и электрическими (гальваническими) связями, соединяющими указанные компоненты. Эти связи принято называть линиями или переменными. Логические эквиваленты электрических значений на линиях принято называть сигналами. Совокупность компонентов и соединяющих их линий принято называть структурно-функциональной моделью(СФМ).

По способу описания компонентов СФМ и, соответственно, по видам процедур их обработки, модели компонентов делятся на компилятивные и интерпретативные

Компилятивные модели представляют собой процессы, реализованные в виде фрагментов компьютерных программ на языках программирования (обычно, достаточно низкого уровня). Процесс представляет собой способ описания ПЭ любой сложности в виде специальных процедур на языках программирования (С или Pascal) или описания аппаратуры (VHDL), которые позволяют вычислять выходные значения сигналов компонентов на основе известных значений входных сигналов. При реализации компилятивных процедур моделирования в иерархических структурно-функциональных моделях происходит уравнивание иерархии, т.е сведение иерархической модели к двухуровневой (процессы и связи между ними), компиляция этой модели в исполняемый код компьютерной программы с последующим выполнением моделирования.

Достоинством компилятивных моделей является их высокое быстродествие, но на таких моделях нельзя выполнять "обратное" моделирование (вычисление входных значений по известным входным), и возникают большие проблемы при реализации на таких моделях моделирования неисправностей.

Интерпретативные модели компонентов обычно представляют собой табличные описания законов их функционирования, выполненные в соответствующих алфавитах. Такие табличные описания принято называть кубическими покрытиями (КП) или минимизированными таблицами истинности. Процесс вычисление выходных значений сигналов компонента по известным входным при использовании интерпретативных (табличных) моделей компонента принято называть прямой импликацией, а вычисление входных значений по известным выходным -обратной импликацией.

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

Примером интерпретативной системы моделирования является учебная система синхронного моделирования неисправностей DCP (Deductive Circuit Processor). ).

Ранжирование

Построение структурно-функциональной модели осуществляется путем ранжирования (нумерации) линий схемы и нумерации ее ПЭ.

1. Выполняется нумерация по порядку внешних входов схемы, т.е. линий не имеющих предшественников.

2. Следующими по порядку номерами нумеруются выходы примитивов, входы которых уже занумерованы, и которые не являются внешними выходами, т.е. имеют преемников.

Пункт 2 выполняется до тех пор, пока не окажутся занумерованными все внутренние линии схемы.

4. Следующими по порядку номерами нумеруются внешние выходы схем, т.е. линии не имеющие преемников.

5. Нумеруются примитивные элементы в порядке следования номеров выходных линий данных элементов.

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

  1. Кубические покрытия и двухуровневые схемы. Свойства КП

text/tema2/cub_mod.htm

  1. Операции кубического исчисления

  1. Прямая импликация и исправное кубическое моделирование

text/tema2/cub_mod.htm

  1. Классификация методов моделирования по типу процедур

  2. Исправное синхронное моделирование, событийность. Пример

  3. Асинхронное моделирование, пример. Задержки. Waveform.

text/tema2/as_mod.htm

В литературе [2] представлено описание принципов построения систем компилятивного асинхронного двоичного моделирования. Примером такой системы является подсистема моделирования в САПР Active-HDL, и в документации к этой системе имеется достаточно подробное описание так называемого "условного асинхронного событийного моделирования".

Применительно к интерпретативным системам моделирования асинхронное моделирование имеет ряд особенностей.

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

  1. Физическая природа переходных процессов, изменение длинны сигналов на логических элементах

text/tema2/mod_pp.htm

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

Для моделирования переходных процессов принято использовать методы многозначного синхронного моделирования, а для отображения поведения цифровых устройств c учетом переходных процессов используются многозначные алфавиты. На рисунке 2_3. 2 показаны различные формы цифровых сигналов и их обозначения 13-ти символьном многозначном алфавите

  1. Статический и динамический риски сбоя, примеры.

text/tema2/mod_pp.htm

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

Следствием изменения длительности сигналов являются риски сбоя (в англоязычной технической литературе "Hazard"), то есть кратковременные импульсы значений сигнала противоположного типа в условиях сохранения неизменного статического значения 0 или 1.

Риски сбоя возникают при "сдвиге" моментов изменения сигналов на одном логическом элементе. Кратовременным сигналом 1 при статическом 0 (0 при статической 1) называется статическим риском сбоя в 0 (1). А многократное изменение значений сигналов при переходе от 0 к 1 или наоборот - динамическим риском сбоя.

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

С другой стороны фронты сигналов (изменения с 0 на 1 и наоборот) физически имеют конечную длительность. Одновременное наложение фронтов сигналов на одном элементе приводит к неопределённости в его работе.

  1. Троичное моделирование, теорема Ейхельбергера., пример

text/tema2/mod_pp.htm

Простейшим из методов многозначного синхронного моделирования является троичное моделирование, т.е моделирование в алфавите {0, 1, X}. Как упоминалось в подразделе 1.2, неопределённому значению сигнала соответствует символ "Х" (unknown state). В некоторых литературных источниках он обозначается как   "1/2"   или  "U" .

Впервые идею применения многозначных алфавитов для моделирования переходных процессов предложил в 1965 году американский профессор Ейхельбергер [7]. Им было введено понятие переходного набора и сформулирована теорема об анализе результатов моделирования переходного набора. В переходном наборе на соответствующей входной линии схемы ставится Х, если при изменении от одного набора к другому сигнал на этой линии изменяется (с 0 на 1 или наоборот).

Теорема Ейхельбергера : если при моделировании переходного набора на линии возникает Х, а при моделировании первого и второго статических наборов значение на этой линии неизменно, то в схеме возможен статический риск сбоя.

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

1) Моделируется первый статический набор (набор А).

2) Моделируется переходный набор (набор А/В).

3) Моделируется второй статический набор (набор В).

4) По результатам моделирования указанных наборов выполняется анализ схемы на наличие в ней состязаний (рисков сбоя).

Отметим, что при троичном моделировании все задержки элементов предполагаются произвольными в интервале от 0 до Т, где Т - полный такт работы схемы, а моделирование выполняется по синхроному алгоритму. Такое предположение предусматривает моделирование самого худшего случая соотношения задержек всех элементов.

  1. Моделирование высших порядков, пример

text/tema2/mod_pp.htm

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

Девятиричное моделирование реализуется в алфавите А9 {0, 1, X, E, H, P, V, F, L}, приведенном в таблице 1 в данном разделе выше. Для реализации девятиричного моделирования в переходном наборе формируются два различных символа: E для обозначения перехода 0-1 и H для обозначения прехода 1-0.

Пример девятиричного моделирования рассмотрим на приведенной ниже схеме (рис. 2_3.9), для которой переход от набора 010 к набору 101 реализует динамический риск сбоя. При девятиричном моделировании мделируется только переходный набор E H E. На линии 4 (выход элемента И) по таблице 2 получим P, а на линии 5 (выход элемента ИЛИ) по таблице 3 получим F, что соответствует динамическому риску сбоя на переходе из 0 в 1.

  1. Основные определения технической диагностики

text/tema3/metod.htm

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

Среди всего множества классов неисправностей, существующих в цифровых устройствах, можно выделить класс константных неисправностей. Под константной неисправностью понимается постоянное значение "логический 0" или "логическая 1" на линии цифровой схемы. Если в схеме возникает одна константная неисправность, она называется одиночной константной неисправностью (ОКН). Если в схеме одновременно присутствует несколько ОКН, то такая неисправность называется кратной. Количество ОКН схемы равно удвоенному числу ее линий (за счет двух типов неисправностей).

  1. Классификация неисправностей, константные неисправности.

text/tema3/metod.htm

17+ Данному классу неисправностей соответствуют в реальности такие физические дефекты: обрыв в цепи эмиттера, базы, коллектора; короткие замыкания эмиттер-база, база-коллектор; обрыв в цепях резисторов. Другими логическими неисправностями могут быть короткие замыкания контактов, их перепутывание при монтаже схемы, изменения функций отдельных элементов или сочетания упомянутых случаев

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

Если различные неисправности при подаче на схему входных наборов дают различные реакции хотя бы на одном наборе, такие неисправности называются различимыми, а если нет - то неразличимыми. Неразличимые неисправности образуют класс эквивалентных дефектов (КЭД). Примером неразличимых дефектов могут быть неисправности 10 и 40 для трехвходового элемента И.

Тестом T для схемы, реализующей функцию F, проверяющим неисправность Sk, называется входной набор (x1, x2, ... xn), на котором Fи (x1, x2, ... xnне равно Fн(x1, x2, ... xn), где Fи - функция исправной схемы, Fн - функция схемы при наличии в ней неисправности Sk. Длина теста для константной неисправности в комбинационной схеме всегда равна 1, т.е такая неисправность проверяется одним двоичным набором

Любое цифровое устройство может иметь одно исправное состояние и множество неисправных (по числу рассматриваемых неисправностей). Тест, различающий исправное состояние схемы от всего множества неисправных состояний, называется проверяющим тестом, а тест различающий неисправные состояния между собой называется тестом поиска дефекта. Совокупность тестовых наборов, проверяющих все константые неисправности схемы называется тестом проверки исправности. Для элементов логического базиса (И, ИЛИ) тесты проверки исправности имеют длину (m+1), где m - количество входов соответствующего элемента.

  1. Тесты, характеристики и примеры

text/tema3/metod.htm

Тестом T для схемы, реализующей функцию F, проверяющим неисправность Sk, называется входной набор (x1, x2, ... xn), на котором Fи (x1, x2, ... xnне равно Fн(x1, x2, ... xn), где Fи - функция исправной схемы, Fн - функция схемы при наличии в ней неисправности Sk. Длина теста для константной неисправности в комбинационной схеме всегда равна 1, т.е такая неисправность проверяется одним двоичным набором.

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

Длина теста определяется количеством входящих в него двоичных наборов, а полнота теста выражается в процентах (%) проверяемых неисправностей относительно общего количества неисправностей схемы.

Общая классификация методов построения тестов

Генерация тестов в общем случае состоит из двух этапов : на первом этапе различными способами получаются входные тестовые наборы ("кандидаты в тест"), которые затем анализируются по специальным критериям (моделируются), и удовлетворяющие заданным условиям наборы включаются в тест .

По способу получения входных тестовых наборов («кандидатов в тест») методы подразделяются :

-- алгоритмические методы генерации (генераторы) тестов : «кандидаты в тест» генерируются аппаратным образом ;

-- алгоритмы случайного поиска : «кандидаты в тест» генерируются случайным образом ;

-- направленные (детерминированные) алгоритмы : «кандидаты в тест» генерируются для заданной неисправности или внешнего входа схемы . 

Алгоритмические тесты

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

Основные виды алгоритмических тестов :

Способы аппаратной генерации :    - “ Исчерпывающий тест ” - это 2n наборов, где n - число входов проверяемой схемы. Способ генерации суммирование ( А = А + 1 ) на n-разрядном счетчике.   - “Соседний код” - арифметический сдвиг вправо последовательности 1 0 0 0 ... 0 ;   - “Бегущий 0”, “Бегущая 1”- “Шахматный код” - циклический сдвиг вправо соответствующей начальной последовательности .

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

Псевдослучайные методы построения тестов

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

Основные характеристики :

- Размещение полезных входных наборов неравномерно;

- Возможность управления плотностью вероятности появления 0 и 1 в векторе;

При управлении плотностью вероятности появления “1” выражение Р(%) указывает вероятность появления определенного % "1" в двоичной последовательности .

Для вкючения "кандидата в тест", полученного случайным методом, в тест, как правило, используется процедура положительного приращения : каждый "кандидат в тест" моделируется "неисправно" (вычисляется список обнаруживаемых данным набором неисправностей), и, если суммарый список обнаруженных неисправностей увеличивается с учетом данного набора, то он включается в тест.

Процедура положительного приращения :

1. Вероятностным методом генерируется очередной набор «кандидата в тест».

2. Моделируется неисправности, проверяемые «кандидатом в тесты».

3. «Кандидат в тест» включается в тест, если он увеличивает % проверяемых неисправностей для формируемого теста.

Свойство вероятностного генератора тестов - режим «насыщения» при достижении полноты теста примерно 90-92% . Режим «насыщения» - это отсутствие увеличения % проверяемых неисправностей с течением времени.

Алгоритмы случайного поиска относительно просты в реализации, обладают достаточно высоким быстродействием и позволяют получать тесты с весьма высоким процентом проверки неисправностей для комбинационных схем и ряда классов схем с памятью Все это обусловило их широкое применение в системах построения тестов. Эти алгоритмы различаются способами формирования случайных входных наборов, критериями включения"кандидатов" в тест, критериями окончания работы, способами взаимодействия с моделированием и т.п.

В простейшем случае с помощью датчика случайных чисел генерируется булев вектор, каждый разряд которого с равной вероятностью принимает значения 0 или 1. Этот вектор и служит в качестве очередного входного набора – «кандидата в тест». 

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