S
sohannin
Guest
I have a small part in my code like this (this is completely bogus but the
idea is the same):
process (ck)
....
internal_sum_2(0) <= internal_sum(0) XOR my_signal(0);
internal_sum_2(7 downto 1) <= internal_sum(7 downto 1) XOR "0000001";
sum <= internal_sum_2;
end process;
....
So this process is synchronous and signals update the sum which is
out-port. But why do they update the sum at both instances, i.e. the first
clause updating only the lowest bit of internal_sum_2 causes a change in
the output port "sum" immediately even though statements inside the
process should be sequential? My intention is to first construct the whole
8-bit vector and update the output port's all bits at the same time. What
am I doing wrong?
idea is the same):
process (ck)
....
internal_sum_2(0) <= internal_sum(0) XOR my_signal(0);
internal_sum_2(7 downto 1) <= internal_sum(7 downto 1) XOR "0000001";
sum <= internal_sum_2;
end process;
....
So this process is synchronous and signals update the sum which is
out-port. But why do they update the sum at both instances, i.e. the first
clause updating only the lowest bit of internal_sum_2 causes a change in
the output port "sum" immediately even though statements inside the
process should be sequential? My intention is to first construct the whole
8-bit vector and update the output port's all bits at the same time. What
am I doing wrong?