# LAB 9 ## NAME - AMAN ANAND ## ROLL NO - CS22B054 ## QUESTION NO 1 ```javascript= module alu_with_four_operation(a,b,sel,c); parameter n = 4; wire [n-1:0] x1,x2,x3,x4; input [n-1:0] a; input [n-1:0] b; input [1:0] sel; output [n-1:0] c; assign x1 = a+b; assign x2 = a-b; assign x3 = a&&b; assign x4 = a||b; multiplexer safygsf (x1,x2,x3,x4,sel,c); endmodule module multiplexer(x1,x2,x3,x4,sel,c); parameter n=4; input [n-1:0] x1,x2,x3,x4; input [1:0] sel; output [n-1:0] c; assign c = !sel[0]&!sel[1] ? x1 : sel[0]&!sel[1] ? x2 : !sel[0]&sel[1] ? x3: x4; endmodule ``` testbench ```javascript= module testBench_of_alu(); reg [3:0]a,b; reg [1:0] sel; wire [3:0]c; alu_with_four_operation fhuba (a,b,sel,c); initial begin $display("here are few test cases "); $monitor("a=%b,b=%b,sel=%b,c=%b",a,b,sel,c); a=4'b0111; b=4'b0110;sel='b00; // #100 a=4'b0100;b=4'b0100;sel='b10; #100 a=4'b0010;b=4'b0100;sel='b01; #100 a=4'b0100;b=4'b0010;sel='b11; end endmodule ``` ## QUESTION 2 code of module processor ```javascript= module pro (input [7:0] ins,output reg [7:0] out); reg [7:0] mem [255:0]; reg [7:0] register[15:0]; reg sd; initial begin mem[4]=8'b00000011; register[1] =8'b00000010; end assign sd= ins[7]; reg [1:0] ds; reg [1:0] sr; reg [2:0] off; reg [7:0] loc; always @(*) begin case(sd) 1'b0: begin ds= ins[6:5]; off= ins[4:2]; sr=ins[1:0]; loc= sr+ off; register[ds]= mem[loc]; assign out = mem[loc]; end 1'b1: begin ds= ins[6:5]; off= ins[4:2]; sr=ins[1:0]; loc= sr+ off; mem[loc]= register[ds]; assign out = mem[loc]; end endcase end endmodule ``` code of test bench ```javascript= module tb ; reg [7:0] ins; wire [7:0] out; pro sjfn(ins,out); initial begin $display("aman ka code "); $monitor("out, %b", out); ins = 8'b01101101; #5//output is 00000011 ins= 8'b10110011; #5 //output is 00000010 $finish; end endmodule ``` ## QUESTION 3 ### inscount0.log ![ 2024-04-24 at 22.07.31_ace7a99e](https://hackmd.io/_uploads/B1M2HhIWR.jpg) code ```javascript= #include<stdio.h> int main(){ printf("Hello World!!"); } ``` output ![ Image 2024-04-24 at 22.08.00_3a24586d](https://hackmd.io/_uploads/S1aq8n8WR.jpg)