Error while converting a sine pwm block in simulink to verilog code using HDL coder.

3 views (last 30 days)
I have simulated a sine pwm block in simulink. It is working perfectly and I want to convert it into verilog code using HDL workflow Adviser. The following error message came:
Failed: Running Check Block Compatibility failed.
Warning: Cannot find the implementation for block 'pwm1703/Subsystem/Sine Wave'.
I have used the sine wave block from source library in the simulink. I have used sine sawtooth (signal generator) compare method to generate the sine pwm.
Any idea what is going wrong?

Accepted Answer

Tim McBrayer
Tim McBrayer on 21 Mar 2013
The sine wave block is not supported by HDL Coder. You can see all the blocks supported by HDL Coder by running the MATLAB command 'hdllib'.
That said, there are two supported methods for computing the sine in HDL Coder. The first is to use the Simulink->Math Operations->Trigonometric Function block. This block will compute the sine using a CORDIC algorithm. You can control the number of iterations, which allows you to choose between size/speed and accuracy.
The other way of implementing the sine function in HDL Coder is to use a lookup table containing the precomputed sine wave of desired resolution and scaling. You can save chip area by having your table represent only one quadrant, and mapping this as appropriate.

More Answers (0)

Communities

More Answers in the  Power Electronics Control

Products

Community Treasure Hunt

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

Start Hunting!