simple IIR filter design

조회 수: 1 (최근 30일)
Safiya
Safiya 2015년 5월 5일
댓글: Stephen23 2015년 5월 28일
Hi, I am using this simple transfer function H(z)= 1/(z^2 + 0.1z+ 0.01), transforming to bilinear. Now I want to generate the VHDL code for this compensator. Not targeting to any FPGA board. but for simple transistor level synthesis like cadence etc. Can I do this using MATLAB. Regards, shayder
  댓글 수: 1
Stephen23
Stephen23 2015년 5월 28일
Here is the text of the original question, just in case Safiya decides to delete the text of this question too (like this one):
Hi, I am using this simple transfer function H(z)= 1/(z^2 + 0.1z+ 0.01), transforming to bilinear. Now I want to generate the VHDL code for this compensator. Not targeting to any FPGA board. but for simple transistor level synthesis like cadence etc. Can I do this using MATLAB. Regards, shayder

댓글을 달려면 로그인하십시오.

채택된 답변

Tim McBrayer
Tim McBrayer 2015년 5월 5일
You might want to take a look at either HDL Coder or Filter Design HDL Coder to see if either of these products will meet your needs. Both generate cycle-accurate, bit true VHDL or Verilog that is ready for simulation and synthesis.
  댓글 수: 3
Walter Roberson
Walter Roberson 2015년 5월 6일
HDL Coder and related tools can generate complete descriptions suitable for chip layout programs, and do not need to be targeted to FPGA.
If you want to use floating point then you are going to need a floating point library and it is going to take up a lot of space on your chip.
The recommendation is to avoid floating point and to instead to use the Fixed Point Designer.
Tim McBrayer
Tim McBrayer 2015년 5월 6일
HDL Coder supports many different styles of modeling. The design of your filter is up to you and your requirements.
With HDL Coder, if you need storage for your coefficients--for instance, if you want to change them over time--you can store them in a register implemented with a unit delay. If you want a RAM to store the coefficients, you can do that as well using a HDL RAM block. If you just want a set of fixed coefficients you can specify them with Constant blocks, or as the parameter of a Gain block. If you want to supply the coefficients as external inputs to your filter you can do that as well.
The generated HDL is target-independent unless specifically requested not to be. It can be used for simulation, synthesis (for either FPGA or ASIC), or any other purpose that you would use hand-written HDL for.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by