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

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

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

Описание

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

Порты

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

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

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

Типы данных: double | Boolean

Вывод

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

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

Типы данных: double | Boolean

Параметры

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

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

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

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

number of rows = 2(number of inputs)

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

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

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

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

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

Характеристики блока

Типы данных

Boolean | double

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

yes

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

no

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

no

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

no

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

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

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