Is the missing begin a typo? As written above you have the following code:
Code Verilog - [expand] |
1
2
3
4
5
6
7
8
9
10
11
12
| always @(count,out2_complex_bf1,out2_real_bf1) begin
if (count >= 4'b1000) begin
out2_real_bf1_t <= out2_complex_bf1;
out2_complex_bf1_t <= (~(out2_real_bf1)) + 1;
end else
out2_real_bf1_t <= out2_real_bf1;
out2_complex_bf1_t <= out2_complex_bf1;
end |
So the simulation is showing exactly what you wrote, assign out2_complex_bf1 to that ..._t version on every clock after the count goes over 8 as you replace the first assignment is overwritten.
BTW use the @* instead of writing out all the signals, less likely to make a mistake and end up with simulation synthesis mismatches.