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

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

https://www.nowcoder.com/practice/74c0c19ad0c444959c436a049647a93c

`timescale 1ns/1ns
module function_mod(
	input [3:0]a,
	input [3:0]b,
	
	output [3:0]c,
	output [3:0]d
);

function  [3:0] mod;
input [3:0] a;
begin
		mod={a[0],a[1],a[2],a[3]};
end
endfunction

assign c=mod(a);
assign d=mod(b);

endmodule

对于一个子程序来说, 下面的条件全部成立,则可以使用函数来完成;

  • 在子程序内不含延迟,时序或者控制结构。
  • 子程序只有一个返回值。
  • 只有有一个输入变量。
  • 没有输出或者双向变量。
  • 不含有非阻塞赋值语句。

需要注意的是,函数是可以综合的,展开电路为组合逻辑电路。

该题目比较简单只有4位,所以可以用拼接的方法写,如果位数多了需要用for循环。函数的for循环用initeger来声明变量i

全部评论

相关推荐

Twilight_m...:还是不够贴近现实,中关村那块60平房子200万怎么可能拿的下来,交个首付还差不多
点赞 评论 收藏
分享
07-10 14:08
已编辑
江西农业大学 Java
拒绝无效加班的小学生...:期望3k吗?java这辈子有了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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