Matlab power function passing HDL coder requirements

Which could be the easiest way of realizing the MATLAB function power(a,b) in order to fulfill HDL coder conversion requirements?
According to HDL code generation, none of the power functions are supported.
Thanks in advance.

 采纳的回答

Tim McBrayer
Tim McBrayer 2014-1-15
编辑:Tim McBrayer 2014-1-15
There are several ways that you could approach this, depending on your data types and value requirements. One big question is, can your exponent be fractional, or is it limited to integer values? You could build a Stateflow chart or write a MATLAB Function block, if using Simulink. You could also build a subsystem that will repeatedly multiply by your value, using only basic blocks.
If generating HDL Code from MATLAB, you can write your own function, using whatever technique you wish.

4 个评论

The exponent can be fractional, and I'm using pure Matlab (not Simulink). Imagine that I have:
power(10,0.2032)
Leaving Simulink out of the mix, the approach I mentioned earlier is to implement the algorithm using supported functionality. Another alternative is, if your required input range is suitably limited, is to build a 2-D lookup table. The inputs will be your inputs to the power function, suitably quantized, and the table values will be the appropriate outputs. This technique works best when you know you have a limited input range; otherwise, the table gets very large.
Okay, i get it. I have realized LUTs for log2, log, sqrt, etc. using the scripts provided in Mathworks:
but i have not tried with exp function. I understand that these functions are not valid for negative entries (it is explicitely written within them).
My question is if it's convenient to follow this structure (LUT table + normalization & leading zeros) and which might be the changes in order to accept negative numbers without losing functionality.
can you help me out?I need to realize LUT for exponential function

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 HDL Code Generation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by