题解 | #使用函数实现数据大小端转换#

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



全部评论

相关推荐

牛客154160166号:9月底还给我发短信,好奇怪,我24届的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务