Filter löschen
Filter löschen

simple IIR filter design

3 Ansichten (letzte 30 Tage)
Safiya
Safiya am 5 Mai 2015
Kommentiert: Stephen23 am 28 Mai 2015
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 Kommentar
Stephen23
Stephen23 am 28 Mai 2015
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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Tim McBrayer
Tim McBrayer am 5 Mai 2015
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 Kommentare
Walter Roberson
Walter Roberson am 6 Mai 2015
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 am 6 Mai 2015
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by