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

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

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]	d0,d1,d2;

min_num	u0
(
.clk (clk) ,
.rst_n (rst_n),
.a(a),
.b(b),

.c(d0)
);

min_num	u1
(
.clk (clk) ,
.rst_n (rst_n),
.a(b),
.b(c),

.c(d1)
);

min_num	u2
(
.clk (clk) ,
.rst_n (rst_n),
.a(d0),
.b(d1),

.c(d2)
);

assign	d = d2;

endmodule



module	min_num
(
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)
	if(!rst_n)
		c	<=	8'd0;
	else	if(a<b)
		c	<=	a;
	else
		c	<=	b;

endmodule

全部评论

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
巧克力1:双选会不如教室宣讲会
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务