题解 | #使用子模块实现三输入数的大小比较#
使用子模块实现三输入数的大小比较
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]d1;
wire [7:0]d2;
sub_mod m0(
.clk(clk),
.rst_n(rst_n),
.a(a),
.b(b),
.c(d1));
sub_mod m1(
.clk(clk),
.rst_n(rst_n),
.a(b),
.b(c),
.c(d2));
sub_mod m2(
.clk(clk),
.rst_n(rst_n),
.a(d1),
.b(d2),
.c(d));
endmodule
module sub_mod(
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
