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

使用函数实现数据大小端转换

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组合逻辑电路的写法。

全部评论

相关推荐

01-08 09:40
中南大学 Java
苏苏加油努力:你的女神不回你消息,并且给别的男生发消息 be like
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务