Catalin
Moderator
 Inregistrat: acum 18 ani
Postari: 19
|
|
module Fsumator(ci1,si,xi,yi,ci); //declar iesiri finale apoi intrari input xi,yi,ci; //declaratia intrarilor output si,ci1; //declaratia iesirilor wire w1,w2,w3; //legaturi de tip fir and(w2,xi,yi); //portile logice care intra in cadrul schemei; se trec iesirile apoi intrarile, poarta SI xor(w1,xi,yi); //poarta SAU EXCLUSIV xor(si,w1,ci); and(w3,w1,ci); or(ci1,w3,w2); //poarta SAU endmodule
module simulous; //modulul de simulare reg [3:0]a,b; //declar registrii adica intrarile cu cuvantul rezervat reg, pe 4 biti [0:3] reg cin; wire [3:0]sum; //de tip wire sunt iesirile wire cout; Fsumator fdd0(sum[0],c1,a[0],b[0],cin); //apelez de 4 ori modulul Fsumator deoarece avem sumatorul pe 4biti Fsumator fdd1(sum[1],c2,a[1],b[1],c1); Fsumator fdd3(sum[2],c3,a[2],b[2],c2); Fsumator fdd4(sum[3],cout,a[3],b[3],c3); initial begin a=4'b0000;b=4'b0000;cin=1'b0; #5 a=4'b0000;b=4'b0000;cin=1'b1; #5 a=4'b0000;b=4'b0001;cin=1'b0; #5 a=4'b0000;b=4'b0010;cin=1'b0; #5 a=4'b0000;b=4'b0011;cin=1'b0; #5 a=4'b0000;b=4'b0100;cin=1'b0; #5 a=4'b0000;b=4'b0101;cin=1'b0; #5 a=4'b0000;b=4'b0110;cin=1'b0; #5 a=4'b0000;b=4'b0111;cin=1'b0; #5 a=4'b0000;b=4'b1000;cin=1'b0; #5 a=4'b0000;b=4'b1001;cin=1'b0; #5 a=4'b0000;b=4'b1010;cin=1'b0; #5 a=4'b0000;b=4'b1011;cin=1'b0; #5 a=4'b0000;b=4'b1100;cin=1'b0; #5 a=4'b0000;b=4'b1101;cin=1'b0; #5 a=4'b0000;b=4'b1110;cin=1'b0; #5 a=4'b0000;b=4'b1111;cin=1'b0; //luam toate combinatiile de biti posibile se aplica regula 1+0=1=>cin=1 in rest cin=0 #5 a=4'b0001;b=4'b0000;cin=1'b1; #5 a=4'b0001;b=4'b0001;cin=1'b0; #5 a=4'b0001;b=4'b0010;cin=1'b0; #5 a=4'b0001;b=4'b0011;cin=1'b0; #5 a=4'b0001;b=4'b0100;cin=1'b0; #5 a=4'b0001;b=4'b0101;cin=1'b0; #5 a=4'b0001;b=4'b0110;cin=1'b0; #5 a=4'b0001;b=4'b0111;cin=1'b0; #5 a=4'b0001;b=4'b1000;cin=1'b0; #5 a=4'b0001;b=4'b1001;cin=1'b0; #5 a=4'b0001;b=4'b1010;cin=1'b0; #5 a=4'b0001;b=4'b1011;cin=1'b0; #5 a=4'b0001;b=4'b1100;cin=1'b0; #5 a=4'b0001;b=4'b1101;cin=1'b0; #5 a=4'b0001;b=4'b1110;cin=1'b0; #5 a=4'b0001;b=4'b1111;cin=1'b0;
#5 a=4'b0010;b=4'b0000;cin=1'b1; #5 a=4'b0010;b=4'b0001;cin=1'b0; #5 a=4'b0010;b=4'b0010;cin=1'b0; #5 a=4'b0010;b=4'b0011;cin=1'b0; #5 a=4'b0010;b=4'b0100;cin=1'b0; #5 a=4'b0010;b=4'b0101;cin=1'b0; #5 a=4'b0010;b=4'b0111;cin=1'b0; #5 a=4'b0010;b=4'b1000;cin=1'b0; #5 a=4'b0010;b=4'b1001;cin=1'b0; #5 a=4'b0010;b=4'b1010;cin=1'b0; #5 a=4'b0010;b=4'b1011;cin=1'b0; #5 a=4'b0010;b=4'b1100;cin=1'b0; #5 a=4'b0010;b=4'b1101;cin=1'b0; #5 a=4'b0010;b=4'b1110;cin=1'b0; #5 a=4'b0010;b=4'b1111;cin=1'b0;
#5 a=4'b0011;b=4'b0000;cin=1'b1; #5 a=4'b0011;b=4'b0001;cin=1'b0; #5 a=4'b0011;b=4'b0010;cin=1'b0; #5 a=4'b0011;b=4'b0011;cin=1'b0; #5 a=4'b0011;b=4'b0100;cin=1'b0; #5 a=4'b0011;b=4'b0101;cin=1'b0; #5 a=4'b0011;b=4'b0110;cin=1'b0; #5 a=4'b0011;b=4'b0111;cin=1'b0; #5 a=4'b0011;b=4'b1000;cin=1'b0; #5 a=4'b0011;b=4'b1001;cin=1'b0; #5 a=4'b0011;b=4'b1010;cin=1'b0; #5 a=4'b0011;b=4'b1011;cin=1'b0; #5 a=4'b0011;b=4'b1100;cin=1'b0; #5 a=4'b0011;b=4'b1101;cin=1'b0; #5 a=4'b0011;b=4'b1110;cin=1'b0; #5 a=4'b0011;b=4'b1111;cin=1'b0;
#5 a=4'b0100;b=4'b0000;cin=1'b1; #5 a=4'b0100;b=4'b0001;cin=1'b0; #5 a=4'b0100;b=4'b0010;cin=1'b0; #5 a=4'b0100;b=4'b0011;cin=1'b0; #5 a=4'b0100;b=4'b0100;cin=1'b0; #5 a=4'b0100;b=4'b0101;cin=1'b0; #5 a=4'b0100;b=4'b0110;cin=1'b0; #5 a=4'b0100;b=4'b0111;cin=1'b0;
#5 a=4'b0100;b=4'b1000;cin=1'b0; #5 a=4'b0100;b=4'b1001;cin=1'b0; #5 a=4'b0100;b=4'b1010;cin=1'b0; #5 a=4'b0100;b=4'b1011;cin=1'b0; #5 a=4'b0100;b=4'b1100;cin=1'b0; #5 a=4'b0100;b=4'b1101;cin=1'b0; #5 a=4'b0100;b=4'b1110;cin=1'b0; #5 a=4'b0100;b=4'b1111;cin=1'b0; #5 a=4'b0101;b=4'b0000;cin=1'b1; #5 a=4'b0101;b=4'b0001;cin=1'b0; #5 a=4'b0101;b=4'b0010;cin=1'b0; #5 a=4'b0101;b=4'b0011;cin=1'b0; #5 a=4'b0101;b=4'b0100;cin=1'b0; #5 a=4'b0101;b=4'b0101;cin=1'b0; #5 a=4'b0101;b=4'b0110;cin=1'b0; #5 a=4'b0101;b=4'b0111;cin=1'b0; #5 a=4'b0101;b=4'b1000;cin=1'b0; #5 a=4'b0101;b=4'b1001;cin=1'b0; #5 a=4'b0101;b=4'b1010;cin=1'b0; #5 a=4'b0101;b=4'b1011;cin=1'b0; #5 a=4'b0101;b=4'b1100;cin=1'b0; #5 a=4'b0101;b=4'b1101;cin=1'b0; #5 a=4'b0101;b=4'b1110;cin=1'b0; #5 a=4'b0101;b=4'b1111;cin=1'b0;
#5 a=4'b0110;b=4'b0000;cin=1'b1; #5 a=4'b0110;b=4'b0001;cin=1'b0; #5 a=4'b0110;b=4'b0010;cin=1'b0; #5 a=4'b0110;b=4'b0011;cin=1'b0; #5 a=4'b0110;b=4'b0100;cin=1'b0; #5 a=4'b0110;b=4'b0101;cin=1'b0; #5 a=4'b0110;b=4'b0110;cin=1'b0; #5 a=4'b0110;b=4'b0111;cin=1'b0; #5 a=4'b0110;b=4'b1000;cin=1'b0; #5 a=4'b0110;b=4'b1001;cin=1'b0; #5 a=4'b0110;b=4'b1010;cin=1'b0; #5 a=4'b0110;b=4'b1011;cin=1'b0; #5 a=4'b0110;b=4'b1100;cin=1'b0; #5 a=4'b0110;b=4'b1101;cin=1'b0; #5 a=4'b0110;b=4'b1110;cin=1'b0; #5 a=4'b0110;b=4'b1111;cin=1'b0;
#5 a=4'b0111;b=4'b0000;cin=1'b1; #5 a=4'b0111;b=4'b0001;cin=1'b0; #5 a=4'b0111;b=4'b0010;cin=1'b0; #5 a=4'b0111;b=4'b0011;cin=1'b0; #5 a=4'b0111;b=4'b0100;cin=1'b0; #5 a=4'b0111;b=4'b0101;cin=1'b0; #5 a=4'b0111;b=4'b0110;cin=1'b0; #5 a=4'b0111;b=4'b0111;cin=1'b0; #5 a=4'b0111;b=4'b1000;cin=1'b0; #5 a=4'b0111;b=4'b1001;cin=1'b0; #5 a=4'b0111;b=4'b1010;cin=1'b0; #5 a=4'b0111;b=4'b1011;cin=1'b0; #5 a=4'b0111;b=4'b1100;cin=1'b0; #5 a=4'b0111;b=4'b1101;cin=1'b0; #5 a=4'b0111;b=4'b1110;cin=1'b0; #5 a=4'b0111;b=4'b1111;cin=1'b0;
#5 a=4'b1000;b=4'b0000;cin=1'b1; #5 a=4'b1000;b=4'b0001;cin=1'b0; #5 a=4'b1000;b=4'b0010;cin=1'b0; #5 a=4'b1000;b=4'b0011;cin=1'b0; #5 a=4'b1000;b=4'b0100;cin=1'b0; #5 a=4'b1000;b=4'b0101;cin=1'b0; #5 a=4'b1000;b=4'b0110;cin=1'b0; #5 a=4'b1000;b=4'b0111;cin=1'b0; #5 a=4'b1000;b=4'b1000;cin=1'b0; #5 a=4'b1000;b=4'b1001;cin=1'b0; #5 a=4'b1000;b=4'b1010;cin=1'b0; #5 a=4'b1000;b=4'b1011;cin=1'b0; #5 a=4'b1000;b=4'b1100;cin=1'b0; #5 a=4'b1000;b=4'b1101;cin=1'b0; #5 a=4'b1000;b=4'b1110;cin=1'b0; #5 a=4'b1000;b=4'b1111;cin=1'b0;
#5 a=4'b1001;b=4'b0000;cin=1'b1; #5 a=4'b1001;b=4'b0001;cin=1'b0; #5 a=4'b1001;b=4'b0010;cin=1'b0; #5 a=4'b1001;b=4'b0011;cin=1'b0; #5 a=4'b1001;b=4'b0100;cin=1'b0; #5 a=4'b1001;b=4'b0101;cin=1'b0; #5 a=4'b1001;b=4'b0110;cin=1'b0; #5 a=4'b1001;b=4'b0111;cin=1'b0; #5 a=4'b1001;b=4'b1000;cin=1'b0; #5 a=4'b1001;b=4'b1001;cin=1'b0; #5 a=4'b1001;b=4'b1010;cin=1'b0; #5 a=4'b1001;b=4'b1011;cin=1'b0; #5 a=4'b1001;b=4'b1100;cin=1'b0; #5 a=4'b1001;b=4'b1101;cin=1'b0; #5 a=4'b1001;b=4'b1110;cin=1'b0; #5 a=4'b1001;b=4'b1111;cin=1'b0;
#5 a=4'b1010;b=4'b0000;cin=1'b1; #5 a=4'b1010;b=4'b0001;cin=1'b0; #5 a=4'b1010;b=4'b0010;cin=1'b0; #5 a=4'b1010;b=4'b0011;cin=1'b0; #5 a=4'b1010;b=4'b0100;cin=1'b0; #5 a=4'b1010;b=4'b0101;cin=1'b0; #5 a=4'b1010;b=4'b0110;cin=1'b0; #5 a=4'b1010;b=4'b0111;cin=1'b0; #5 a=4'b1010;b=4'b1000;cin=1'b0; #5 a=4'b1010;b=4'b1001;cin=1'b0; #5 a=4'b1010;b=4'b1010;cin=1'b0; #5 a=4'b1010;b=4'b1011;cin=1'b0; #5 a=4'b1010;b=4'b1100;cin=1'b0; #5 a=4'b1010;b=4'b1101;cin=1'b0; #5 a=4'b1010;b=4'b1110;cin=1'b0; #5 a=4'b1010;b=4'b1111;cin=1'b0;
#5 a=4'b1011;b=4'b0000;cin=1'b1; #5 a=4'b1011;b=4'b0001;cin=1'b0; #5 a=4'b1011;b=4'b0010;cin=1'b0; #5 a=4'b1011;b=4'b0011;cin=1'b0; #5 a=4'b1011;b=4'b0100;cin=1'b0; #5 a=4'b1011;b=4'b0101;cin=1'b0; #5 a=4'b1011;b=4'b0110;cin=1'b0; #5 a=4'b1011;b=4'b0111;cin=1'b0; #5 a=4'b1011;b=4'b1000;cin=1'b0; #5 a=4'b1011;b=4'b1001;cin=1'b0; #5 a=4'b1011;b=4'b1010;cin=1'b0; #5 a=4'b1011;b=4'b1011;cin=1'b0; #5 a=4'b1011;b=4'b1100;cin=1'b0; #5 a=4'b1011;b=4'b1101;cin=1'b0; #5 a=4'b1011;b=4'b1110;cin=1'b0; #5 a=4'b1011;b=4'b1111;cin=1'b0;
#5 a=4'b1100;b=4'b0000;cin=1'b1; #5 a=4'b1100;b=4'b0001;cin=1'b0; #5 a=4'b1100;b=4'b0010;cin=1'b0; #5 a=4'b1100;b=4'b0011;cin=1'b0; #5 a=4'b1100;b=4'b0100;cin=1'b0; #5 a=4'b1100;b=4'b0101;cin=1'b0; #5 a=4'b1100;b=4'b0110;cin=1'b0; #5 a=4'b1100;b=4'b0111;cin=1'b0; #5 a=4'b1100;b=4'b1000;cin=1'b0; #5 a=4'b1100;b=4'b1001;cin=1'b0; #5 a=4'b1100;b=4'b1010;cin=1'b0; #5 a=4'b1100;b=4'b1011;cin=1'b0; #5 a=4'b1100;b=4'b1100;cin=1'b0; #5 a=4'b1100;b=4'b1101;cin=1'b0; #5 a=4'b1100;b=4'b1110;cin=1'b0; #5 a=4'b1100;b=4'b1111;cin=1'b0;
#5 a=4'b1101;b=4'b0000;cin=1'b1; #5 a=4'b1101;b=4'b0001;cin=1'b0; #5 a=4'b1101;b=4'b0010;cin=1'b0; #5 a=4'b1101;b=4'b0011;cin=1'b0; #5 a=4'b1101;b=4'b0100;cin=1'b0; #5 a=4'b1101;b=4'b0101;cin=1'b0; #5 a=4'b1101;b=4'b0110;cin=1'b0; #5 a=4'b1101;b=4'b0111;cin=1'b0; #5 a=4'b1101;b=4'b1000;cin=1'b0; #5 a=4'b1101;b=4'b1001;cin=1'b0; #5 a=4'b1101;b=4'b1010;cin=1'b0; #5 a=4'b1101;b=4'b1011;cin=1'b0; #5 a=4'b1101;b=4'b1101;cin=1'b0; #5 a=4'b1101;b=4'b1110;cin=1'b0; #5 a=4'b1101;b=4'b1111;cin=1'b0;
#5 a=4'b1110;b=4'b0000;cin=1'b1; #5 a=4'b1110;b=4'b0001;cin=1'b0; #5 a=4'b1110;b=4'b0010;cin=1'b0; #5 a=4'b1110;b=4'b0011;cin=1'b0; #5 a=4'b1110;b=4'b0100;cin=1'b0; #5 a=4'b1110;b=4'b0101;cin=1'b0; #5 a=4'b1110;b=4'b0110;cin=1'b0; #5 a=4'b1110;b=4'b0111;cin=1'b0; #5 a=4'b1110;b=4'b1000;cin=1'b0; #5 a=4'b1110;b=4'b1001;cin=1'b0; #5 a=4'b1110;b=4'b1010;cin=1'b0; #5 a=4'b1110;b=4'b1011;cin=1'b0; #5 a=4'b1110;b=4'b1100;cin=1'b0; #5 a=4'b1110;b=4'b1101;cin=1'b0; #5 a=4'b1110;b=4'b1110;cin=1'b0; #5 a=4'b1110;b=4'b1111;cin=1'b0;
#5 a=4'b1111;b=4'b0000;cin=1'b1; #5 a=4'b1111;b=4'b0001;cin=1'b0; #5 a=4'b1111;b=4'b0010;cin=1'b0; #5 a=4'b1111;b=4'b0011;cin=1'b0; #5 a=4'b1111;b=4'b0100;cin=1'b0; #5 a=4'b1111;b=4'b0101;cin=1'b0; #5 a=4'b1111;b=4'b0110;cin=1'b0; #5 a=4'b1111;b=4'b0111;cin=1'b0; #5 a=4'b1111;b=4'b1000;cin=1'b0; #5 a=4'b1111;b=4'b1001;cin=1'b0; #5 a=4'b1111;b=4'b1010;cin=1'b0; #5 a=4'b1111;b=4'b1011;cin=1'b0; #5 a=4'b1111;b=4'b1100;cin=1'b0; #5 a=4'b1111;b=4'b1101;cin=1'b0; #5 a=4'b1111;b=4'b1110;cin=1'b0; #5 a=4'b1111;b=4'b1111;cin=1'b0; end initial $monitor($time," input %b + %b = %b transport=%b",a,b,sum,cout); ////afisare cu directiva $monitor endmodule
|
|