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

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

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

全部评论

相关推荐

06-03 15:32
点赞 评论 收藏
分享
牛客928043833号:在他心里你已经是他的员工了
点赞 评论 收藏
分享
Twilight_mu:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务