G
googler
Guest
If I have a combinational 'always' block like this..
reg x, y;
always @(a or b or c or d)
begin
x = a | b;
y = c & d;
x = x ^ y;
end
then my question is, is there anything wrong with the above in terms
of performing synthesis? I mean, we are assigning to x in the first
statement and then it is also present on the RHS of the third
statement, so by any chance, is there a possibility that a synthesis
tool will take this as a combinational loop (although it is not
present in the sensitivity list)? Or, will x be not used in synthesis
by the tool as it does not appear in the sensitivity list? Or even if
it works in some cases/tools, is it a good practice in general? Thanks.
reg x, y;
always @(a or b or c or d)
begin
x = a | b;
y = c & d;
x = x ^ y;
end
then my question is, is there anything wrong with the above in terms
of performing synthesis? I mean, we are assigning to x in the first
statement and then it is also present on the RHS of the third
statement, so by any chance, is there a possibility that a synthesis
tool will take this as a combinational loop (although it is not
present in the sensitivity list)? Or, will x be not used in synthesis
by the tool as it does not appear in the sensitivity list? Or even if
it works in some cases/tools, is it a good practice in general? Thanks.