使用MATLAB滤波器设计器导出Verilog代码
此处的参考参数用于在MATLAB滤波器设计器(fdatool/filterDesigner)中导出适用于16-bit精度ADC转换的数据的滤波器Verilog代码。
设计完滤波器后,切换到Quantize Filter页面,设置如下参数:
- 滤波器数值表示法(Filter arithmetic):设置为定点(Fixed-Point)。
- 滤波器精度(Filter precision):设置为“全部指定(Specify all)”。
- 滤波器参数字长(Numerator word length)推荐使用预设值。但取消勾选“使用最佳小数位长度(Best-precision fraction lengths)”,手动指定小数位长度(Numerator frac. length),推荐设置为滤波器参数字长(Numerator word length)的一半。
- 输入和输出字长(Input word length/Output word length)可根据情况指定,但推荐将小数位长度(Input fraction length/Output fraction length)设置为0。
- 累乘器和累加器字长(Product word length/Accum. word length)推荐设置为较大的值,可保留预设参数,但推荐将小数位长度(Product fraction length/Accum. fraction length)设置为0。
最后,从滤波器设计器窗口的 [Targets] > [Generate HDL…] 菜单项中导出滤波器Verilog代码即可。
本设计使用的滤波器参数如下:
// ------------------------------------------------------------- // // Module: FIRLowPassFilter // Generated by MATLAB(R) 9.5 and Filter Design HDL Coder 3.1.4. // Generated on: 2023-06-08 20:53:14 // ------------------------------------------------------------- // ------------------------------------------------------------- // HDL Code Generation Options: // // CoeffMultipliers: CSD // ClockEnableInputPort: iIsDataReady // ClockInputPort: iClock // ResetInputPort: iReset // EDAScriptGeneration: off // AddInputRegister: off // AddOutputRegister: off // InputPort: iData // OutputPort: oFilteredData // Name: FIRLowPassFilter // TargetLanguage: Verilog // TestBenchStimulus: impulse step ramp chirp noise // GenerateHDLTestBench: off // ------------------------------------------------------------- // HDL Implementation : Fully parallel // Folding Factor : 1 // ------------------------------------------------------------- // Filter Settings: // // Discrete-Time FIR Filter (real) // ------------------------------- // Filter Structure : Direct-Form FIR // Filter Length : 11 // Stable : Yes // Linear Phase : Yes (Type 1) // Arithmetic : fixed // Numerator : s16,8 -> [-128 128) // Input : s16,0 -> [-32768 32768) // Filter Internals : Specify Precision // Output : s16,0 -> [-32768 32768) // Product : s32,0 -> [-2147483648 2147483648) // Accumulator : s32,0 -> [-2147483648 2147483648) // Round Mode : convergent // Overflow Mode : wrap // -------------------------------------------------------------
页面版本: 1, 最后编辑于: 14 Jun 2023 02:03