Комбинаторная логика

Реализуйте таблицу истинности

  • Библиотека:
  • Simulink / Логика и Битовые операции

Описание

Блок Combinatorial Logic реализует стандартную таблицу истинности для моделирования программируемых логических матриц (PLAs), логических схем, таблиц решений и других Булевых выражений. Можно использовать этот блок в сочетании с Блоками памяти, чтобы реализовать конечные автоматы или триггеры.

Порты

Входной параметр

развернуть все

Входной сигнал, заданный как вектор. Тип сигналов, принятых блоком Combinatorial Logic, зависит от того, выбрали ли вы опцию сигналов Булевой логики (см. сигналы логики Реализации как булевы данные (по сравнению с тем, Если эта опция включена, блок принимает действительные сигналы типа Boolean или double.

Типы данных: удвойтесь | булевская переменная

Вывод

развернуть все

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

Типы данных: удвойтесь | булевская переменная

Параметры

развернуть все

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

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

Отношение между количеством входных параметров и количеством строк:

number of rows = 2(number of inputs)

Simulink® возвращает строку матрицы путем вычисления индекса строки из элементов входного вектора. Симулинк вычисляет индекс путем создания двоичного числа, где элементы входного вектора, имеющие нулевые значения, 0, и элементы, имеющие ненулевые значения, равняются 1, затем добавляя 1 к результату. Для входного вектора, u, элементов m:

row index = 1 + u(m)*2 0 + u(m-1)*21 + ... + u(1)*2m-1

Программируемое использование

Блочный параметр: Таблица истинности
Ввод: символьный вектор
Значения: матрица
Значение по умолчанию: '[0 0;0 1;0 1;1 0;0 1;1 0;1 0;1 1]'

Образцовые примеры

Блокируйте характеристики

Типы данных

double | Boolean

Прямое сквозное соединение

No

Многомерные сигналы

No

Сигналы переменного размера

No

Обнаружение пересечения нулем

No

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Представлено до R2006a

Была ли эта тема полезной?