OpenCores
URL https://opencores.org/ocsvn/v586/v586/trunk

Subversion Repositories v586

[/] [v586/] [trunk/] [core_rtl/] [datacache.v] - Blame information for rev 121

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 121 ultro
module datacache (A,D,Q,M,WEN,clk);
2
input [9:0] A;
3
input [128+22-1:0] D;
4
output reg [128+22-1:0] Q;
5
input clk;
6
input WEN;
7
input [15:0] M;
8
 
9
reg [21:0]  MemU [1023:0];
10
reg  [7:0]  Mem1 [1023:0];
11
reg  [7:0]  Mem2 [1023:0];
12
reg  [7:0]  Mem3 [1023:0];
13
reg  [7:0]  Mem4 [1023:0];
14
reg  [7:0]  Mem5 [1023:0];
15
reg  [7:0]  Mem6 [1023:0];
16
reg  [7:0]  Mem7 [1023:0];
17
reg  [7:0]  Mem8 [1023:0];
18
reg  [7:0]  Mem9 [1023:0];
19
reg  [7:0] Mem10 [1023:0];
20
reg  [7:0] Mem11 [1023:0];
21
reg  [7:0] Mem12 [1023:0];
22
reg  [7:0] Mem13 [1023:0];
23
reg  [7:0] Mem14 [1023:0];
24
reg  [7:0] Mem15 [1023:0];
25
reg  [7:0] Mem16 [1023:0];
26
 
27
always @(posedge clk) Q <= {MemU[A],
28
                            Mem16[A],Mem15[A],Mem14[A],Mem13[A],Mem12[A],Mem11[A],Mem10[A],Mem9[A],
29
                            Mem8[A],Mem7[A],Mem6[A],Mem5[A],Mem4[A],Mem3[A],Mem2[A],Mem1[A]};
30
 
31
always @(posedge clk) if ((WEN ==0)&&(M[ 0]==1'b1)) Mem1[A]  <= D[  7:  0];
32
always @(posedge clk) if ((WEN ==0)&&(M[ 1]==1'b1)) Mem2[A]  <= D[ 15:  8];
33
always @(posedge clk) if ((WEN ==0)&&(M[ 2]==1'b1)) Mem3[A]  <= D[ 23: 16];
34
always @(posedge clk) if ((WEN ==0)&&(M[ 3]==1'b1)) Mem4[A]  <= D[ 31: 24];
35
always @(posedge clk) if ((WEN ==0)&&(M[ 4]==1'b1)) Mem5[A]  <= D[ 39: 32];
36
always @(posedge clk) if ((WEN ==0)&&(M[ 5]==1'b1)) Mem6[A]  <= D[ 47: 40];
37
always @(posedge clk) if ((WEN ==0)&&(M[ 6]==1'b1)) Mem7[A]  <= D[ 55: 48];
38
always @(posedge clk) if ((WEN ==0)&&(M[ 7]==1'b1)) Mem8[A]  <= D[ 63: 56];
39
always @(posedge clk) if ((WEN ==0)&&(M[ 8]==1'b1)) Mem9[A]  <= D[ 71: 64];
40
always @(posedge clk) if ((WEN ==0)&&(M[ 9]==1'b1)) Mem10[A] <= D[ 79: 72];
41
always @(posedge clk) if ((WEN ==0)&&(M[10]==1'b1)) Mem11[A] <= D[ 87: 80];
42
always @(posedge clk) if ((WEN ==0)&&(M[11]==1'b1)) Mem12[A] <= D[ 95: 88];
43
always @(posedge clk) if ((WEN ==0)&&(M[12]==1'b1)) Mem13[A] <= D[103: 96];
44
always @(posedge clk) if ((WEN ==0)&&(M[13]==1'b1)) Mem14[A] <= D[111:104];
45
always @(posedge clk) if ((WEN ==0)&&(M[14]==1'b1)) Mem15[A] <= D[119:112];
46
always @(posedge clk) if ((WEN ==0)&&(M[15]==1'b1)) Mem16[A] <= D[127:120];
47
always @(posedge clk) if  (WEN ==0)                  MemU[A] <= D[149:128];
48
 
49
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.