Deserializer1D

Преобразуйте скалярный поток или меньшие векторы к векторному сигналу

Библиотека

HDL Coder / Операции HDL

Описание

Буфера блоков Deserializer1D более быстрый, скалярный поток или вектор сигнализируют в больший, более медленный векторный сигнал. Более быстрый входной сигнал преобразован в более медленный сигнал на основе Ratio и значений Idle Cycle, преобразование изменяет шаг расчета. Кроме того, выходной сигнал задерживается один медленный цикл сигнала, потому что сериализированные данные должны быть собраны, прежде чем это сможет быть выведено как вектор. Смотрите примеры ниже для получения дополнительной информации.

Можно сконфигурировать десериализацию, чтобы зависеть от допустимого входного сигнала, ValidIn и запуск сигнализируют о StartIn. Если ValidIn и параметры блоков StartIn оба выбраны, сбор данных запускается, только если и сигналы ValidIn и StartIn верны. Рассмотрите этот пример:

  • Ratio является 2, и Idle Cycles является 0, таким образом, каждый выходной цикл является двумя входными сигналами долго со всеми рассмотренными точками данных.

  • ValidIn и StartIn выбраны, таким образом, сбор данных может начаться только, когда и сигналы StartIn и ValidIn верны.

  • ValidOut выбран.

В первом цикле ValidIn и StartIn верны, таким образом, сбор данных начинается для A и B. Блок выводит десериализованный вектор в следующем допустимом цикле, таким образом, вектор AB выводится в следующем цикле. Это также верно во втором цикле для C и D.

В третьем цикле, запускающемся в E, StartIn верен, но ValidIn не. E пропущен. В F ValidIn верен, но StartIn не, таким образом, F также пропущен. Поскольку это не может собрать данные для E или F, Deserializer1D выходные параметры предыдущий вектор цикла, CD, но изменения ValidOut во лжи.

Другой сценарий, чтобы рассмотреть - когда сигнал StartIn прибывает слишком рано. Если длина между двумя сигналами StartIn не достаточно долга, чтобы собрать полный цикл отношения, недостаточные данные сигнала пропущен. Рассмотрите этот пример:

  • Ratio является 3, таким образом, каждый цикл является двумя разделами долго.

  • Idle Cycles является 0, таким образом, все вводы данных рассматриваются.

  • ValidIn и StartIn выбраны, таким образом, сбор данных может начаться только, когда и сигналы StartIn и ValidIn верны.

  • ValidOut выбран.

В первом цикле ValidIn и StartIn верны, таким образом, сбор данных может начаться для A и B. Однако в C другой сигнал StartIn прибывает, прежде чем три сигнала могут быть собраны. Поскольку StartIn прибыл рано, A, и B пропущены, и никакой допустимый вектор не собран во время первого цикла. Поэтому вывод второго цикла является все еще нулевым. Десериализация начинается в StartIn в C, для C, D, и E. Этот вектор выводится в следующем допустимом цикле, который является циклом 3. Точно так же десериализация запускается снова в StartIn в F и выводит вектор FGH в четвертом цикле.

Вы задаете блок вывод в течение первого периода выборки со значением параметра Initial condition.

Параметры

Ratio

Введите отношение десериализации. Значением по умолчанию является 1.

Отношение является размером выходного вектора, разделенным на размер входного вектора. Отношение должно быть делимым размером входного вектора.

Idle Cycles

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

Значение Idle Cycles влияет на десериализованную норму выработки. Например, если бы Ratio является 2, и входным сигналом является A, B, B, C, D, D, ... без неактивных циклов, выводом был бы AB, BC, DD.... Однако для того же входа и отношения с набором Idle Cycles к 1, выводом является AB, CD.... Неактивные циклы, B и D, пропущены.

Поведение Deserializer1D изменяется, если Idle Cycles не является нулем, и ValidIn или StartIn включены. Неактивное значение циклов влияет только на норму выработки, в то время как ValidIn и StartIn управляют тем, какие входные данные десериализовывается.

Initial condition

Задайте начальный вывод симуляции. Значение по умолчанию 0.

StartIn

Выберите, чтобы активировать порт StartIn. Значение по умолчанию выключено.

ValidIn

Выберите, чтобы активировать порт ValidIn. Значение по умолчанию выключено.

ValidOut

Выберите, чтобы активировать порт ValidOut. Значение по умолчанию выключено.

Input data port dimensions (-1 for inherited)

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

Input sample time (-1 for inherited)

Введите временной интервал между хитами шага расчета или задайте другой соответствующий шаг расчета такой как непрерывный. По умолчанию блок наследовал свой шаг расчета на основе контекста в модели. Для получения дополнительной информации смотрите Шаг расчета (Simulink).

Input signal type

Задайте тип входного сигнала блока как auto, real или complex.

Порты

S

Входной сигнал, чтобы десериализовать. Типы данных шины не поддержаны.

ValidIn

Указывает на допустимый входной сигнал. Используйте с блоком Serializer1D. Этот порт доступен, когда вы устанавливаете флажок ValidIn.

Тип данных: булевская переменная

StartOut

Указывает, где запустить десериализацию. Используйте с блоком Serializer1D. Этот порт доступен, когда вы устанавливаете флажок StartOut.

Тип данных: булевская переменная

P

Десериализованный выходной сигнал. Типы данных шины не поддержаны.

ValidOut

Указывает на допустимый выходной сигнал. Этот порт доступен, когда вы устанавливаете флажок ValidOut.

Тип данных: булевская переменная

Архитектура HDL

Примечание

Для результатов симуляции, которые совпадают со сгенерированным HDL-кодом в панели Решателя диалогового окна Configuration Parameters, снимают флажок для Treat each discrete rate as a separate task. Когда флажок снимается, однозадачный режим включен. Если вы моделируете блок с этим установленным флажком, выходные данные могут обновить в том же цикле, но в сгенерированном HDL-коде, выходные данные обновляются один цикл позже.

Этот блок имеет одну, архитектуру HDL по умолчанию.

Свойства блока HDL

ConstrainedOutputPipeline

Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.

InputPipeline

Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также InputPipeline.

OutputPipeline

Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также OutputPipeline.

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

Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.

Смотрите также

Введенный в R2014b