I have a very basic question here. When I learnt Processes it was said the statements occur sequentially.This is what I believed in. In the NCO process image file,there is proof for it. fword is assigned with a value and nco_acc is incremented in the next statement and in the third clk_pn is assigned. In the second image file,the corresponding synthesis results have been given. When reset goes low,fword gets its value in the first positive edge of the clock and in the next edge nco_acc is incremented and in the next edge clk_pn is assigned the msb of the nco_acc. Till here no problem. Then I met another problem.In the other image there is a process highlighted. here too there are two statements inside the process statement in the else part. But it happened concurrently. The statements occurred in the same clock cycle.
What should I conclude?
When is it sequential and when is it not?
NCO:process(clk,reset) begin if (reset='1') then clk_pn<='0'; nco_acc<=(others=>'0'); fword<=(others=>'0'); elsif (rising_edge(clk) ) then fword<=fword1(conv_integer(outp_sm)); nco_acc<=nco_acc+fword; clk_pn<=nco_acc(nco_pngen_res-1); end if; end process NCO; process(reset,clk,car_change) begin if reset='0' or car_change = '1' then g2codereg <= "1111111111"; elsif clk'event and clk='1' then g2codereg(1) <= g2codereg(2) xor g2codereg(3) xor g2codereg(6) xor g2codereg(8) xor g2codereg(9) xor g2codereg(10); g2codereg(10 downto 2) <= g2codereg(9 downto 1); end if; end process;