ARCHITECTURE studentVersion OF interpolatorCoefficients IS subtype sample is signed(bitNb-1 DOWNTO 0); subtype coeff is signed(coeffBitNb-1 DOWNTO 0); type samples_type is array (1 to 4) of coeff; signal samples: samples_type; BEGIN -- a = - sample1 +3·sample2 -3·sample3 + sample4 -- b = 2·sample1 -5·sample2 +4·sample3 - sample4 -- c = - sample1 + sample3 -- d = sample2 process(sample1, sample2, sample3, sample4) begin samples(1) <= resize(sample1, coeff'high+1); samples(2) <= resize(sample2, coeff'high+1); samples(3) <= resize(sample3, coeff'high+1); samples(4) <= resize(sample4, coeff'high+1); end process; a <= samples(4) - samples(1) + resize( 3*(samples(2) - samples(3)), coeff'high+1); b <= resize(2*samples(1), coeff'high+1) - resize(5*samples(2), coeff'high+1) + resize(4*samples(3), coeff'high+1) - samples(4); c <= samples(3) - samples(1); d <= samples(2); END ARCHITECTURE studentVersion;