Error while converting a sine pwm block in simulink to verilog code using HDL coder.
1 view (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
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
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!