Colon operation in fixed-point
    2 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I am writing a function in 2020b that I then want to convert into fixed-point using the tool. I am defining some arrays by the colon operation, however when i use variables in the colon it does not like it. Yet using the exactly same numbers as numbers and not variables the tool says no and that it must be a fi or constant object. Why is this and how can i fix it?
3 comentarios
Respuestas (3)
  Kiran Kintali
    
 el 10 de Feb. de 2022
        MATLAB HDL Coder workflow does support colon operator during fixed-point conversion and code generation. Please share a sample design file dut.m, testbench.m (caling dut) and a project file with fixed-point conversion settings.
2 comentarios
  Kiran Kintali
    
 el 11 de Feb. de 2022
        Support for colon exists with fixed-point types according to documentation. https://www.mathworks.com/help/fixedpoint/ref/colon.html
Please reach out to https://www.mathworks.com/support.html for additional help specific to your usecase.
0 comentarios
  Andy Bartlett
    
 el 15 de Feb. de 2022
        
      Editada: Andy Bartlett
    
 el 15 de Feb. de 2022
  
      fi colon integer values only
Strategy to generalize fi colon
The following function shows a strategy for getting colon behavior that will work with fi objects.
The key idea is create an integer valued vector [0, 1, 2, ... n-1].
Then multiply by a scalar and add a scalar to produce the desired colon-style vector. 
function y = colonAlternative(uLo,uSpacing,uHi)
   %colonAlternative alternative to colon due to fi restrictions with colon
   % fi colon operator
   %   lo:spacing:hi
   % requires the all three arguments
   %   lo
   %   spacing
   %   hi
   % to have integer values
   %
   % To work around this create an integer valued vector
   % then multiply by the desired spacing
   % and add the desired starting point if it is not zero
   % Conceptually
   %    fiIntegerVec = (0:(nPts-1));
   %    finalVec = fiAnchor + fiIntegerVec.*fiSpacing
   %
   uDelta = uHi - uLo;
   nPtsMinusOne = round( uDelta/uSpacing );
   integerVec = 0:nPtsMinusOne;
   y = uLo + (uSpacing .* integerVec);    
end
Compatible Example for Fixed-Point Converter
The attached design file fiColonLookupV2.m and its associated testbench file test_fiColonLookupV2.m are compatible with Fixed-Point Converter. Use of the strategy shown makes sure that only integer valued fi objects are fed to the colon operator's operands.
0 comentarios
Ver también
Categorías
				Más información sobre Fixed-Point Design en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



