赞
踩
为了能把一个输出信号赋给输出端口,常看到如下的两种处理方式。
方式A:
- module test1(clk,counter);
-
- input clk ;
-
- output[7:0] counter ;
-
- reg[7:0] counter_reg ;
-
- always@(posedge clk)
-
- begin
-
- counter_reg<=counter_reg+1 ;
-
- end
-
- assign counter=counter_reg;
-
- endmodule
方式B:
- module test1(clk,counter);
-
- input clk ;
-
- output reg[7:0] counter ;
-
- always@(posedge clk)
-
- begin
-
- counter<=counter+1'b1 ;
- end
- endmodule
A是单独设置内部变量,在always中将输出信号赋给counter_reg,让后通过assign将counter和counter_reg连接起来。
B是直接将输出端口设置成reg型信号,直接在always中赋值。
综合的结果表明,两种处理方式的结果一致。
综合后的RTL级视图均为:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。