问个技术器的弱智问题
时间:10-02
整理:3721RD
点击:
最近发现计数器,计数自增可以有赖哪个种写法:
reg [7:0] FWADDR;
always @(posedge clk)
begin
FWADDR <= FWADDR+4'b1;
end
或者是
wire [7:0]FWADDR_incr;
wire [7:0] tmp;
assign tmp = FWADDR;
assign FWADDR_incr = tmp + 4'b1;
always @(posedge clk)
begin
FWADDR <= FWADDR_incr;
end
哪种写法好呢?感觉第二个更像硬件,第一个有点抽象。请大家说说看法!
reg [7:0] FWADDR;
always @(posedge clk)
begin
FWADDR <= FWADDR+4'b1;
end
或者是
wire [7:0]FWADDR_incr;
wire [7:0] tmp;
assign tmp = FWADDR;
assign FWADDR_incr = tmp + 4'b1;
always @(posedge clk)
begin
FWADDR <= FWADDR_incr;
end
哪种写法好呢?感觉第二个更像硬件,第一个有点抽象。请大家说说看法!
简单的就是美的。
可能第二个综合起来更节约资源一点吧
一样样的,第二个更规范些,要养成好的code style
越简单越好
没觉得第二种方法好啊!
当然第二种是绝对符合RTL的写法,组合逻辑和时序逻辑分开,Flip-Flop单独描述,
但是代价也太大了吧,这样的代码不容易维护啊。
而且现在综合器的发展日新月异,没有必要了吧。
