// Test stimulus initial begin // Initialize inputs operand1 = 32'h12345678; operand2 = 32'h87654321; // Test LD (Load) operation operation_select = 5'b00001; // LD #20; // Test ADD operation operation_select = 5'b00011; // ADD operand1 = 32'h80000000; // Negative number operand2 = 32'h80000000; // Negative number #20; // Test SUB operation operation_select = 5'b00100; // SUB operand1 = 32'h12345678; operand2 = 32'h87654321; #20; // Test AND operation operation_select = 5'b00101; // AND operand1 = 32'hAAAAAAAA; operand2 = 32'h55555555; #20; // Test OR operation operation_select = 5'b00110; // OR operand1 = 32'hAAAAAAAA; operand2 = 32'h55555555; #20; // Test XOR operation operation_select = 5'b00111; // XOR operand1 = 32'hAAAAAAAA; operand2 = 32'h55555555; #20; // Test INV operation operation_select = 5'b01000; // INV operand1 = 32'h12345678; #20; // Test SHL operation operation_select = 5'b01001; // SHL operand1 = 32'h12345678; operand2 = 5'h05; // Shift by 5 bits #20; // Test SHR operation operation_select = 5'b01010; // SHR operand1 = 32'h12345678; operand2 = 5'h05; // Shift by 5 bits #20; // End simulation $finish; end endmodule