系列文章目录
Verilog学习1——三目运算符
Verilog学习2——与门(按位与和逻辑与)
Verilog学习3——向量
Verilog学习4——取反与移位运算
Verilog学习5——门电路
Verilog学习6——加法器
Verilog学习7——case的使用
Verilog学习8——for的使用
文章目录
一、for的用法
Verilog中for的用法和在C语言中差别不大,不过for循环里的语句大于1就需要使用begin-end。下面用两个例子说明:
1、Given a 100-bit input vector [99:0], reverse its bit ordering.
module top_module(
input [99:0] in,
output [99:0] out
);
reg [99:0] out1;
always @(*)
begin
for(int i=0;i<100;i++)
begin
out1[i] = in[99-i];
end
end
assign out = out1;
endmodule
2、Build a population count circuit for a 255-bit input vector.
“population count” 电路指的是统计输入数据中高比特位数量的电路。
module top_module(
input [254:0] in,
output reg [7:0] out );
always @(*)
begin
out = 0;
for(int i=0;i<255;i++)
out = out+in[i];
end
endmodule