diff --git a/README.md b/README.md
index 4a8aab4..0761c19 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # BrqRV EB1 RISC-V Core 1.0 from MERL
 
-This repository contains the brqrv eb1 Core design RTL. Brqrv Eb1 Is A Machine-Mode (M-Mode) Only, 32-Bit Cpu Small Core Which Supports Risc-V’s Integer (I), Compressed Instruction (C), Multiplication And Division (M), And Instruction-Fetch Fence, And Csr Extensions. The Core Contains A 4-Stage, Scalar, In-Order Pipeline
+This repository contains the BrqRV EB1 Core design RTL. BrqRV EB1 Is A Machine-Mode (M-Mode) Only, 32-Bit Cpu Small Core Which Supports Risc-V’s Integer (I), Compressed Instruction (C), Multiplication And Division (M), And Instruction-Fetch Fence, And Csr Extensions. The Core Contains A 4-Stage, Scalar, In-Order Pipeline
 
 ## Block Diagram
 ![](docs/BrqRV_EB1.png)
@@ -61,4 +61,4 @@
 4. run the make commad for RTL simulation
 5. run the SIM=GL make command for netlist simulation
 
-Note: Dont forget to add 0x00000FFF instruction in the end of the uart.hex to stop the uart transmission if you are using your own codes.
+Note: Dont forget to add 00000FFF instruction in the end of the uart.hex to stop the uart transmission if you are using your own codes.
diff --git a/info.yaml b/info.yaml
index fd4a6a9..87a7136 100644
--- a/info.yaml
+++ b/info.yaml
@@ -1,6 +1,6 @@
 ---
 project:
-  description: "A template SoC for Google sponsored Open MPW shuttles for SKY130."
+  description: "A Small SoC for Google sponsored Open MPW shuttles for SKY130."
   foundry: "SkyWater"
   git_url: "https://github.com/HamzaShabbir517/caravel_BrqRV_EB1.git"
   organization: "Micro Electronics Research Lab (MERL)"
diff --git a/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v b/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v
index 742022e..5c88d59 100644
--- a/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v
+++ b/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v
@@ -11832,13 +11832,15 @@
 		found = 1'b0;
 		begin : sv2v_autoblock_42
 			reg signed [31:0] i;
-			for (i = 0; (i < 32) && (found == 0); i = i + 1)
-				if (bitmanip_lzd_os[31] == 1'b0) begin
-					bitmanip_dw_lzd_enc[5:0] = bitmanip_dw_lzd_enc[5:0] + 6'b000001;
-					bitmanip_lzd_os[31:0] = bitmanip_lzd_os[31:0] << 1;
+			for (i = 0; (i < 32); i = i + 1)
+				if(found == 0) begin
+					if (bitmanip_lzd_os[31] == 1'b0) begin
+						bitmanip_dw_lzd_enc[5:0] = bitmanip_dw_lzd_enc[5:0] + 6'b000001;
+						bitmanip_lzd_os[31:0] = bitmanip_lzd_os[31:0] << 1;
+					end
+					else
+						found = 1'b1;
 				end
-				else
-					found = 1'b1;
 		end
 	end
 	assign bitmanip_clz_ctz_result[5:0] = {6 {bitmanip_clz_ctz_sel}} & {bitmanip_dw_lzd_enc[5], {5 {~bitmanip_dw_lzd_enc[5]}} & bitmanip_dw_lzd_enc[4:0]};
@@ -14873,7 +14875,7 @@
 				begin : sv2v_autoblock_43
 					reg signed [31:0] j;
 					for (j = 0; j < LRU_SIZE; j = j + 1)
-						if (btb_rd_addr_f[pt[2172-:9]:pt[2163-:6]] == sv2v_cast_C4842_signed(j)) begin
+						if (btb_rd_addr_f[pt[2172-:9]:pt[2163-:6]] == j[6:0]) begin
 							btb_bank0_rd_data_way0_f[BTB_DWIDTH - 1:0] = btb_bank0_rd_data_way0_out[j * BTB_DWIDTH+:BTB_DWIDTH];
 							btb_bank0_rd_data_way1_f[BTB_DWIDTH - 1:0] = btb_bank0_rd_data_way1_out[j * BTB_DWIDTH+:BTB_DWIDTH];
 						end
@@ -14881,7 +14883,7 @@
 				begin : sv2v_autoblock_44
 					reg signed [31:0] j;
 					for (j = 0; j < LRU_SIZE; j = j + 1)
-						if (btb_rd_addr_p1_f[pt[2172-:9]:pt[2163-:6]] == sv2v_cast_C4842_signed(j)) begin
+						if (btb_rd_addr_p1_f[pt[2172-:9]:pt[2163-:6]] == j[6:0]) begin
 							btb_bank0_rd_data_way0_p1_f[BTB_DWIDTH - 1:0] = btb_bank0_rd_data_way0_out[j * BTB_DWIDTH+:BTB_DWIDTH];
 							btb_bank0_rd_data_way1_p1_f[BTB_DWIDTH - 1:0] = btb_bank0_rd_data_way1_out[j * BTB_DWIDTH+:BTB_DWIDTH];
 						end
