MATLAB Answers

How can I convert from decimal to binary for HDL Coder?

23 views (last 30 days)
I am creating a Simulink model for HDL code generation. I would like to convert a signal into a vector of bits so that I can perform operations on each individual bit. There is no block that performs this operation, so I would like to create a custom implementation. What is the best way to do this that will not generate excessive code?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 21 Dec 2020
A convenient way to perform this operation is to use the MATLAB Function block. There is an example implementation of this type of block within the eml_hdl_design_patterns example library. The Integer to Bits block within this library can be added to a model to convert a scalar to a vector of bits. Refer to the following for more information on this example:
Note that the following modifications may be required to ensure compatibility with an existing model:
  1. Specify output vector length by creating variable maxWordLength or directly entering a value in the block's mask.
  2. This block outputs a 1xN vector. If downstream blocks expect an Nx1 vector, either the MATLAB function can be edited to switch vector dimensions, or the output signal can be reshaped to the expected dimensions.


Sign in to comment.

More Answers (1)


No tags entered yet.




Community Treasure Hunt

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

Start Hunting!