HDL FIFO

Последовательность хранилищ входных выборок в методе "первым пришел - первым вышел" (FIFO) регистр

  • Библиотека:
  • HDL Coder / RAM HDL

  • HDL FIFO block

Описание

Блок HDL FIFO хранит последовательность входных выборок в методе "первым пришел - первым вышел" (FIFO) регистр. Данные, записанные сначала в регистр FIFO, выходят сначала. Реализация блока напоминает модуль FIFO в аппаратных платформах в терминах функциональности и поведения.

Блок HDL FIFO использует блок Simple Dual Port RAM внутренне. Можно использовать блок HDL FIFO, чтобы сгенерировать HDL-код, который сопоставляет с RAM в большей части FPGAs.

Порты

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

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

Сигнал ввода данных с блоком FIFO. Когда вы записываете данные в FIFO, новейшие данные продвинуты в конец регистра FIFO. Блок продвигает последующие элементы данных ниже этой записи.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
Поддержка комплексного числа: Да

Когда этот порт получает значение 1, блок продвигает вход в In порт на конец регистра FIFO.

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

Когда этот порт получает значение 1, блок выталкивает первый элемент от регистра FIFO и содержит Out порт в том значении.

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

Примечание

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

Вывод

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

Сигнал вывода данных от блока FIFO. Когда вы считываете данные из FIFO, данные, которые вы записали сначала в регистр FIFO, отрываются FIFO и сохранены при выходе.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
Поддержка комплексного числа: Да

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

Зависимости

Чтобы включить этот порт, Show empty register indicator port (Empty) должен быть выбран.

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

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

Зависимости

Чтобы включить этот порт, Show full register indicator port (Full) должен быть выбран.

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

Количество элементов данных, которые являются в настоящее время в регистре FIFO. Num постепенно увеличивается 1 для каждых данных, которые вы пишете в FIFO. Num постепенно уменьшается 1 для каждых данных, которые вы считываете из FIFO.

Зависимости

Чтобы включить этот порт, Show number of entries register port (Num) должен быть выбран.

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

Параметры

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

Задайте количество записей, которые может содержать регистр FIFO. Значением по умолчанию для Register size является 10. Минимальным значением для Register size является 4.

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

Параметры блоков: fifo_size
Ввод: символьный вектор
Значение: целое число, больше, чем или равный четыре
Значение по умолчанию: '10'

Задайте режим работы FIFO. По умолчанию Mode установлен в Classic. Вы видите, что значок блока отображает Classic FIFO. Можно изменить Mode в FWFT. Когда вы изменяете Mode, значок блока отображает FWFT FIFO. При помощи FWFT режим, вы можете предвидение и видеть первое слово, записанное в регистр FIFO, не помещая запрос чтения. Режим FWFT особенно полезен, когда вы применяете противодавление с AXI4-потоковыми интерфейсами.

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

Параметры блоков: mode
Ввод: символьный вектор
Значение: 'Classic' | 'FWFT' |
Значение по умолчанию: 'Classic'

Задайте отношение выходного шага расчета, чтобы ввести шаг расчета. Отношением по умолчанию является 1, что означает что входные параметры In и Push, и выходные параметры Out и Pop, запуститесь на уровне той же частоты дискретизации. Вводы и выводы могут запуститься в различных шагах расчета. Используйте положительное целое число или 1/N, где N положительное целое число. Например, если вы вводите 1/2, выходной шаг расчета является половиной входного шага расчета или выходных параметров, запущенных быстрее. Fullпустой, и Num сигналы запущены на более быстром уровне.

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

Параметры блоков: ratio
Ввод: символьный вектор
Значение: целое число, больше, чем или равный одному
Значение по умолчанию: '1'

Задайте, как вы хотите, чтобы блок ответил, когда вы пишете в FIFO, который полон. Значением по умолчанию является Warning.

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

Параметры блоков: push_msg
Ввод: символьный вектор
Значение: 'Warning' | 'Ignore' | 'Error'
Значение по умолчанию: 'Warning'

Задайте, как вы хотите, чтобы блок ответил, когда вы читаете из FIFO, который пуст. Значением по умолчанию является Warning.

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

Параметры блоков: pop_msg
Ввод: символьный вектор
Значение: 'Warning' | 'Ignore' | 'Error'
Значение по умолчанию: 'Warning'

Задайте, разрешить ли Empty выходной порт. Это выходы порта 1 когда регистр FIFO пуст и 0 когда FIFO содержит одни или несколько элементов данных.

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

Параметры блоков: show_empty
Ввод: символьный вектор
Значение: 'on' | 'off'
Значение по умолчанию: 'on'

Задайте, разрешить ли Full выходной порт. Это выходы порта 1 когда регистр FIFO полон.

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

Параметры блоков: show_full
Ввод: символьный вектор
Значение: 'on' | 'off'
Значение по умолчанию: 'on'

Задайте, разрешить ли Num выходной порт. Это выходы порта количество элементов данных, которые в настоящее время доступны в очереди FIFO.

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

Параметры блоков: show_num
Ввод: символьный вектор
Значение: 'on' | 'off'
Значение по умолчанию: 'on'

Алгоритмы

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

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

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

Введенный в R2014a
Для просмотра документации необходимо авторизоваться на сайте