题解 | #使用函数实现数据大小端转换#
使用函数实现数据大小端转换
https://www.nowcoder.com/practice/74c0c19ad0c444959c436a049647a93c
`timescale 1ns/1ns // 大端:数据的高位写左侧,低位写右侧。小端:高位写右侧,低位写左侧。 //实现N比特数的大小端转换,只需要把数据的N位赋值给0位,N-1位赋值给1位,依此类推。 module function_mod( input [3:0]a, input [3:0]b, output [3:0]c, output [3:0]d ); // 函数(function):一般用于计算,或者用来代替组合逻辑。不能包含任何延迟;函数在零时间执行。函数只有input变量,虽然没有output变量,但可以通过函数名返回一个值。可以调用其他的函数,但不可以调用任务。函数不可以包含时间控制,所以可综合,多用来模块化组合逻辑,方便复用、调用。==c void struct…… function [3:0] b_e; input [3:0]data_in; begin b_e[0]=data_in[3]; b_e[1]=data_in[2]; b_e[2]=data_in[1]; b_e[3]=data_in[0]; end endfunction assign c=b_e(a); assign d=b_e(b); endmodule