hdlfilterdainfo

Распределенная арифметическая информация для архитектур фильтров

Описание

пример

hdlfilterdainfo(filtSO,'InputDataType',nt) отображает распределенную арифметическую (DA) информацию для заданного фильтра System object™ и входного типа входных данных, заданную как nt. Информация состоит из исчерпывающей таблицы DARadix значения с соответствующими коэффициентами складывания и умножениями для наборов LUT и таблица с подробностями LUT с соответствующими DALUTPartition значения. Эта информация помогает вам задать оптимальные настройки DA для фильтра.

hdlfilterdainfo(filtObj) отображает информацию DA для заданного dfilt объект фильтра.

hdlfilterdainfo(___,Name,Value) использует необязательные аргументы имя-значение, в дополнение к любому из входных параметров в предыдущих синтаксисах. Используйте эти опции для запроса информации о разделах DA LUT и radix DA, рассчитанных для заданного коэффициента складывания или спецификации LUT.

пример

[dp,dr,lutsize,ff] = hdlfilterdainfo(___) сохраняет данные архитектуры фильтра в выходных переменных.

Примеры

свернуть все

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

firfilt = design(fdesign.lowpass('N,Fc',8,.4),'SystemObject',true);
hdlfilterdainfo(firfilt,'InputDataType',numerictype(1,12,10))
   | Total Coefficients | Zeros | Effective |
   ------------------------------------------
   |          9         |   0   |     9     |

Effective filter length for SerialPartition value is 9.

  Table of 'DARadix' values with corresponding values of 
  folding factor and multiple for LUT sets for the given filter.

   | Folding Factor | LUT-Sets Multiple | DARadix |
   ------------------------------------------------
   |        1       |         12        |   2^12  |
   |        2       |         6         |   2^6   |
   |        3       |         4         |   2^4   |
   |        4       |         3         |   2^3   |
   |        6       |         2         |   2^2   |
   |       12       |         1         |   2^1   |

  Details of LUTs with corresponding 'DALUTPartition' values.

   | Max Address Width | Size(bits) |             LUT Details             | DALUTPartition |
   -----------------------------------------------------------------------------------------
   |         9         |    7168    |1x512x14                             |[9]             |
   |         8         |    3596    |1x256x14, 1x2x6                      |[8 1]           |
   |         7         |    1824    |1x128x14, 1x4x8                      |[7 2]           |
   |         6         |     904    |1x64x13, 1x8x9                       |[6 3]           |
   |         5         |     608    |1x16x12, 1x32x13                     |[5 4]           |
   |         4         |     412    |1x16x12, 1x16x13, 1x2x6              |[4 4 1]         |
   |         3         |     248    |1x8x13, 2x8x9                        |[3 3 3]         |
   |         2         |     180    |1x2x6, 1x4x12, 1x4x13, 1x4x8, 1x4x9  |[2 2 2 2 1]     |

Notes:
1. LUT Details indicates number of LUTs with their sizes. e.g. 1x1024x18
   implies 1 LUT of 1024 18-bit wide locations.

Создайте фильтр конечной импульсной характеристики прямой формы.

firfilt = design(fdesign.lowpass('N,Fc',8,.4),'filterstructure','dfsymfir','SystemObject',true);

Функции hdlfilterdainfo.

lutip = 4;
ff = 3;
[dp,dr,lutsize,ff] = hdlfilterdainfo(firfilt, ...
    'InputDataType',numerictype(1,12,10), ...
    'FoldingFactor',ff,'LUTInputs', lutip);

Передайте возвращенный раздел DA LUT (dp ) и DA radix (dr ) значения в generatehdl. Сгенерированный HDL-код имеет архитектуру DA и реализует LUT с заданной максимальной шириной адреса (lutip ) и коэффициент складывания (ff ).

generatehdl(firfilt,'InputDataType',numerictype(1,12,10), ...
    'DALUTPartition',dp,'DARadix',dr);
### Starting VHDL code generation process for filter: firfilt
### Generating: /tmp/BR2021ad_1655202_180016/mlx_to_docbook1/tp7b274b1c/hdlfilter-ex76912192/hdlsrc/firfilt.vhd
### Starting generation of firfilt VHDL entity
### Starting generation of firfilt VHDL architecture
### Clock rate is 3 times the input sample rate for this architecture.
### Successful completion of VHDL code generation process for filter: firfilt
### HDL latency is 3 samples

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

свернуть все

Фильтр, для которого нужно отобразить распределенную арифметическую информацию, заданную как Системный объект фильтра. Чтобы создать Системный объект фильтра, используйте design или см. страницу с описанием объекта. Следующие системные объекты из DSP System Toolbox™ поддерживают распределенную арифметику:

Для получения дополнительной информации смотрите Распределенная арифметика для конечная импульсная характеристика.

Входные данные, заданный как a numerictype объект. Этот аргумент применяется только, когда входной фильтр является системным объектом. Функции numerictype(s,w,f), где s равен 1 для со знаком и 0 для без знака, w - размер слова в битах и f - количество дробных бит.

Фильтр, для которого нужно отобразить распределенную арифметическую информацию, заданную как dfilt объект. Смотрите Распределенную арифметику для Фильтров конечной импульсной характеристики для типов фильтров, которые поддержка распределенной арифметикой. Вы можете создать этот объект с помощью design функция.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'FoldingFactor',2,'DALUTPartition',9.

Можно задать только один аргумент коэффициента складывания и один аргумент LUT за раз.

Аргументы коэффициента складывания

свернуть все

Коэффициент складывания оборудования, заданный как Inf или целое число, больше 1. Учитывая коэффициент складывания, кодер отображает исчерпывающую таблицу соответствующих входных значений, размеров и деталей LUT. Если коэффициент складывания inf, кодер использует максимальный коэффициент складывания.

Пример: 'FoldingFactor',2

Значение радиуса DA, заданное как целочисленная степень 2. Учитывая радиус DA, кодер отображает для соответствующего значения коэффициента складывания исчерпывающую таблицу входных значений LUT, размеров и деталей.

Пример: 'DARadix',4

Аргументы LUT

свернуть все

Значение входа LUT, заданное как целое число, больше 1. Учитывая входное значение LUT, кодер отображает исчерпывающую таблицу соответствующих значений коэффициента складывания, размеров LUT и деталей.

Пример: 'LUTInputs',3

Значение раздела DA LUT, заданное как целое число, больше 1. Учитывая значение раздела DA LUT, кодер отображает исчерпывающую таблицу соответствующих значений коэффициента складывания, размеров LUT и деталей.

Пример: 'DALUTPartition',9

Выходные аргументы

свернуть все

Значения разделов DA LUT, возвращенные как массив ячеек.

Значения radix DA, возвращенные как массив ячеек.

Значения размера LUT, возвращенные как массив ячеек.

Значения коэффициента складывания, возвращенные как массив ячеек.

Введенный в R2011a