HDLBits练习(九)Circuits_Combinational Logic_Arithmetic Circuits

Hadd

要求:实现一个半加器

module top_module( 
    input a, b,
    output cout, sum );

    assign {cout,sum} = a + b;

endmodule

Fadd

要求:实现一个全加器

module top_module( 
    input a, b, cin,
    output cout, sum );

    assign {cout,sum} = a + b + cin;

endmodule

Adder3

要求:通过实例化3个1位全加器实现1个3位全加器

module top_module( 
    input [2:0] a, b,
    input cin,
    output [2:0] cout,
    output [2:0] sum );

full_adder full_adder_inst0(a[0],b[0],cin,cout[0],sum[0]);
full_adder full_adder_inst1(a[1],b[1],cout[0],cout[1],sum[1]);
full_adder full_adder_inst2(a[2],b[2],cout[1],cout[2],sum[2]);

endmodule

module full_adder(
    input a,b,cin,
    output cout,sum);
    
    assign {cout,sum} = a + b + cin;
    
endmodule

Adder (Exams/m2014 q4j)

要求:实现下图电路。

你可能感兴趣的:(HDLBits练习,fpga开发)