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

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?

 Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 21 Déc 2020

0 votes

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.

Plus de réponses (1)

Catégories

En savoir plus sur Code Generation dans Centre d'aide et File Exchange

Produits

Version

R2020b

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by