`timescale 1ns/1ps module alu_tb; reg [7:0] A; reg [7:0] B; reg [2:0] sel; wire [7:0] Y; wire zero; wire carry; alu uut ( .A(A), .B(B), .sel(sel), .Y(Y), .zero(zero), .carry(carry) ); initial begin A = 8'd10; B = 8'd5; sel = 3'b000; #10; // A + B = 15 sel = 3'b001; #10; // A - B = 5 sel = 3'b010; #10; // A AND B sel = 3'b011; #10; // A OR B sel = 3'b100; #10; // A XOR B sel = 3'b101; #10; // NOT A sel = 3'b110; #10; // A << 1 sel = 3'b111; #10; // A >> 1 // test carry kod sabiranja A = 8'hFF; B = 8'h01; sel = 3'b000; #10; // carry = 1, Y = 00, zero = 1 // test zero kod oduzimanja A = 8'd20; B = 8'd20; sel = 3'b001; #10; // Y = 00, zero = 1 #10; $stop; end endmodule