diff --git a/iverilog/tobb/lab4/bib3 b/iverilog/tobb/lab4/bib3 new file mode 100644 index 0000000..7b87e1a --- /dev/null +++ b/iverilog/tobb/lab4/bib3 @@ -0,0 +1,291 @@ +#! /usr/bin/vvp +:ivl_version "11.0 (stable)"; +:ivl_delay_selection "TYPICAL"; +:vpi_time_precision + 0; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/system.vpi"; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_sys.vpi"; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_textio.vpi"; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2005_math.vpi"; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/va_math.vpi"; +S_0x55ec90657360 .scope module, "bib3TB" "bib3TB" 2 1; + .timescale 0 0; +v0x55ec9066dea0_0 .var "A", 8 0; +v0x55ec9066df60_0 .net "Y", 3 0, v0x55ec9066dd60_0; 1 drivers +S_0x55ec906574f0 .scope module, "uut" "bib3" 2 6, 3 1 0, S_0x55ec90657360; + .timescale 0 0; + .port_info 0 /INPUT 9 "buyruk"; + .port_info 1 /OUTPUT 4 "sonuc"; +v0x55ec90618c00_0 .var/i "a", 31 0; +v0x55ec9066d8d0_0 .var/i "b", 31 0; +v0x55ec9066d9b0_0 .net "buyruk", 8 0, v0x55ec9066dea0_0; 1 drivers +v0x55ec9066da70_0 .var/i "c", 31 0; +v0x55ec9066db50_0 .var/i "count", 31 0; +v0x55ec9066dc80_0 .var/i "i", 31 0; +v0x55ec9066dd60_0 .var "sonuc", 3 0; +E_0x55ec9064fc40 .event edge, v0x55ec9066d9b0_0; + .scope S_0x55ec906574f0; +T_0 ; + %wait E_0x55ec9064fc40; + %load/vec4 v0x55ec9066d9b0_0; + %parti/s 3, 6, 4; + %dup/vec4; + %pushi/vec4 0, 0, 3; + %cmp/u; + %jmp/1 T_0.1, 6; + %dup/vec4; + %pushi/vec4 1, 0, 3; + %cmp/u; + %jmp/1 T_0.2, 6; + %dup/vec4; + %pushi/vec4 2, 0, 3; + %cmp/u; + %jmp/1 T_0.3, 6; + %dup/vec4; + %pushi/vec4 3, 0, 3; + %cmp/u; + %jmp/1 T_0.4, 6; + %dup/vec4; + %pushi/vec4 4, 0, 3; + %cmp/u; + %jmp/1 T_0.5, 6; + %dup/vec4; + %pushi/vec4 5, 0, 3; + %cmp/u; + %jmp/1 T_0.6, 6; + %dup/vec4; + %pushi/vec4 6, 0, 3; + %cmp/u; + %jmp/1 T_0.7, 6; + %dup/vec4; + %pushi/vec4 7, 0, 3; + %cmp/u; + %jmp/1 T_0.8, 6; + %pushi/vec4 0, 0, 4; + %store/vec4 v0x55ec9066dd60_0, 0, 4; + %jmp T_0.9; +T_0.1 ; + %load/vec4 v0x55ec9066d9b0_0; + %parti/s 3, 3, 3; + %pad/u 4; + %load/vec4 v0x55ec9066d9b0_0; + %parti/s 3, 0, 2; + %pad/u 4; + %add; + %store/vec4 v0x55ec9066dd60_0, 0, 4; + %jmp T_0.9; +T_0.2 ; + %load/vec4 v0x55ec9066d9b0_0; + %parti/s 3, 3, 3; + %pad/u 4; + %load/vec4 v0x55ec9066d9b0_0; + %parti/s 3, 0, 2; + %pad/u 4; + %sub; + %store/vec4 v0x55ec9066dd60_0, 0, 4; + %jmp T_0.9; +T_0.3 ; + %load/vec4 v0x55ec9066d9b0_0; + %parti/s 3, 3, 3; + %pad/u 4; + %load/vec4 v0x55ec9066d9b0_0; + %parti/s 3, 0, 2; + %pad/u 4; + %and; + %store/vec4 v0x55ec9066dd60_0, 0, 4; + %jmp T_0.9; +T_0.4 ; + %load/vec4 v0x55ec9066d9b0_0; + %parti/s 3, 3, 3; + %pad/u 4; + %load/vec4 v0x55ec9066d9b0_0; + %parti/s 3, 0, 2; + %pad/u 4; + %or; + %store/vec4 v0x55ec9066dd60_0, 0, 4; + %jmp T_0.9; +T_0.5 ; + %pushi/vec4 0, 0, 32; + %store/vec4 v0x55ec9066dc80_0, 0, 32; +T_0.10 ; + %load/vec4 v0x55ec9066dc80_0; + %cmpi/s 4, 0, 32; + %flag_or 5, 4; + %jmp/0xz T_0.11, 5; + %load/vec4 v0x55ec9066d9b0_0; + %load/vec4 v0x55ec9066dc80_0; + %part/s 1; + %load/vec4 v0x55ec9066d9b0_0; + %load/vec4 v0x55ec9066dc80_0; + %addi 1, 0, 32; + %part/s 1; + %cmp/e; + %jmp/0xz T_0.12, 4; + %pushi/vec4 15, 0, 4; + %store/vec4 v0x55ec9066dd60_0, 0, 4; + %jmp T_0.13; +T_0.12 ; + %pushi/vec4 0, 0, 4; + %store/vec4 v0x55ec9066dd60_0, 0, 4; +T_0.13 ; + ; show_stmt_assign_vector: Get l-value for compressed += operand + %load/vec4 v0x55ec9066dc80_0; + %pushi/vec4 1, 0, 32; + %add; + %store/vec4 v0x55ec9066dc80_0, 0, 32; + %jmp T_0.10; +T_0.11 ; + %jmp T_0.9; +T_0.6 ; + %pushi/vec4 0, 0, 32; + %store/vec4 v0x55ec90618c00_0, 0, 32; +T_0.14 ; + %load/vec4 v0x55ec90618c00_0; + %cmpi/s 5, 0, 32; + %flag_or 5, 4; + %jmp/0xz T_0.15, 5; + %load/vec4 v0x55ec9066d9b0_0; + %load/vec4 v0x55ec90618c00_0; + %part/s 1; + %pad/u 32; + %cmpi/e 1, 0, 32; + %jmp/0xz T_0.16, 4; + %pushi/vec4 15, 0, 4; + %store/vec4 v0x55ec9066dd60_0, 0, 4; + %jmp T_0.17; +T_0.16 ; + %pushi/vec4 0, 0, 4; + %store/vec4 v0x55ec9066dd60_0, 0, 4; +T_0.17 ; + ; show_stmt_assign_vector: Get l-value for compressed += operand + %load/vec4 v0x55ec90618c00_0; + %pushi/vec4 1, 0, 32; + %add; + %store/vec4 v0x55ec90618c00_0, 0, 32; + %jmp T_0.14; +T_0.15 ; + %jmp T_0.9; +T_0.7 ; + %pushi/vec4 0, 0, 32; + %store/vec4 v0x55ec9066db50_0, 0, 32; + %pushi/vec4 0, 0, 32; + %store/vec4 v0x55ec9066d8d0_0, 0, 32; +T_0.18 ; + %load/vec4 v0x55ec9066d8d0_0; + %cmpi/s 5, 0, 32; + %flag_or 5, 4; + %jmp/0xz T_0.19, 5; + %load/vec4 v0x55ec9066d9b0_0; + %load/vec4 v0x55ec9066d8d0_0; + %part/s 1; + %pad/u 32; + %cmpi/e 1, 0, 32; + %jmp/0xz T_0.20, 4; + %load/vec4 v0x55ec9066db50_0; + %addi 1, 0, 32; + %store/vec4 v0x55ec9066db50_0, 0, 32; +T_0.20 ; + ; show_stmt_assign_vector: Get l-value for compressed += operand + %load/vec4 v0x55ec9066d8d0_0; + %pushi/vec4 1, 0, 32; + %add; + %store/vec4 v0x55ec9066d8d0_0, 0, 32; + %jmp T_0.18; +T_0.19 ; + %load/vec4 v0x55ec9066db50_0; + %pushi/vec4 2, 0, 32; + %mod/s; + %cmpi/e 0, 0, 32; + %jmp/0xz T_0.22, 4; + %pushi/vec4 15, 0, 4; + %store/vec4 v0x55ec9066dd60_0, 0, 4; + %jmp T_0.23; +T_0.22 ; + %pushi/vec4 0, 0, 4; + %store/vec4 v0x55ec9066dd60_0, 0, 4; +T_0.23 ; + %jmp T_0.9; +T_0.8 ; + %pushi/vec4 0, 0, 32; + %store/vec4 v0x55ec9066db50_0, 0, 32; + %pushi/vec4 0, 0, 32; + %store/vec4 v0x55ec9066da70_0, 0, 32; +T_0.24 ; + %load/vec4 v0x55ec9066da70_0; + %cmpi/s 5, 0, 32; + %flag_or 5, 4; + %jmp/0xz T_0.25, 5; + %load/vec4 v0x55ec9066d9b0_0; + %load/vec4 v0x55ec9066da70_0; + %part/s 1; + %pad/u 32; + %cmpi/e 1, 0, 32; + %jmp/0xz T_0.26, 4; + ; show_stmt_assign_vector: Get l-value for compressed += operand + %load/vec4 v0x55ec9066db50_0; + %pushi/vec4 1, 0, 32; + %add; + %store/vec4 v0x55ec9066db50_0, 0, 32; +T_0.26 ; + ; show_stmt_assign_vector: Get l-value for compressed += operand + %load/vec4 v0x55ec9066da70_0; + %pushi/vec4 1, 0, 32; + %add; + %store/vec4 v0x55ec9066da70_0, 0, 32; + %jmp T_0.24; +T_0.25 ; + %load/vec4 v0x55ec9066db50_0; + %pushi/vec4 2, 0, 32; + %mod/s; + %cmpi/e 0, 0, 32; + %jmp/0xz T_0.28, 4; + %pushi/vec4 0, 0, 4; + %store/vec4 v0x55ec9066dd60_0, 0, 4; + %jmp T_0.29; +T_0.28 ; + %pushi/vec4 15, 0, 4; + %store/vec4 v0x55ec9066dd60_0, 0, 4; +T_0.29 ; + %jmp T_0.9; +T_0.9 ; + %pop/vec4 1; + %jmp T_0; + .thread T_0, $push; + .scope S_0x55ec90657360; +T_1 ; + %vpi_call 2 12 "$dumpfile", "bib3.vcd" {0 0 0}; + %vpi_call 2 13 "$dumpvars" {0 0 0}; + %pushi/vec4 9, 0, 9; + %store/vec4 v0x55ec9066dea0_0, 0, 9; + %delay 5, 0; + %pushi/vec4 97, 0, 9; + %store/vec4 v0x55ec9066dea0_0, 0, 9; + %delay 5, 0; + %pushi/vec4 165, 0, 9; + %store/vec4 v0x55ec9066dea0_0, 0, 9; + %delay 5, 0; + %pushi/vec4 227, 0, 9; + %store/vec4 v0x55ec9066dea0_0, 0, 9; + %delay 5, 0; + %pushi/vec4 319, 0, 9; + %store/vec4 v0x55ec9066dea0_0, 0, 9; + %delay 5, 0; + %pushi/vec4 289, 0, 9; + %store/vec4 v0x55ec9066dea0_0, 0, 9; + %delay 5, 0; + %pushi/vec4 353, 0, 9; + %store/vec4 v0x55ec9066dea0_0, 0, 9; + %delay 5, 0; + %pushi/vec4 417, 0, 9; + %store/vec4 v0x55ec9066dea0_0, 0, 9; + %delay 5, 0; + %pushi/vec4 481, 0, 9; + %store/vec4 v0x55ec9066dea0_0, 0, 9; + %delay 5, 0; + %end; + .thread T_1; +# The file index is used to find the file name in the following table. +:file_names 4; + "N/A"; + ""; + "bib3TB.v"; + "bib3.v"; diff --git a/iverilog/tobb/lab4/bib3.v b/iverilog/tobb/lab4/bib3.v new file mode 100644 index 0000000..6bab65b --- /dev/null +++ b/iverilog/tobb/lab4/bib3.v @@ -0,0 +1,49 @@ +module bib3 ( + input [8:0] buyruk, + output reg [3:0] sonuc +); + integer i, a, b, c, count; + always@(buyruk) begin + case (buyruk[8:6]) + default: sonuc = 4'b0000; + 3'b000: sonuc = buyruk[5:3] + buyruk[2:0]; + 3'b001: sonuc = buyruk[5:3] - buyruk[2:0]; + 3'b010: sonuc = buyruk[5:3] & buyruk[2:0]; + 3'b011: sonuc = buyruk[5:3] | buyruk[2:0]; + 3'b100: begin + for (i = 0; i <= 4; i++) + if (buyruk[i] == buyruk[i+1]) + sonuc = 4'b1111; + else + sonuc = 4'b0000; + end + 3'b101: for (a = 0; a <= 5; a++) begin + if (buyruk[a] == 1) + sonuc = 4'b1111; + else + sonuc = 4'b0000; + end + 3'b110: begin + count = 0; + for (b = 0; b <= 5; b++) begin + if (buyruk[b] == 1) + count = count + 1; + end + if (count % 2 == 0) + sonuc = 4'b1111; + else + sonuc = 4'b0000; + end + 3'b111: begin + count = 0; + for (c = 0; c <= 5; c++) + if (buyruk[c] == 1) + count++; + if (count % 2 == 0) + sonuc = 4'b0000; + else + sonuc = 4'b1111; + end + endcase + end +endmodule diff --git a/iverilog/tobb/lab4/bib3.vcd b/iverilog/tobb/lab4/bib3.vcd new file mode 100644 index 0000000..48b7b5c --- /dev/null +++ b/iverilog/tobb/lab4/bib3.vcd @@ -0,0 +1,81 @@ +$date + Sat Jan 25 01:26:43 2025 +$end +$version + Icarus Verilog +$end +$timescale + 1s +$end +$scope module bib3TB $end +$var wire 4 ! Y [3:0] $end +$var reg 9 " A [8:0] $end +$scope module uut $end +$var wire 9 # buyruk [8:0] $end +$var reg 4 $ sonuc [3:0] $end +$var integer 32 % a [31:0] $end +$var integer 32 & b [31:0] $end +$var integer 32 ' c [31:0] $end +$var integer 32 ( count [31:0] $end +$var integer 32 ) i [31:0] $end +$upscope $end +$upscope $end +$enddefinitions $end +#0 +$dumpvars +bx ) +bx ( +bx ' +bx & +bx % +b10 $ +b1001 # +b1001 " +b10 ! +$end +#5 +b11 ! +b11 $ +b1100001 " +b1100001 # +#10 +b100 ! +b100 $ +b10100101 " +b10100101 # +#15 +b111 ! +b111 $ +b11100011 " +b11100011 # +#20 +b1111 ! +b1111 $ +b101 ) +b100111111 " +b100111111 # +#25 +b0 ! +b0 $ +b101 ) +b100100001 " +b100100001 # +#30 +b1111 ! +b1111 $ +b110 % +b101100001 " +b101100001 # +#35 +b110 & +b10 ( +b110100001 " +b110100001 # +#40 +b0 ! +b0 $ +b110 ' +b10 ( +b111100001 " +b111100001 # +#45 diff --git a/iverilog/tobb/lab4/bib3TB.v b/iverilog/tobb/lab4/bib3TB.v new file mode 100644 index 0000000..a9748b7 --- /dev/null +++ b/iverilog/tobb/lab4/bib3TB.v @@ -0,0 +1,25 @@ +module bib3TB(); + +reg [8:0] A; +wire [3:0] Y; + +bib3 uut ( + .buyruk(A), + .sonuc(Y) +); + +initial begin + $dumpfile("bib3.vcd"); + $dumpvars; + A = 9'b000_001_001; #5; + A = 9'b001_100_001; #5; + A = 9'b010_100_101; #5; + A = 9'b011_100_011; #5; + A = 9'b100_111_111; #5; + A = 9'b100_100_001; #5; + A = 9'b101_100_001; #5; + A = 9'b110_100_001; #5; + A = 9'b111_100_001; #5; +end + +endmodule diff --git a/iverilog/tobb/lab4/sube3soru2 b/iverilog/tobb/lab4/sube3soru2 new file mode 100644 index 0000000..17b7d0d --- /dev/null +++ b/iverilog/tobb/lab4/sube3soru2 @@ -0,0 +1,117 @@ +#! /usr/bin/vvp +:ivl_version "11.0 (stable)"; +:ivl_delay_selection "TYPICAL"; +:vpi_time_precision + 0; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/system.vpi"; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_sys.vpi"; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_textio.vpi"; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2005_math.vpi"; +:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/va_math.vpi"; +S_0x55a0b73b0f40 .scope module, "sube3soru2TB" "sube3soru2TB" 2 1; + .timescale 0 0; +v0x55a0b73c4170_0 .var "A", 9 0; +v0x55a0b73c4250_0 .var "B", 5 0; +v0x55a0b73c4320_0 .net "D", 4 0, v0x55a0b73c3b30_0; 1 drivers +v0x55a0b73c4420_0 .net "l1", 4 0, v0x55a0b73c3d00_0; 1 drivers +v0x55a0b73c44f0_0 .net "l2", 4 0, v0x55a0b73c3e30_0; 1 drivers +S_0x55a0b73b10d0 .scope module, "uut" "sube3soru2" 2 7, 3 1 0, S_0x55a0b73b0f40; + .timescale 0 0; + .port_info 0 /INPUT 10 "A"; + .port_info 1 /INPUT 6 "B"; + .port_info 2 /OUTPUT 5 "D"; + .port_info 3 /OUTPUT 5 "l1"; + .port_info 4 /OUTPUT 5 "l2"; +v0x55a0b7376c00_0 .net "A", 9 0, v0x55a0b73c4170_0; 1 drivers +v0x55a0b73c3a50_0 .net "B", 5 0, v0x55a0b73c4250_0; 1 drivers +v0x55a0b73c3b30_0 .var "D", 4 0; +v0x55a0b73c3c20_0 .var/i "hunderedR", 31 0; +v0x55a0b73c3d00_0 .var "l1", 4 0; +v0x55a0b73c3e30_0 .var "l2", 4 0; +v0x55a0b73c3f10_0 .var/i "tempD", 31 0; +v0x55a0b73c3ff0_0 .var/i "tempO", 31 0; +E_0x55a0b73ae360 .event edge, v0x55a0b73c3a50_0, v0x55a0b7376c00_0; + .scope S_0x55a0b73b10d0; +T_0 ; + %wait E_0x55a0b73ae360; + %load/vec4 v0x55a0b7376c00_0; + %parti/s 8, 2, 3; + %pad/u 32; + %muli 100, 0, 32; + %store/vec4 v0x55a0b73c3c20_0, 0, 32; + %load/vec4 v0x55a0b7376c00_0; + %parti/s 2, 0, 2; + %dup/vec4; + %pushi/vec4 1, 0, 2; + %cmp/u; + %jmp/1 T_0.0, 6; + %dup/vec4; + %pushi/vec4 2, 0, 2; + %cmp/u; + %jmp/1 T_0.1, 6; + %dup/vec4; + %pushi/vec4 3, 0, 2; + %cmp/u; + %jmp/1 T_0.2, 6; + %pushi/vec4 0, 0, 32; + %store/vec4 v0x55a0b73c3f10_0, 0, 32; + %jmp T_0.4; +T_0.0 ; + %pushi/vec4 25, 0, 32; + %store/vec4 v0x55a0b73c3f10_0, 0, 32; + %jmp T_0.4; +T_0.1 ; + %pushi/vec4 50, 0, 32; + %store/vec4 v0x55a0b73c3f10_0, 0, 32; + %jmp T_0.4; +T_0.2 ; + %pushi/vec4 75, 0, 32; + %store/vec4 v0x55a0b73c3f10_0, 0, 32; + %jmp T_0.4; +T_0.4 ; + %pop/vec4 1; + %load/vec4 v0x55a0b73c3c20_0; + %load/vec4 v0x55a0b73c3f10_0; + %add; + %store/vec4 v0x55a0b73c3ff0_0, 0, 32; + %load/vec4 v0x55a0b73c3ff0_0; + %load/vec4 v0x55a0b73c3a50_0; + %pad/u 32; + %div; + %store/vec4 v0x55a0b73c3ff0_0, 0, 32; + %load/vec4 v0x55a0b73c3ff0_0; + %pushi/vec4 100, 0, 32; + %div/s; + %pad/s 5; + %store/vec4 v0x55a0b73c3b30_0, 0, 5; + %load/vec4 v0x55a0b73c3ff0_0; + %pushi/vec4 100, 0, 32; + %mod/s; + %pushi/vec4 10, 0, 32; + %div/s; + %pad/s 5; + %store/vec4 v0x55a0b73c3d00_0, 0, 5; + %load/vec4 v0x55a0b73c3ff0_0; + %pushi/vec4 10, 0, 32; + %mod/s; + %pad/s 5; + %store/vec4 v0x55a0b73c3e30_0, 0, 5; + %jmp T_0; + .thread T_0, $push; + .scope S_0x55a0b73b0f40; +T_1 ; + %vpi_call 2 16 "$dumpfile", "sube3soru2.vcd" {0 0 0}; + %vpi_call 2 17 "$dumpvars" {0 0 0}; + %pushi/vec4 25, 0, 10; + %store/vec4 v0x55a0b73c4170_0, 0, 10; + %pushi/vec4 3, 0, 6; + %store/vec4 v0x55a0b73c4250_0, 0, 6; + %delay 5, 0; + %vpi_call 2 19 "$finish" {0 0 0}; + %end; + .thread T_1; +# The file index is used to find the file name in the following table. +:file_names 4; + "N/A"; + ""; + "sube3soru2TB.v"; + "sube3soru2.v"; diff --git a/iverilog/tobb/lab4/sube3soru2.v b/iverilog/tobb/lab4/sube3soru2.v new file mode 100644 index 0000000..3f6c2f8 --- /dev/null +++ b/iverilog/tobb/lab4/sube3soru2.v @@ -0,0 +1,24 @@ +module sube3soru2 ( + input [9:0] A, + input [5:0] B, + output reg [4:0] D,l1,l2 +); + +integer tempD, tempO, hunderedR; + +always@(A or B) begin + hunderedR = A[9:2] * 100; + case(A[1:0]) + 2'b01: tempD = 25; + 2'b10: tempD = 50; + 2'b11: tempD = 75; + default: tempD = 00; + endcase + tempO = hunderedR + tempD; + tempO = tempO / B; + D = tempO / 100; + l1 = (tempO%100)/10; + l2 = tempO%10; +end + +endmodule diff --git a/iverilog/tobb/lab4/sube3soru2.vcd b/iverilog/tobb/lab4/sube3soru2.vcd new file mode 100644 index 0000000..8800631 --- /dev/null +++ b/iverilog/tobb/lab4/sube3soru2.vcd @@ -0,0 +1,44 @@ +$date + Sat Jan 25 03:14:14 2025 +$end +$version + Icarus Verilog +$end +$timescale + 1s +$end +$scope module sube3soru2TB $end +$var wire 5 ! l2 [4:0] $end +$var wire 5 " l1 [4:0] $end +$var wire 5 # D [4:0] $end +$var reg 10 $ A [9:0] $end +$var reg 6 % B [5:0] $end +$scope module uut $end +$var wire 10 & A [9:0] $end +$var wire 6 ' B [5:0] $end +$var reg 5 ( D [4:0] $end +$var reg 5 ) l1 [4:0] $end +$var reg 5 * l2 [4:0] $end +$var integer 32 + hunderedR [31:0] $end +$var integer 32 , tempD [31:0] $end +$var integer 32 - tempO [31:0] $end +$upscope $end +$upscope $end +$enddefinitions $end +#0 +$dumpvars +b11010000 - +b11001 , +b1001011000 + +b1000 * +b0 ) +b10 ( +b11 ' +b11001 & +b11 % +b11001 $ +b10 # +b0 " +b1000 ! +$end +#5 diff --git a/iverilog/tobb/lab4/sube3soru2TB.v b/iverilog/tobb/lab4/sube3soru2TB.v new file mode 100644 index 0000000..f180dbd --- /dev/null +++ b/iverilog/tobb/lab4/sube3soru2TB.v @@ -0,0 +1,22 @@ +module sube3soru2TB(); + +reg [9:0] A; +reg [5:0] B; +wire [4:0] D,l1,l2; + +sube3soru2 uut ( + .A(A), + .B(B), + .D(D), + .l1(l1), + .l2(l2) +); + +initial begin + $dumpfile("sube3soru2.vcd"); + $dumpvars; + A = 10'b0000011001; B = 6'b000011; #5; + $finish; +end + +endmodule