To open the initial Generate HDL dialog box from Filter Designer, do the following:
Enter the filterDesigner
command at the MATLAB® command prompt. The Filter Designer displays its initial
dialog box.
If the filter design is quantized, skip to step 3. Otherwise, quantize the
filter by clicking the Set Quantization Parameters
button. The Filter
arithmetic menu appears in the bottom half of the dialog
box.
Note
Supported filter structures allow both fixed-point and floating-point (double) realizations.
If desired, adjust the setting of the Filter arithmetic option. The Filter Designer displays the first of three tabbed panes of its dialog box.
Select Targets > Generate HDL. The Filter Designer displays the Generate HDL dialog box.
If the coder does not support the structure of the current filter in the Filter Designer, an error message appears.
If you are not familiar with the Filter Builder UI, see the DSP System Toolbox™ documentation.
To open the initial Generate HDL dialog box from Filter Builder, do the following:
At the MATLAB command prompt, type a filterBuilder
command
that corresponds to the filter response or filter object you want
to design.
The following figure shows the default settings of the main pane of the Filter Builder Lowpass Design dialog box.
Set the filter design parameters as required.
Optionally, select the check box Use a System object to implement filter.
Click the Data Types tab. Set Arithmetic to Fixed
point
and select data types for internal calculations.
Click the Code Generation tab.
In the Code Generation pane, click the Generate HDL button. This button opens the Generate HDL dialog box, passing in the current filter object from Filter Builder.
Set the desired code generation and test bench options and generate code in the Generate HDL dialog box.
fdhdltool
CommandYou can use the fdhdltool
command to open
the Generate HDL dialog box directly from the MATLAB command
line. The syntax is:
fdhdltool(Hd)
where Hd
is a type of filter object that
is supported for HDL code generation. If the filter is a System object™,
you must specify the input data type.
fdhdltool(FIRLowpass,numerictype(1,16,15))
The fdhdltool
function is particularly useful when you must use the
Filter Design HDL Coder™ UI to generate HDL code for filter structures that are not supported
by Filter Designer or Filter Builder. For example, the following commands create a
Farrow fractional delay filter object farrowfilt
, which is passed
in to the fdhdltool
function:
farrowfilt = dsp.VariableFractionalDelay('InterpolationMethod','Farrow'); inputDataType = numerictype(1,18,17); fdDataType = numerictype(1,8,7); fdhdltool(farrowfilt,inputDataType,fdDataType);
fdhdltool
operates on a copy of the filter
object, rather than the original object in the MATLAB workspace.
Changes made to the original filter object after invoking fdhdltool
do
not apply to the copy and do not update the Generate HDL dialog box.
The name of the copied filter object by default is dobj_copy
.
This is reflected in the filter Name field. Likewise,
the test bench file name is dobj_tb_copy
. This
is reflected in the File name field on the Test
Bench pane. Update these default values to user-defined
names if required.