Помощь в написании студенческих работ
Антистрессовый сервис

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

РефератПомощь в написанииУзнать стоимостьмоей работы

Исходными данными для алгоритма являются одновыходная логическая схема, заданная в виде соединения логических элементов, а также кубические покрытия этих элементов. Результат работы алгоритма — кубическое покрытие С или С°, координатам кубов которого сопоставлены входы логической схемы. Вычисление кубического покрытия одновыходной комбинационной схемы производится по шагам. Для каждого элемента… Читать ещё >

Четырехзначное логическое моделирование (реферат, курсовая, диплом, контрольная)

Современные системы проектирования цифровых схем с применением программируемых логических интегральных схем (ПЛИС) контролируют их работоспособность тестированием.

Такие языки проектирования (HDL — hardware description language), как Verilog и VHDL', содержат соответствующие средства поддержки временного моделирования и опираются на четырехзначные логические вычисления.

В языке Verilog рассматриваются значения сигналов 0, 1 для уровней L и Н, X — неопределенный уровень.

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

Z — плавающий уровень на входах — вызывает неопределенное значение X на выходе.

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

&.

Z

X.

X.

X.

Z

а:

X.

X.

X

X

X.

X.

В системах с языком VHDL при моделировании рассматриваются пять значений сигналов. К перечисленным для Verilog сигналам добавляется значение U — неинициализированное значение:

&.

Z

X

и

X.

X.

X.

Z.

X.

X.

и

X.

X.

X.

X.

и

и

и

и

и

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

Рассмотренный выше пример (см. рис. 6.4) позволяет предложить алгебраическое обобщение, которое может быть представлено алгоритмом,[1]

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

Пусть значения реализуемой булевской функции / заданы в виде таблицы истинности. Обозначим значение выхода построенной схемы Z. Построим метамодель схемы для значений выхода Z, равных 0 и 1, в виде кубического покрытия КС = C°(Z) u C*(Z), в котором совмещена логика переключения значения выхода 0/1 и, соответственно, 1/0. Покрытие имеет отношение к представлению булевых функций в виде я-мерных кубов для функции от п переменных2.

Для построения комплексного покрытия схемы воспользуемся вырожденными покрытиями логических элементов.

Основные типы двухвходовых логических элементов приведены на рис. 6.5.

Двухвходовые вентили ИЛИ (а)> И (б), ИЛИ-HE (в), НЕ-И (г)." loading=

Рис. 6.5. Двухвходовые вентили ИЛИ (а)> И (б), ИЛИ-HE (в), НЕ-И (г) Таблицы покрытия, описывающие логику работы двухвходовых логических элементов, представленных на рис. 6.5, следующие.

Покрытия наборов для единичных значений соответствующих элементарных функций:

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

Покрытия наборов для нулевых значений соответствующих элементарных Функций:

Четырехзначное логическое моделирование.
  • 1 Алгебраический синтез тестов логических схем с использованием трехзначной логики на основе покрытий см. в работах: Зыков А. Г., Немолочнов О. Ф., Поляков В. И. Построение комплексного покрытия последовательностных схем методом пересечения покрытий систем булевых функций // Научно-технический вестник СПб ГИТМО (ТУ). Вып. 6. Информационные, вычислительные и управляющие системы / гл. ред. В. Н. Васильев. СПб.: Изд-во СПб ГИ’ГМО (ТУ), 2002. С. 109—112; Проектирование цифровых вычислительных машин / С. А. Майоров [и др.]; под ред. С. А. Майорова. М.: Высшая школа, 1972.
  • 2 Миллер Р. Теория переключательных схем. Т. 1. Комбинационные схемы: пер. с англ. М.: Мир, 1970.
  • 1
Четырехзначное логическое моделирование.

Например, набор из (б) ххх2г = 0×0 — результат склеивания двух смежных наборов входных переменных, сохраняющий значение нуль на выходе элемента.

Кубические покрытия двухвходовых вентилей легко обобщить для «-входовых вентилей.

Для построения модели логической схемы воспользуемся л-алгоритмом[2]. Алгоритм представляет из себя процедуру подстановки, в которой используются покрытия логических элементов. Метод позволяет определить множество входных наборов, порождающих на выходе схемы заданное логическое значение.

Исходными данными для алгоритма являются одновыходная логическая схема, заданная в виде соединения логических элементов, а также кубические покрытия этих элементов. Результат работы алгоритма — кубическое покрытие С[2] или С°, координатам кубов которого сопоставлены входы логической схемы. Вычисление кубического покрытия одновыходной комбинационной схемы производится по шагам.

  • 1. Фиксируем выход схемы в значении 1 для построения С[2] или в значении 0 для построения С°.
  • 2. Применяем подстановку, которая сопоставляет значению р, р е {0, 1}, на выходе элемента схемы i его кубическое покрытие С?. В кубе, содержащем р по координате, соответствующей элементу i, р заменяется на х, после чего куб заменяется его пересечением с С[.
  • 3. Если подстановки выполнены не для всех элементов схемы, шаг 2 повторяется.

Рассмотрим процесс построения покрытия на примере.

Пример 6.1.

Пусть задана одновыходная комбинационная схема (рис. 6.6), реализующая булеву функцию z3 = хх & х2 v х2 & х3, где х2 и х3 — независимые входы; zt и z2 — промежуточные переменные (выходы элементов схемы); z3 — выход схемы и Bt, в2 и в3 — элементы схемы.

Функциональная схема к примеру 6.1.

Рис. 6.6. Функциональная схема к примеру 6.1.

Для каждого элемента в соответствии с его типом (логической функцией) предварительно выпишем вырожденные покрытия по их входам и выходу. В данной схеме использованы две двухвходовые схемы И и одна ИЛИ. Их вырожденные покрытия (см. рис. 6.5): С], С$ для элементов Bj и в2 (обозначим C](z,) и C^(2j) для элемента Blf C](z2) и C%(z2) для элемента в2) и С}, Cj* для элемента в3 (обозначим Cj (23) и С{*(г3)).

Построение покрытия начинается от выхода схемы z3 заданием значений z3 = 1 для построения единичного покрытия Cl(z3) и z3 = 0 для построения нулевого покрытия схемы C°(z3). Значение z3 — 1 обеспечивается объединением двух кубов C}(z3), в первом из которых необходимо обеспечить zx = 1, а во втором — z2 = 1. Безразличное значение х не раскрывается. Значение zt = 1 обеспечивается кубом C](z,), а значение z2 = 1 — кубом C](z2). Произведя соответствующие подстановки и пересечения с исходными кубами, где все нераскрытые координаты полагаются равными х, получим покрытие схемы в едином формате:

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

Аналогично, задавая значение z3 = 0, построим нулевое покрытие схемы Cj0(z3). Значение z3 = 0 обеспечивается подстановкой куба C3(z3) и выполнением пересечения кубов C%(zx) с кубами C2(z2). Выполнив требуемые подстановки и пересечения, получим нулевое покрытие схемы в едином формате:

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

В построенном покрытии C°(z3) кубы С3и С6 покрываются кубом С5. Это объясняется структурой схемы: переменная .г*2 подается на два вентиля: по С3 zx = 0, а по С6 z2 = 0. Эти кубы будут использоваться при построении тестовых наборов для активизации путей.

Для верификации схемы требуется установить соответствие между покрытиями 0(f) и С°(/) и C°(Z) u O (Z), которое может быть выполнено с помощью операции вычитания (#) и пересечения (п) кубов покрытий. Операция вычитания из куба С{ куба С. обозначается как С, # С и служит для убирания из куба С, общей части кубов Cj и Cj. Операция пересечения кубов Cj и С, обозначается С, n Cj и служит для выделения куба, являющегося общей частью кубов С, и Cj.

При использовании операции вычитания для верификации схемы необходимо, чтобы CX(J) # Cl(Z) = 0, и достаточно, чтобы Cl(Z) # Cl(f) = 0. Аналогично для покрытий C°(f) и C). Из этого следует, что при использовании операции вычитания достаточно иметь только один тин покрытий: либо единичное С!(/) и Cl(Z), либо нулевое C°(f) и C°(Z).

После применения операций вычитания и пересечения покрытий можно получить четыре возможных отношения:

  • 1) Cl(f) # Cl(Z) = 0 и C'(Z) # Cl(J) = 0, или C'(f) п C°(Z) = 0 и С°(/) п C'(Z) = = 0 — это условие полной верификации;
  • 2) CMJ) # CX(Z) Ф 0 и C) # С10) = 0, или С10) п C°(Z) ±0 и С°(/) п C) = = 0 — это необходимое, но нс достаточное условие верификации;
  • 3) C'(f) # Cl(Z) = 0 и Cl(Z) # Cl(J) Ф 0, или C'(f) n C°(Z) = 0 и C°(f) n C'(Z) Ф Ф 0 это достаточное, но не необходимое условие верификации;
  • 4) Cl(f) # C) Ф 0 и C) # C'(J) Ф 0, или 0(J) п C) Ф0 и С°(/) n C*(Z) * * 0 — условия верификации отсутствуют.

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

Для приведенной в примере схемы получен следующий тест:

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

в котором Fj =f4 и t3 = tA. Эти наборы можно объединить с целью минимизации длины текста.

  • [1] Поляков А. К. Языки VHDL и VERILOG в проектировании цифровой аппаратуры. М.:Солон-Пресс, 2003.
  • [2] Миллер Р. Теория переключательных схем. Т. 1. Комбинационные схемы.
  • [3] Миллер Р. Теория переключательных схем. Т. 1. Комбинационные схемы.
  • [4] Миллер Р. Теория переключательных схем. Т. 1. Комбинационные схемы.
Показать весь текст
Заполнить форму текущей работой