Professional Documents
Culture Documents
Problem 1.1 Let Be The Full 4-Bit Adder Described in The Following Verilog Module
Problem 1.1 Let Be The Full 4-Bit Adder Described in The Following Verilog Module
Problem 1.1 Let Be The Full 4-Bit Adder Described in The Following Verilog Module
Problem 1.1 Let be the full 4-bit adder described in the following Verilog module:
endmodule
Use the module fullAdder to design the following 16-bit full adder:
endmodule
The resulting project will be simulated designing the appropriate test module.
Problema 1.1
Adder.v
endmodule
wire carry ;
wire c1 ;
wire c2 ;
wire c3 ;
fullAdder f0 (
.in0(in0[3:0]) ,
.in1(in1[3:0]) ,
.crIn(crIn) ,
.out(out0) ,
.crOut (c1)
);
fullAdder f1 (
.in0(in0[7:4]) ,
.in1(in1[7:4]) ,
.crIn(c1) ,
.out(out1) ,
.crOut(c2)
);
fullAdder f2 (
.in0(in0[11:8]) ,
.in1(in1[11:8]) ,
.crIn (c2) ,
.out(out2) ,
.crOut(c3));
fullAdder f3 (
.in0(in0[15:12]) ,
.in1(in1[15:12]) ,
.crIn (c3) ,
.out(out3) ,
.crOut(carry)
);
endmodule
Adder_test.v
module Adder_test ;
reg [15:0] in0, in1;
reg crIn;
wire [15:0] out;
wire crOut;
initial
begin in0=0;
in1=0;
crIn=0;
#1 in0=16'b0000_0000_0000_0001;
#1 in1=16'b0100_0101_0000_1011;
#1 crIn=1'b0;
#1 in0=16'b1111_0010_1101_1101;
#1 crIn=1'b1;
#1 in1=16'b1101_1001_1111_1111;
end
Rezolvare:
Sistemul are 3 intrari : in1,in2 si in3 pe 8 biti si o iesire out pe 8 biti, iar modulele secundare
(mod1,mod2 si mod3) preiau ca date de intrare fie intrarile sistemului , fie intrarile transmise
prin variabilele wire1 si wire2 (care reprezinta iesire ale modulelor mod1 si mod2) sau ca in
cazul modului mod3 care preia date de pe intrarea in3 a sistemului si de pe intrarea
transmisa prin variabila wire2.
Modulele mod1,mod2 si mod3 sunt instantiate in modulul topModule.
O schema posibila pentru implementare sistemului ar fi urmatoarea: