题解 | #使用函数实现数据大小端转换#
使用函数实现数据大小端转换
https://www.nowcoder.com/practice/74c0c19ad0c444959c436a049647a93c
`timescale 1ns/1ns module function_mod( input [3:0]a, input [3:0]b, input clk, input rst_n, output [3:0]c, output [3:0]d ); assign c = data_rev(a); assign d = data_rev(b); function [3:0]data_rev; input [3:0]data_in; begin data_rev[0] = data_in[3]; data_rev[1] = data_in[2]; data_rev[2] = data_in[1]; data_rev[3] = data_in[0]; end endfunction endmodule
首先我想到的使用always块直接写,但是注意题目给的输入中没有clk,rst_n信号,需要自己加上。
等到最后编写完成吗,会报Unable to bind wire/reg/memory `rst_n' in `function_mod'这个错误,知道什么原因,
大概是因为不能在一个always块中对同一个输出赋值的原则?
不懂,最后参考了使用assign组合逻辑电路的写法。