以下编码风格在综合时有什么不同吗?

Does the following style of coding makes any difference while synthesis?

我正在尝试在我的项目中实现一个模块,我需要最终值在一段时间内保持稳定,因此实现如下。他们都在模拟中显示相同的结果。该工具会生成相同的硬件还是不同的硬件?

always @(posedge clk) begin
if(en)
    count <= count + 1;
else
  begin
    a <= count;
    count <= 0;
  end

if(count == 0) b <= a;

end

上面的编码风格和下面的有什么区别?合成时有什么区别吗?

always @(posedge clk) begin
    if(en)
        count <= count + 1;
    else
      begin
        a <= count;
        count <= 0;
      end
end 

always @(posedge clk) begin
    if(count == 0)
        b <= a;
end

并且我正在使用Vivado 2015.4 工具进行综合。

will the tool generate same hardware or different one?

在 Vivado 中点击 "open elaborated design" 亲自看看!

但您会发现:它们是等价的。没有任何区别。

它将生成相同的硬件输出。将时钟语句拆分为一个或多个始终语句并不重要,只要它们在功能上相同即可。