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

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

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;
	wire [7:0]f;
	sub_module mod_1(
		.clk(clk),
		.rst_n(rst_n),
		.a(a),
		.b(b),
		.c(e)
	);
	sub_module mod_2(
		.clk(clk),
		.rst_n(rst_n),
		.a(b),
		.b(c),
		.c(f)
	);
	sub_module mod_3(
		.clk(clk),
		.rst_n(rst_n),
		.a(e),
		.b(f),
		.c(d)
	);	
endmodule


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

endmodule

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务