Skip to Main Content Skip to Search
Product Documentation

hdlfilterdainfo - Distributed arithmetic information for filter object

Syntax

hdlfilterdainfo (Hd)
hdlfilterdainfo (Hd, 'FoldingFactor', ff)
hdlfilterdainfo (Hd,'DARadix', dr)
hdlfilterdainfo (Hd, 'LUTInputs', lutip )
hdlfilterdainfo (Hd, 'DALUTPartition',dp )
[dp, dr, lutsize, ff] = hdlfilterdainfo(Hd)

Description

hdlfilterdainfo is an informational function that helps you define optimal distributed arithmetic (DA) settings for a filter. For general information on distributed arithmetic architectures, see Distributed Arithmetic for FIR Filters.

hdlfilterdainfo (Hd): For the filter object, Hd, displays an exhaustive table of 'DARadix' values for the filter Hd with the corresponding folding factor and number of LUT sets. This option also displays a table of 'DALUTPartition' values with corresponding LUT inputs (maximum address width) and details of the LUT sets.

hdlfilterdainfo (Hd, 'FoldingFactor', ff): For the filter object, Hd, displays a table of LUT input values with total sizes and details of the LUT for the folding factor, ff. ff must be a nonzero positive integer, or inf (to indicate the maximum).

hdlfilterdainfo (Hd,'DARadix', dr): for the filter object, Hd, displays a table of LUT input values with total sizes and details of LUT for the DARadix value dr.

hdlfilterdainfo (Hd, 'LUTInputs', lutip ): For the filter object, Hd, displays a table of folding factor values for LUT inputs (max address width) of lutip. This option also displays total LUT details for each value of folding factor.

hdlfilterdainfo (Hd, 'DALUTPartition',dp ): For the filter object, Hd, displays a table of folding factor values for DALUTPartition of dp. This option also displays the total LUT details for each value of folding factor.

[dp, dr, lutsize, ff] = hdlfilterdainfo(Hd): For the filter object, Hd, returns an list of all output values to a cell array.

Input Arguments

Hd

A filter object. See Distributed Arithmetic for FIR Filters. for a summary of filter types that support distributed arithmetic.

Parameter Name/Value Pairs

The following parameter name/value inputs are optional. These parameters do not have a default value; you must supply a valid value.

'FoldingFactor'

Hardware folding factor, an integer greater than 1 (or inf). If the folding factor is inf, the coder uses the maximum folding factor. Given the folding factor, the coder the corresponding LUT inputs.

Default: None

'DARadix'

Desired DA Radix value. Given the DA radix, of multipliers, the coder computes a table of values of LUT inputs and sizes.

Default: None

'LUTInputs'

Displays an exhaustive table of values of folding factor corresponding to LUT inputs.

Default: None

'DALUTPartition'

Displays an exhaustive table of values of folding factor for corresponding LUT partition.

Default: None

Output Arguments

[dp,dr,lutsize,ff]

Cell array. hdlfilterdainfo returns, in order, the DA LUTpartition, dp, DA radix, dr, folding factor, fold, and LUT size, lutsize.

Example

The following example constructs a direct-form FIR filter object, passes it to hdlfilterdainfo. The results then display at the MATLAB command line.

Hd = design(fdesign.lowpass('N,Fc',8,.4));
Hd.Arithmetic = 'fixed';
hdlfilterdainfo(Hd)
 | 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       |         16        |   2^16  |
   |        2       |         8         |   2^8   |
   |        4       |         4         |   2^4   |
   |        8       |         2         |   2^2   |
   |       16       |         1         |   2^1   |

  Details of LUTs with corresponding 'DALUTPartition' values.

   | Max Address |            |                                        |                |
   |   Width     | Size(bits) |              LUT Details               | DALUTPartition |
-----------------------------------------------------------------------------------------
   |      9      |    9216    |1x512x18                                |[9]             |
   |      8      |    4628    |1x256x18, 1x2x10                        |[8 1]           |
   |      7      |    2352    |1x128x18, 1x4x12                        |[7 2]           |
   |      6      |    1192    |1x64x17, 1x8x13                         |[6 3]           |
   |      5      |     800    |1x16x16, 1x32x17                        |[5 4]           |
   |      4      |     548    |1x16x16, 1x16x17, 1x2x10                |[4 4 1]         |
   |      3      |     344    |2x8x13, 1x8x17                          |[3 3 3]         |
   |      2      |     252    |1x2x10, 1x4x12, 1x4x13, 1x4x16, 1x4x17  |[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.

How To

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS