System verilog on Quartus synthesis issue

Status
Not open for further replies.

Vaibhav Sundriyal

Newbie level 4
Joined
Jan 31, 2014
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Visit site
Activity points
36
Code:
 module blockingbad(input logic clk,a,b,c,output logic y);
        logic x;
        
        always_ff @(posedge clk) begin
        y=x|c;
        x=a&b;
        end
        endmodule




For the above Sysverilog snippet, the quartus 13.1 synthesizes a netlist shown above.

But when I interchange the ordering of calculation of y and x, I get a synthesized netlist shown below.





Why exactly am I getting a different netlist? I know it has got to do with the blocking assignment "=" but I can't understand the change in number of flip flops. Can anybody explain it to me.

Thanks
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…