题解 | #使用函数实现数据大小端转换#
https://www.nowcoder.com/practice/74c0c19ad0c444959c436a049647a93c
进一步明确函数的写法:
function<返回值类型or范围>(函数名or端口说明语句);//函数名就是函数的返回值
<端口说明> //至少有一个输入
<变量类型说明> //这里返回reg类型变量
begin //一个function中只能有一个begin end
<功能描述>
函数名=***;//函数名就是输出变量
end
endfunction
`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 ); //函数名 reverse ,返回值4位的reg类型,function中只能有一个begin end function [3:0]reverse; input [3:0]data_in; reg [3:0]reverse; integer i; begin for(i=0;i<4;i=i+1) reverse[i]=data_in[3-i]; end endfunction assign c=reverse(a); assign d=reverse(b); endmodule