Dijskstra
Newbie level 5
- Joined
- Jun 28, 2014
- Messages
- 9
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1
- Activity points
- 93
I have 2 questions about VHDL processes:
Question 1 - Are processes REALLY sequential ?
Let's suppose that I have the little code below:
Can I have 100% certain that bit1 is assigned with '1' after bit0 or inside the process the statements are concurrent ?
Question 2 - What happen if the signals of the sensitivity list change in the middle of a process ?
Lets suppose that the execution time of the process is bigger than the clock period.
If CLK rises in the middle of the process, the code "jump" to the start of the process, or continue until the end, ignoring the rising edge of CLK ?
Thank you.
Anders
Question 1 - Are processes REALLY sequential ?
Let's suppose that I have the little code below:
Code:
process (sensitivity list)
begin
bit0 <= 1;
delay(1000); -- delay is a user function to pause the program (in this case 1000 ms)
bit1 <= 1;
end process;
Can I have 100% certain that bit1 is assigned with '1' after bit0 or inside the process the statements are concurrent ?
Question 2 - What happen if the signals of the sensitivity list change in the middle of a process ?
Code:
process (clk)
begin
if (clk'event and clk='1') then
...
statement1;
statement2;
statement3;
...
statement500 -- here clk rises again
...
statement998;
statement999;
statement1000;
end if;
end process;
Lets suppose that the execution time of the process is bigger than the clock period.
If CLK rises in the middle of the process, the code "jump" to the start of the process, or continue until the end, ignoring the rising edge of CLK ?
Thank you.
Anders