题解 | #使用子模块实现三输入数的大小比较#

使用子模块实现三输入数的大小比较

https://www.nowcoder.com/practice/bfc9e2f37fe84c678f6fd04dbce0ad27

`timescale 1ns/1ns
module main_mod(
	input clk,
	input rst_n,
	input [7:0]a,
	input [7:0]b,
	input [7:0]c,
	output [7:0]d
);
    wire [7:0]e,f;
    son_module ab_compare
	(
      .clk(clk),
      .rst_n(rst_n),
	  .a(a),
	  .b(b),
	  .c(e)
	);
  son_module ac_compare
	(
      .clk(clk),
      .rst_n(rst_n),
	  .a(a),
	  .b(c),
	  .c(f)
	);
	son_module ef_compare
	(
      .clk(clk),
      .rst_n(rst_n),
	  .a(e),
	  .b(f),
	  .c(d)
	);

endmodule



module son_module(
  input clk,
  input rst_n,
  input [7:0]a,
  input [7:0]b,
  output [7:0]c
);
  reg [7:0] c1;
always  @(posedge clk or negedge rst_n)
begin
if(!rst_n)begin
	c1<=0;
end
else 
begin
	if(a>b)
	begin
	c1<=b;
	end
	else 
	c1<=a;

end
end
 assign c=c1;

	  
endmodule

本题需要注意例化模块的使用,实际上就是在主模块里用子模块的功能,输入输出需要一一对应,此外本题如果只用两次例化结果不正确,原因为在时刻一比较了ab,而在下一时刻,c已经进行了更新,相当比的是下一时刻的c

全部评论

相关推荐

08-15 01:16
Python
Java小萌新新萌小...:照片不用整这么大的 而且你的照片截歪了 你想找专业对口的 那普通话证写在这里其实没有什么必要 就是看着内容多点 而且里面字体大小也不一样 修改一下排版 有很多空间可以再利用一下 字大一点 不然现在这样观感不太好 再就是项目好好优化一下 加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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