以下编码风格在综合时有什么不同吗?
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" 亲自看看!
但您会发现:它们是等价的。没有任何区别。
它将生成相同的硬件输出。将时钟语句拆分为一个或多个始终语句并不重要,只要它们在功能上相同即可。
我正在尝试在我的项目中实现一个模块,我需要最终值在一段时间内保持稳定,因此实现如下。他们都在模拟中显示相同的结果。该工具会生成相同的硬件还是不同的硬件?
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" 亲自看看!
但您会发现:它们是等价的。没有任何区别。
它将生成相同的硬件输出。将时钟语句拆分为一个或多个始终语句并不重要,只要它们在功能上相同即可。