[an error occurred while processing this directive]
|
Скажем, фильтр с несколькими наборами коэффициентов. А конкретный набор(строка в массиве) выбирается параметром функции на этапе компиляции.
В AHDL, вроде, constant нельзя объявить как массив, случае одного набора коэффициентов получается примерно такой текст:
CONSTANT COEFFICIENTS_COUNT = 32;
CONSTANT coeff0 = 2;
CONSTANT coeff1 = 3;
.
.
.
CONSTANT coeff31 = 61;
SUBDESIGN LPF_coefficients
(
LPF_coeffs[31..0][10..0] : OUTPUT;
)
begin
FOR i IN 0 TO COEFFICIENTS_COUNT-1 GENERATE
LPF_coeffs[i][10..0] = coeff[i];
END GENERATE;
end;
Для небольшого количества констант еще сойдет, а для десятка наборов по нескольку десятков констант уже многовато текста.
Можно ли как-то записать все это в виде
constant_type constant_array [ range1 ][ range2 ] = { const[0][0], const[0][1],.. const[range1-1][range2-1] };
ну и обратится потом к этому соответственно?
E-mail: info@telesys.ru