function
只有组合逻辑,不需要加assign
4位,用3!!!
`timescale 1ns/1ns
module function_mod(
input clk,
input rst_n,
input [3:0]a,
input [3:0]b,
output [3:0]c,
output [3:0]d
);
function [3:0]exchange;
input [3:0]data;
integer i;
for(i=0;i<=3;i=i+1)
exchange[3-i]=data[i];//不需要assign 3!!!!
endfunction
assign c=exchange(a);
assign d=exchange(b);
endmodule
generate
模板
genvar i;
generate
for()
begin:名称
组合逻辑
或者时序逻辑
或者例化模块
end
endgererate
module top_module(
input [99:0] in,
output [99:0] out
);
genvar i;
generate
for(i=0;i<=99;i=i+1)
begin:reverse
assign out[99-i]=in[i];
end
endgenerate
endmodule