关于Verilog程序综合出来的结果
module example(input clk,
output reg out);
reg cnt;
always @(posedge clk)
begin
if (cnt == 1'd1) //版本1, 屏蔽下一行
//if (cnt == 4'd8) //版本2, 屏蔽上一行,打开该行
begin
cnt <= 1'd0;
out <= ~out;
end
else
cnt <= cnt + 1'd1;
end
endmodule
以上为实验程序
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_703937J8H8GM.gif
版本1 (原文件名:版本1.gif)
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_703938TXHBSV.gif
版本2 (原文件名:版本2.gif)
问题: 版本1比版本2综合出来的结果 占用门数少, 请问版本1可靠吗?
感觉问题重点不明确,修改一下:
问:需要实现的功能是 clk的8分频,请问版本1功能可靠吗? 这两个东西功能是不等价的 楼上细说一下 版本1只比较cnt一位,版本2比较整个cnt 4位…… 比较只能在程序都相同的环境下进行 你可以假设cnt的初始值为0到15,然后比较两种写法产生的不同响应。 你这就是个16分频么!!我都感觉不用写这么复杂!!!
module example(
input clk,
output reg out);
reg cnt;
always @(posedge clk)
begin
cnt <= cnt + 1'd1;
end
assign out = cnt ;
还有你写程序难道一般不写复位的吗???
endmodule 只是演示用而已,见笑
页:
[1]