fix dcache

This commit is contained in:
Paul Pan 2021-08-02 23:49:34 +08:00
parent fa89b358df
commit e62dd7676d

View File

@ -271,386 +271,388 @@ module DCache (
wdata1[3] = dataOut[3];
wdata2[3] = port.rdata;
case (port.wstrb)
4'b1111: begin
case (addr[3:2])
2'b11: begin
wdata1[0][127:96] = port.wdata;
wdata1[1][127:96] = port.wdata;
wdata1[2][127:96] = port.wdata;
wdata1[3][127:96] = port.wdata;
end
2'b10: begin
wdata1[0][95:64] = port.wdata;
wdata1[1][95:64] = port.wdata;
wdata1[2][95:64] = port.wdata;
wdata1[3][95:64] = port.wdata;
end
2'b01: begin
wdata1[0][63:32] = port.wdata;
wdata1[1][63:32] = port.wdata;
wdata1[2][63:32] = port.wdata;
wdata1[3][63:32] = port.wdata;
end
2'b00: begin
wdata1[0][31:0] = port.wdata;
wdata1[1][31:0] = port.wdata;
wdata1[2][31:0] = port.wdata;
wdata1[3][31:0] = port.wdata;
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][127:96] = port.wdata;
wdata2[1][127:96] = port.wdata;
wdata2[2][127:96] = port.wdata;
wdata2[3][127:96] = port.wdata;
end
2'b10: begin
wdata2[0][95:64] = port.wdata;
wdata2[1][95:64] = port.wdata;
wdata2[2][95:64] = port.wdata;
wdata2[3][95:64] = port.wdata;
end
2'b01: begin
wdata2[0][63:32] = port.wdata;
wdata2[1][63:32] = port.wdata;
wdata2[2][63:32] = port.wdata;
wdata2[3][63:32] = port.wdata;
end
2'b00: begin
wdata2[0][31:0] = port.wdata;
wdata2[1][31:0] = port.wdata;
wdata2[2][31:0] = port.wdata;
wdata2[3][31:0] = port.wdata;
end
endcase
end
4'b1100: begin
case (addr[3:2])
2'b11: begin
wdata1[0][127:112] = port.wdata[31:16];
wdata1[1][127:112] = port.wdata[31:16];
wdata1[2][127:112] = port.wdata[31:16];
wdata1[3][127:112] = port.wdata[31:16];
end
2'b10: begin
wdata1[0][95:80] = port.wdata[31:16];
wdata1[1][95:80] = port.wdata[31:16];
wdata1[2][95:80] = port.wdata[31:16];
wdata1[3][95:80] = port.wdata[31:16];
end
2'b01: begin
wdata1[0][63:48] = port.wdata[31:16];
wdata1[1][63:48] = port.wdata[31:16];
wdata1[2][63:48] = port.wdata[31:16];
wdata1[3][63:48] = port.wdata[31:16];
end
2'b00: begin
wdata1[0][31:16] = port.wdata[31:16];
wdata1[1][31:16] = port.wdata[31:16];
wdata1[2][31:16] = port.wdata[31:16];
wdata1[3][31:16] = port.wdata[31:16];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][127:112] = port.wdata[31:16];
wdata2[1][127:112] = port.wdata[31:16];
wdata2[2][127:112] = port.wdata[31:16];
wdata2[3][127:112] = port.wdata[31:16];
end
2'b10: begin
wdata2[0][95:80] = port.wdata[31:16];
wdata2[1][95:80] = port.wdata[31:16];
wdata2[2][95:80] = port.wdata[31:16];
wdata2[3][95:80] = port.wdata[31:16];
end
2'b01: begin
wdata2[0][63:48] = port.wdata[31:16];
wdata2[1][63:48] = port.wdata[31:16];
wdata2[2][63:48] = port.wdata[31:16];
wdata2[3][63:48] = port.wdata[31:16];
end
2'b00: begin
wdata2[0][31:16] = port.wdata[31:16];
wdata2[1][31:16] = port.wdata[31:16];
wdata2[2][31:16] = port.wdata[31:16];
wdata2[3][31:16] = port.wdata[31:16];
end
endcase
end
4'b0011: begin
case (addr[3:2])
2'b11: begin
wdata1[0][111:96] = port.wdata[15:0];
wdata1[1][111:96] = port.wdata[15:0];
wdata1[2][111:96] = port.wdata[15:0];
wdata1[3][111:96] = port.wdata[15:0];
end
2'b10: begin
wdata1[0][79:64] = port.wdata[15:0];
wdata1[1][79:64] = port.wdata[15:0];
wdata1[2][79:64] = port.wdata[15:0];
wdata1[3][79:64] = port.wdata[15:0];
end
2'b01: begin
wdata1[0][47:32] = port.wdata[15:0];
wdata1[1][47:32] = port.wdata[15:0];
wdata1[2][47:32] = port.wdata[15:0];
wdata1[3][47:32] = port.wdata[15:0];
end
2'b00: begin
wdata1[0][15:0] = port.wdata[15:0];
wdata1[1][15:0] = port.wdata[15:0];
wdata1[2][15:0] = port.wdata[15:0];
wdata1[3][15:0] = port.wdata[15:0];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][111:96] = port.wdata[15:0];
wdata2[1][111:96] = port.wdata[15:0];
wdata2[2][111:96] = port.wdata[15:0];
wdata2[3][111:96] = port.wdata[15:0];
end
2'b10: begin
wdata2[0][79:64] = port.wdata[15:0];
wdata2[1][79:64] = port.wdata[15:0];
wdata2[2][79:64] = port.wdata[15:0];
wdata2[3][79:64] = port.wdata[15:0];
end
2'b01: begin
wdata2[0][47:32] = port.wdata[15:0];
wdata2[1][47:32] = port.wdata[15:0];
wdata2[2][47:32] = port.wdata[15:0];
wdata2[3][47:32] = port.wdata[15:0];
end
2'b00: begin
wdata2[0][15:0] = port.wdata[15:0];
wdata2[1][15:0] = port.wdata[15:0];
wdata2[2][15:0] = port.wdata[15:0];
wdata2[3][15:0] = port.wdata[15:0];
end
endcase
end
4'b1000: begin
case (addr[3:2])
2'b11: begin
wdata1[0][127:120] = port.wdata[31:24];
wdata1[1][127:120] = port.wdata[31:24];
wdata1[2][127:120] = port.wdata[31:24];
wdata1[3][127:120] = port.wdata[31:24];
end
2'b10: begin
wdata1[0][95:88] = port.wdata[31:24];
wdata1[1][95:88] = port.wdata[31:24];
wdata1[2][95:88] = port.wdata[31:24];
wdata1[3][95:88] = port.wdata[31:24];
end
2'b01: begin
wdata1[0][63:56] = port.wdata[31:24];
wdata1[1][63:56] = port.wdata[31:24];
wdata1[2][63:56] = port.wdata[31:24];
wdata1[3][63:56] = port.wdata[31:24];
end
2'b00: begin
wdata1[0][31:24] = port.wdata[31:24];
wdata1[1][31:24] = port.wdata[31:24];
wdata1[2][31:24] = port.wdata[31:24];
wdata1[3][31:24] = port.wdata[31:24];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][127:120] = port.wdata[31:24];
wdata2[1][127:120] = port.wdata[31:24];
wdata2[2][127:120] = port.wdata[31:24];
wdata2[3][127:120] = port.wdata[31:24];
end
2'b10: begin
wdata2[0][95:88] = port.wdata[31:24];
wdata2[1][95:88] = port.wdata[31:24];
wdata2[2][95:88] = port.wdata[31:24];
wdata2[3][95:88] = port.wdata[31:24];
end
2'b01: begin
wdata2[0][63:56] = port.wdata[31:24];
wdata2[1][63:56] = port.wdata[31:24];
wdata2[2][63:56] = port.wdata[31:24];
wdata2[3][63:56] = port.wdata[31:24];
end
2'b00: begin
wdata2[0][31:24] = port.wdata[31:24];
wdata2[1][31:24] = port.wdata[31:24];
wdata2[2][31:24] = port.wdata[31:24];
wdata2[3][31:24] = port.wdata[31:24];
end
endcase
end
4'b0100: begin
case (addr[3:2])
2'b11: begin
wdata1[0][119:112] = port.wdata[23:16];
wdata1[1][119:112] = port.wdata[23:16];
wdata1[2][119:112] = port.wdata[23:16];
wdata1[3][119:112] = port.wdata[23:16];
end
2'b10: begin
wdata1[0][87:80] = port.wdata[23:16];
wdata1[1][87:80] = port.wdata[23:16];
wdata1[2][87:80] = port.wdata[23:16];
wdata1[3][87:80] = port.wdata[23:16];
end
2'b01: begin
wdata1[0][55:48] = port.wdata[23:16];
wdata1[1][55:48] = port.wdata[23:16];
wdata1[2][55:48] = port.wdata[23:16];
wdata1[3][55:48] = port.wdata[23:16];
end
2'b00: begin
wdata1[0][23:16] = port.wdata[23:16];
wdata1[1][23:16] = port.wdata[23:16];
wdata1[2][23:16] = port.wdata[23:16];
wdata1[3][23:16] = port.wdata[23:16];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][119:112] = port.wdata[23:16];
wdata2[1][119:112] = port.wdata[23:16];
wdata2[2][119:112] = port.wdata[23:16];
wdata2[3][119:112] = port.wdata[23:16];
end
2'b10: begin
wdata2[0][87:80] = port.wdata[23:16];
wdata2[1][87:80] = port.wdata[23:16];
wdata2[2][87:80] = port.wdata[23:16];
wdata2[3][87:80] = port.wdata[23:16];
end
2'b01: begin
wdata2[0][55:48] = port.wdata[23:16];
wdata2[1][55:48] = port.wdata[23:16];
wdata2[2][55:48] = port.wdata[23:16];
wdata2[3][55:48] = port.wdata[23:16];
end
2'b00: begin
wdata2[0][23:16] = port.wdata[23:16];
wdata2[1][23:16] = port.wdata[23:16];
wdata2[2][23:16] = port.wdata[23:16];
wdata2[3][23:16] = port.wdata[23:16];
end
endcase
end
4'b0010: begin
case (addr[3:2])
2'b11: begin
wdata1[0][111:104] = port.wdata[15:8];
wdata1[1][111:104] = port.wdata[15:8];
wdata1[2][111:104] = port.wdata[15:8];
wdata1[3][111:104] = port.wdata[15:8];
end
2'b10: begin
wdata1[0][79:72] = port.wdata[15:8];
wdata1[1][79:72] = port.wdata[15:8];
wdata1[2][79:72] = port.wdata[15:8];
wdata1[3][79:72] = port.wdata[15:8];
end
2'b01: begin
wdata1[0][47:40] = port.wdata[15:8];
wdata1[1][47:40] = port.wdata[15:8];
wdata1[2][47:40] = port.wdata[15:8];
wdata1[3][47:40] = port.wdata[15:8];
end
2'b00: begin
wdata1[0][15:8] = port.wdata[15:8];
wdata1[1][15:8] = port.wdata[15:8];
wdata1[2][15:8] = port.wdata[15:8];
wdata1[3][15:8] = port.wdata[15:8];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][111:104] = port.wdata[15:8];
wdata2[1][111:104] = port.wdata[15:8];
wdata2[2][111:104] = port.wdata[15:8];
wdata2[3][111:104] = port.wdata[15:8];
end
2'b10: begin
wdata2[0][79:72] = port.wdata[15:8];
wdata2[1][79:72] = port.wdata[15:8];
wdata2[2][79:72] = port.wdata[15:8];
wdata2[3][79:72] = port.wdata[15:8];
end
2'b01: begin
wdata2[0][47:40] = port.wdata[15:8];
wdata2[1][47:40] = port.wdata[15:8];
wdata2[2][47:40] = port.wdata[15:8];
wdata2[3][47:40] = port.wdata[15:8];
end
2'b00: begin
wdata2[0][15:8] = port.wdata[15:8];
wdata2[1][15:8] = port.wdata[15:8];
wdata2[2][15:8] = port.wdata[15:8];
wdata2[3][15:8] = port.wdata[15:8];
end
endcase
end
4'b0001: begin
case (addr[3:2])
2'b11: begin
wdata1[0][103:96] = port.wdata[7:0];
wdata1[1][103:96] = port.wdata[7:0];
wdata1[2][103:96] = port.wdata[7:0];
wdata1[3][103:96] = port.wdata[7:0];
end
2'b10: begin
wdata1[0][71:64] = port.wdata[7:0];
wdata1[1][71:64] = port.wdata[7:0];
wdata1[2][71:64] = port.wdata[7:0];
wdata1[3][71:64] = port.wdata[7:0];
end
2'b01: begin
wdata1[0][39:32] = port.wdata[7:0];
wdata1[1][39:32] = port.wdata[7:0];
wdata1[2][39:32] = port.wdata[7:0];
wdata1[3][39:32] = port.wdata[7:0];
end
2'b00: begin
wdata1[0][7:0] = port.wdata[7:0];
wdata1[1][7:0] = port.wdata[7:0];
wdata1[2][7:0] = port.wdata[7:0];
wdata1[3][7:0] = port.wdata[7:0];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][103:96] = port.wdata[7:0];
wdata2[1][103:96] = port.wdata[7:0];
wdata2[2][103:96] = port.wdata[7:0];
wdata2[3][103:96] = port.wdata[7:0];
end
2'b10: begin
wdata2[0][71:64] = port.wdata[7:0];
wdata2[1][71:64] = port.wdata[7:0];
wdata2[2][71:64] = port.wdata[7:0];
wdata2[3][71:64] = port.wdata[7:0];
end
2'b01: begin
wdata2[0][39:32] = port.wdata[7:0];
wdata2[1][39:32] = port.wdata[7:0];
wdata2[2][39:32] = port.wdata[7:0];
wdata2[3][39:32] = port.wdata[7:0];
end
2'b00: begin
wdata2[0][7:0] = port.wdata[7:0];
wdata2[1][7:0] = port.wdata[7:0];
wdata2[2][7:0] = port.wdata[7:0];
wdata2[3][7:0] = port.wdata[7:0];
end
endcase
end
endcase
if (port.wvalid) begin
case (port.wstrb)
4'b1111: begin
case (addr[3:2])
2'b11: begin
wdata1[0][127:96] = port.wdata;
wdata1[1][127:96] = port.wdata;
wdata1[2][127:96] = port.wdata;
wdata1[3][127:96] = port.wdata;
end
2'b10: begin
wdata1[0][95:64] = port.wdata;
wdata1[1][95:64] = port.wdata;
wdata1[2][95:64] = port.wdata;
wdata1[3][95:64] = port.wdata;
end
2'b01: begin
wdata1[0][63:32] = port.wdata;
wdata1[1][63:32] = port.wdata;
wdata1[2][63:32] = port.wdata;
wdata1[3][63:32] = port.wdata;
end
2'b00: begin
wdata1[0][31:0] = port.wdata;
wdata1[1][31:0] = port.wdata;
wdata1[2][31:0] = port.wdata;
wdata1[3][31:0] = port.wdata;
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][127:96] = port.wdata;
wdata2[1][127:96] = port.wdata;
wdata2[2][127:96] = port.wdata;
wdata2[3][127:96] = port.wdata;
end
2'b10: begin
wdata2[0][95:64] = port.wdata;
wdata2[1][95:64] = port.wdata;
wdata2[2][95:64] = port.wdata;
wdata2[3][95:64] = port.wdata;
end
2'b01: begin
wdata2[0][63:32] = port.wdata;
wdata2[1][63:32] = port.wdata;
wdata2[2][63:32] = port.wdata;
wdata2[3][63:32] = port.wdata;
end
2'b00: begin
wdata2[0][31:0] = port.wdata;
wdata2[1][31:0] = port.wdata;
wdata2[2][31:0] = port.wdata;
wdata2[3][31:0] = port.wdata;
end
endcase
end
4'b1100: begin
case (addr[3:2])
2'b11: begin
wdata1[0][127:112] = port.wdata[31:16];
wdata1[1][127:112] = port.wdata[31:16];
wdata1[2][127:112] = port.wdata[31:16];
wdata1[3][127:112] = port.wdata[31:16];
end
2'b10: begin
wdata1[0][95:80] = port.wdata[31:16];
wdata1[1][95:80] = port.wdata[31:16];
wdata1[2][95:80] = port.wdata[31:16];
wdata1[3][95:80] = port.wdata[31:16];
end
2'b01: begin
wdata1[0][63:48] = port.wdata[31:16];
wdata1[1][63:48] = port.wdata[31:16];
wdata1[2][63:48] = port.wdata[31:16];
wdata1[3][63:48] = port.wdata[31:16];
end
2'b00: begin
wdata1[0][31:16] = port.wdata[31:16];
wdata1[1][31:16] = port.wdata[31:16];
wdata1[2][31:16] = port.wdata[31:16];
wdata1[3][31:16] = port.wdata[31:16];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][127:112] = port.wdata[31:16];
wdata2[1][127:112] = port.wdata[31:16];
wdata2[2][127:112] = port.wdata[31:16];
wdata2[3][127:112] = port.wdata[31:16];
end
2'b10: begin
wdata2[0][95:80] = port.wdata[31:16];
wdata2[1][95:80] = port.wdata[31:16];
wdata2[2][95:80] = port.wdata[31:16];
wdata2[3][95:80] = port.wdata[31:16];
end
2'b01: begin
wdata2[0][63:48] = port.wdata[31:16];
wdata2[1][63:48] = port.wdata[31:16];
wdata2[2][63:48] = port.wdata[31:16];
wdata2[3][63:48] = port.wdata[31:16];
end
2'b00: begin
wdata2[0][31:16] = port.wdata[31:16];
wdata2[1][31:16] = port.wdata[31:16];
wdata2[2][31:16] = port.wdata[31:16];
wdata2[3][31:16] = port.wdata[31:16];
end
endcase
end
4'b0011: begin
case (addr[3:2])
2'b11: begin
wdata1[0][111:96] = port.wdata[15:0];
wdata1[1][111:96] = port.wdata[15:0];
wdata1[2][111:96] = port.wdata[15:0];
wdata1[3][111:96] = port.wdata[15:0];
end
2'b10: begin
wdata1[0][79:64] = port.wdata[15:0];
wdata1[1][79:64] = port.wdata[15:0];
wdata1[2][79:64] = port.wdata[15:0];
wdata1[3][79:64] = port.wdata[15:0];
end
2'b01: begin
wdata1[0][47:32] = port.wdata[15:0];
wdata1[1][47:32] = port.wdata[15:0];
wdata1[2][47:32] = port.wdata[15:0];
wdata1[3][47:32] = port.wdata[15:0];
end
2'b00: begin
wdata1[0][15:0] = port.wdata[15:0];
wdata1[1][15:0] = port.wdata[15:0];
wdata1[2][15:0] = port.wdata[15:0];
wdata1[3][15:0] = port.wdata[15:0];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][111:96] = port.wdata[15:0];
wdata2[1][111:96] = port.wdata[15:0];
wdata2[2][111:96] = port.wdata[15:0];
wdata2[3][111:96] = port.wdata[15:0];
end
2'b10: begin
wdata2[0][79:64] = port.wdata[15:0];
wdata2[1][79:64] = port.wdata[15:0];
wdata2[2][79:64] = port.wdata[15:0];
wdata2[3][79:64] = port.wdata[15:0];
end
2'b01: begin
wdata2[0][47:32] = port.wdata[15:0];
wdata2[1][47:32] = port.wdata[15:0];
wdata2[2][47:32] = port.wdata[15:0];
wdata2[3][47:32] = port.wdata[15:0];
end
2'b00: begin
wdata2[0][15:0] = port.wdata[15:0];
wdata2[1][15:0] = port.wdata[15:0];
wdata2[2][15:0] = port.wdata[15:0];
wdata2[3][15:0] = port.wdata[15:0];
end
endcase
end
4'b1000: begin
case (addr[3:2])
2'b11: begin
wdata1[0][127:120] = port.wdata[31:24];
wdata1[1][127:120] = port.wdata[31:24];
wdata1[2][127:120] = port.wdata[31:24];
wdata1[3][127:120] = port.wdata[31:24];
end
2'b10: begin
wdata1[0][95:88] = port.wdata[31:24];
wdata1[1][95:88] = port.wdata[31:24];
wdata1[2][95:88] = port.wdata[31:24];
wdata1[3][95:88] = port.wdata[31:24];
end
2'b01: begin
wdata1[0][63:56] = port.wdata[31:24];
wdata1[1][63:56] = port.wdata[31:24];
wdata1[2][63:56] = port.wdata[31:24];
wdata1[3][63:56] = port.wdata[31:24];
end
2'b00: begin
wdata1[0][31:24] = port.wdata[31:24];
wdata1[1][31:24] = port.wdata[31:24];
wdata1[2][31:24] = port.wdata[31:24];
wdata1[3][31:24] = port.wdata[31:24];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][127:120] = port.wdata[31:24];
wdata2[1][127:120] = port.wdata[31:24];
wdata2[2][127:120] = port.wdata[31:24];
wdata2[3][127:120] = port.wdata[31:24];
end
2'b10: begin
wdata2[0][95:88] = port.wdata[31:24];
wdata2[1][95:88] = port.wdata[31:24];
wdata2[2][95:88] = port.wdata[31:24];
wdata2[3][95:88] = port.wdata[31:24];
end
2'b01: begin
wdata2[0][63:56] = port.wdata[31:24];
wdata2[1][63:56] = port.wdata[31:24];
wdata2[2][63:56] = port.wdata[31:24];
wdata2[3][63:56] = port.wdata[31:24];
end
2'b00: begin
wdata2[0][31:24] = port.wdata[31:24];
wdata2[1][31:24] = port.wdata[31:24];
wdata2[2][31:24] = port.wdata[31:24];
wdata2[3][31:24] = port.wdata[31:24];
end
endcase
end
4'b0100: begin
case (addr[3:2])
2'b11: begin
wdata1[0][119:112] = port.wdata[23:16];
wdata1[1][119:112] = port.wdata[23:16];
wdata1[2][119:112] = port.wdata[23:16];
wdata1[3][119:112] = port.wdata[23:16];
end
2'b10: begin
wdata1[0][87:80] = port.wdata[23:16];
wdata1[1][87:80] = port.wdata[23:16];
wdata1[2][87:80] = port.wdata[23:16];
wdata1[3][87:80] = port.wdata[23:16];
end
2'b01: begin
wdata1[0][55:48] = port.wdata[23:16];
wdata1[1][55:48] = port.wdata[23:16];
wdata1[2][55:48] = port.wdata[23:16];
wdata1[3][55:48] = port.wdata[23:16];
end
2'b00: begin
wdata1[0][23:16] = port.wdata[23:16];
wdata1[1][23:16] = port.wdata[23:16];
wdata1[2][23:16] = port.wdata[23:16];
wdata1[3][23:16] = port.wdata[23:16];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][119:112] = port.wdata[23:16];
wdata2[1][119:112] = port.wdata[23:16];
wdata2[2][119:112] = port.wdata[23:16];
wdata2[3][119:112] = port.wdata[23:16];
end
2'b10: begin
wdata2[0][87:80] = port.wdata[23:16];
wdata2[1][87:80] = port.wdata[23:16];
wdata2[2][87:80] = port.wdata[23:16];
wdata2[3][87:80] = port.wdata[23:16];
end
2'b01: begin
wdata2[0][55:48] = port.wdata[23:16];
wdata2[1][55:48] = port.wdata[23:16];
wdata2[2][55:48] = port.wdata[23:16];
wdata2[3][55:48] = port.wdata[23:16];
end
2'b00: begin
wdata2[0][23:16] = port.wdata[23:16];
wdata2[1][23:16] = port.wdata[23:16];
wdata2[2][23:16] = port.wdata[23:16];
wdata2[3][23:16] = port.wdata[23:16];
end
endcase
end
4'b0010: begin
case (addr[3:2])
2'b11: begin
wdata1[0][111:104] = port.wdata[15:8];
wdata1[1][111:104] = port.wdata[15:8];
wdata1[2][111:104] = port.wdata[15:8];
wdata1[3][111:104] = port.wdata[15:8];
end
2'b10: begin
wdata1[0][79:72] = port.wdata[15:8];
wdata1[1][79:72] = port.wdata[15:8];
wdata1[2][79:72] = port.wdata[15:8];
wdata1[3][79:72] = port.wdata[15:8];
end
2'b01: begin
wdata1[0][47:40] = port.wdata[15:8];
wdata1[1][47:40] = port.wdata[15:8];
wdata1[2][47:40] = port.wdata[15:8];
wdata1[3][47:40] = port.wdata[15:8];
end
2'b00: begin
wdata1[0][15:8] = port.wdata[15:8];
wdata1[1][15:8] = port.wdata[15:8];
wdata1[2][15:8] = port.wdata[15:8];
wdata1[3][15:8] = port.wdata[15:8];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][111:104] = port.wdata[15:8];
wdata2[1][111:104] = port.wdata[15:8];
wdata2[2][111:104] = port.wdata[15:8];
wdata2[3][111:104] = port.wdata[15:8];
end
2'b10: begin
wdata2[0][79:72] = port.wdata[15:8];
wdata2[1][79:72] = port.wdata[15:8];
wdata2[2][79:72] = port.wdata[15:8];
wdata2[3][79:72] = port.wdata[15:8];
end
2'b01: begin
wdata2[0][47:40] = port.wdata[15:8];
wdata2[1][47:40] = port.wdata[15:8];
wdata2[2][47:40] = port.wdata[15:8];
wdata2[3][47:40] = port.wdata[15:8];
end
2'b00: begin
wdata2[0][15:8] = port.wdata[15:8];
wdata2[1][15:8] = port.wdata[15:8];
wdata2[2][15:8] = port.wdata[15:8];
wdata2[3][15:8] = port.wdata[15:8];
end
endcase
end
4'b0001: begin
case (addr[3:2])
2'b11: begin
wdata1[0][103:96] = port.wdata[7:0];
wdata1[1][103:96] = port.wdata[7:0];
wdata1[2][103:96] = port.wdata[7:0];
wdata1[3][103:96] = port.wdata[7:0];
end
2'b10: begin
wdata1[0][71:64] = port.wdata[7:0];
wdata1[1][71:64] = port.wdata[7:0];
wdata1[2][71:64] = port.wdata[7:0];
wdata1[3][71:64] = port.wdata[7:0];
end
2'b01: begin
wdata1[0][39:32] = port.wdata[7:0];
wdata1[1][39:32] = port.wdata[7:0];
wdata1[2][39:32] = port.wdata[7:0];
wdata1[3][39:32] = port.wdata[7:0];
end
2'b00: begin
wdata1[0][7:0] = port.wdata[7:0];
wdata1[1][7:0] = port.wdata[7:0];
wdata1[2][7:0] = port.wdata[7:0];
wdata1[3][7:0] = port.wdata[7:0];
end
endcase
case (addr[3:2])
2'b11: begin
wdata2[0][103:96] = port.wdata[7:0];
wdata2[1][103:96] = port.wdata[7:0];
wdata2[2][103:96] = port.wdata[7:0];
wdata2[3][103:96] = port.wdata[7:0];
end
2'b10: begin
wdata2[0][71:64] = port.wdata[7:0];
wdata2[1][71:64] = port.wdata[7:0];
wdata2[2][71:64] = port.wdata[7:0];
wdata2[3][71:64] = port.wdata[7:0];
end
2'b01: begin
wdata2[0][39:32] = port.wdata[7:0];
wdata2[1][39:32] = port.wdata[7:0];
wdata2[2][39:32] = port.wdata[7:0];
wdata2[3][39:32] = port.wdata[7:0];
end
2'b00: begin
wdata2[0][7:0] = port.wdata[7:0];
wdata2[1][7:0] = port.wdata[7:0];
wdata2[2][7:0] = port.wdata[7:0];
wdata2[3][7:0] = port.wdata[7:0];
end
endcase
end
endcase
end
end
cache_tagd_bram tag_ram0 (