This document discusses various digital logic components including combinational logic gates, decoders, multiplexers, priority encoders, comparators, adders, and arithmetic logic units. It provides examples of Verilog code for 7-segment displays, decoders, and ALUs. It also outlines several logic design labs involving testing components like counters, decoders, multiplexers, and ALUs using stimulus and response monitoring.
7. LAB: Decoder
test_counter
dut
counter
Stimulus and
control
count[7:0]
clk
reset
enable
counter
Response
use led_dec
monitor
seg0
procedure
verification
timing control
led_dec
a = seg(0);
seg1
b = seg(1);
c = seg(2);
d = seg(3);
e = seg(4);
f = seg(5);
g = seg(6);
dp = seg(7)
17. ALU
aluo[4:0]
A[3:0]
B[3:0]
ALU
S[1:0]
S[1:0] A[3:0] B[3:0] aluo[4] aluo[3:0]
進位
00 A B A+B
借位
01 A B A-B
10 A B 0 A AND B
11 A B 0 A OR B
18. LAB: new project, ALU
lab2
dut
Stimulus and
control
aluo[4:0]
S[1:0]
A[3:0] ALU
B[3:0]
Response
monitor
verification
19. Appendix
ALU
module alu ( A, B, sel, aluo);
input [3:0] A, B;
input [1:0] sel;
output [4:0] aluo;
reg [4:0] aluo;
always @(A or B or sel)
begin
if (sel == 0) // how about case
aluo = A+B;
else if (sel == 1)
aluo = A-B;
else if (sel == 2)
aluo = A & B;
else
aluo = A | B;
end
endmodule