Verilog code for entity design
module satHomeworkLib(comp,L0,L1,L2,L3,L5,L6,L7,L4);
input comp,L0,L1,L2,L3;
output L4,L5,L6,L7;
wire A1,A2,A3,A4,A5,A6,A7,B1,B2,B3,B4,B5,B6,B7;
assign A1=L0;
assign A2=L1;
assign A3=L1;
assign A4=L2;
assign A5=L2;
assign A6=L3;
assign A7=L3;
assign B6=comp;
assign B7=comp;
assign B5=A6|B6;
assign B4=B5;
assign B3=A4|B4;
assign B2=B3;
assign B1=A2|B2;
assign L4=A1^B1;
assign L5=A3^B3;
assign L6=A5^B5;
assign L7=A7^B7;
endmodule
Test bench for comp=0
module test;
reg comp,L0,L1,L2,L3;
wire L4,L5,L6,L7;
satHomeworkLib uut(comp,L0,L1,L2,L3,L5,L6,L7,L4);
initial
begin
comp=0;L0=0;L1=0;L2=0;L3=0;
#100 L0=0;L1=0;L2=0;L3=1;
#100 L0=0;L1=0;L2=1;L3=0;
#100 L0=0;L1=0;L2=1;L3=1;
#100 L0=0;L1=1;L2=0;L3=0;
#100 L0=0;L1=1;L2=0;L3=1;
#100 L0=0;L1=1;L2=1;L3=0;
#100 L0=0;L1=1;L2=1;L3=1;
#100 L0=1;L1=0;L2=0;L3=0;
#100 L0=1;L1=0;L2=0;L3=1;
#100 L0=1;L1=0;L2=1;L3=0;
#100 L0=1;L1=0;L2=1;L3=1;
#100 L0=1;L1=1;L2=0;L3=0;
#100 L0=1;L1=1;L2=0;L3=1;
#100 L0=1;L1=1;L2=1;L3=0;
#100 L0=1;L1=1;L2=1;L3=1;
end
endmodule
Testbench for comp=1
module test1;
reg comp,L0,L1,L2,L3;
wire L4,L5,L6,L7;
satHomeworkLib uut(comp,L0,L1,L2,L3,L5,L6,L7,L4);
initial
begin
#100 comp=1;L0=0;L1=0;L2=0;L3=0;
#100 L0=0;L1=0;L2=0;L3=1;
#100 L0=0;L1=0;L2=1;L3=0;
#100 L0=0;L1=0;L2=1;L3=1;
#100 L0=0;L1=1;L2=0;L3=0;
#100 L0=0;L1=1;L2=0;L3=1;
#100 L0=0;L1=1;L2=1;L3=0;
#100 L0=0;L1=1;L2=1;L3=1;
#100 L0=1;L1=0;L2=0;L3=0;
#100 L0=1;L1=0;L2=0;L3=1;
#100 L0=1;L1=0;L2=1;L3=0;
#100 L0=1;L1=0;L2=1;L3=1;
#100 L0=1;L1=1;L2=0;L3=0;
#100 L0=1;L1=1;L2=0;L3=1;
#100 L0=1;L1=1;L2=1;L3=0;
#100 L0=1;L1=1;L2=1;L3=1;
end
endmodule
Waveforms for comp=0
Waveforms for comp=1
Entity design when considering delays
module satHomeworkLib(comp,L0,L1,L2,L3,L5,L6,L7,L4);
input comp,L0,L1,L2,L3;
output L4,L5,L6,L7;
wire A1,A2,A3,A4,A5,A6,A7,B1,B2,B3,B4,B5,B6,B7;
assign A1=L0;
assign A2=L1;
assign A3=L1;
assign A4=L2;
assign A5=L2;
assign A6=L3;
assign A7=L3;
assign B6=comp;
assign B7=comp;
assign#4 B5=A6|B6;
assign B4=B5;
assign#4 B3=A4|B4;
assign B2=B3;
assign#4 B1=A2|B2;
assign#10 L4=A1^B1;
assign#10 L5=A3^B3;
assign#10 L6=A5^B5;
assign#10 L7=A7^B7;
endmodule
You can use above test bench codes.
Waveforms for comp=0
Waveforms for comp=1
Q5) A combinational circuit with internal signals and signal propagation delays Shown below is a combination...