I have the following parameters declared in a package:
package param_pkg;
parameter int A[N] = {6,5,4,3,2,1,0}; //Where N is 7;
parameter int B = 7;
parameter int C = 8;
parameter int D[M] = {12,11,10,9}; //M=4;
…
endpackage
and so on the parameters are declared in incremental fashion. Is there a better way to do this, like use a index i and do i++ or use for loop?
You can use constant functions to enable procedural assignments.
function int some_function( input int some_args /*, other args...*/ );
int return_val;
return_val = some_args;
if( some_args )
return_val = something_else;
else if( foo )
begin
for( some_iterative_method )
begin : some_iterative_block
end
return_val = blah;//...
end
//...
return( return_val );
endfunction
localparam N = 8;
localparam MY_PARM = some_function( N );