题解 | #使用子模块实现三输入数的大小比较#
使用子模块实现三输入数的大小比较
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] temp1; wire [7:0] temp2; sub_mod u1(clk,rst_n,a,b,temp1); sub_mod u2(clk,rst_n,a,c,temp2); sub_mod u3(clk,rst_n,temp1,temp2,d); endmodule module sub_mod( input clk, input rst_n, input [7:0] data_a, input [7:0] data_b, output reg [7:0] data_min ); always@(posedge clk or negedge rst_n) if(!rst_n) data_min <= 8'd0; else if(data_a<data_b) data_min <= data_a; else data_min <= data_b; endmodule
两种写法
(1)比较ac得temp1,比较ab得temp2,再比较temp1和temp2得min
(2)比较ab得temp1,给c打一拍得c1,比较temp1和c1