Forum Discussion
Altera_Forum
Honored Contributor
12 years ago --- Quote Start --- Hello folks, I'm stuck at the idea how to optimize my code. Hope to get any help from you. My code is to make a generic sum y = a(1) + a(2) + a(3); I would like to make it like: n <= 3; process(y) begin ---for i in 1 to 3 loop ------y <= y + a(i); ---end loop; end process; Of course it will cause combinational loop :( I dont know how to do that sum without rewrite the program. I meant when I need to change the length of a. Need your help, Thanks --- Quote End --- Assuming you mean (n) will vary as "generic" per compile then one way is to declare a a large adder to accommodate max (n) then wire up per compile. e.g. sum <= A(1) + A(2) +A(3) +A(4) +A(5) + A(6) + A(7); -- 7 is max n then for a given compile with n set to 3: for i in 1 to 3 loop A(i) <= a(i); end loop; That way the compiler will optimise off inputs A(4) ~ A(7)