Delete dpram64.v
This commit is contained in:
parent
548f1b31d4
commit
40a1b640ec
|
@ -1,66 +0,0 @@
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
|
||||||
// Copyright 2019 Western Digital Corporation or its affiliates.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
//********************************************************************************
|
|
||||||
// $Id$
|
|
||||||
//
|
|
||||||
// Function: Basic RAM model with separate read/write ports and byte-wise write enable
|
|
||||||
// Comments:
|
|
||||||
//
|
|
||||||
//********************************************************************************
|
|
||||||
|
|
||||||
module dpram64
|
|
||||||
#(parameter SIZE=0,
|
|
||||||
parameter mem_clear = 0,
|
|
||||||
parameter memfile = "")
|
|
||||||
(input wire clk,
|
|
||||||
input wire [7:0] we,
|
|
||||||
input wire [63:0] din,
|
|
||||||
input wire [$clog2(SIZE)-1:0] waddr,
|
|
||||||
input wire [$clog2(SIZE)-1:0] raddr,
|
|
||||||
output reg [63:0] dout);
|
|
||||||
|
|
||||||
localparam AW = $clog2(SIZE);
|
|
||||||
|
|
||||||
reg [63:0] mem [0:SIZE/8-1] /* verilator public */;
|
|
||||||
|
|
||||||
integer i;
|
|
||||||
wire [AW-4:0] wadd = waddr[AW-1:3];
|
|
||||||
|
|
||||||
always @(posedge clk) begin
|
|
||||||
if (we[0]) mem[wadd][ 7: 0] <= din[ 7: 0];
|
|
||||||
if (we[1]) mem[wadd][15: 8] <= din[15: 8];
|
|
||||||
if (we[2]) mem[wadd][23:16] <= din[23:16];
|
|
||||||
if (we[3]) mem[wadd][31:24] <= din[31:24];
|
|
||||||
if (we[4]) mem[wadd][39:32] <= din[39:32];
|
|
||||||
if (we[5]) mem[wadd][47:40] <= din[47:40];
|
|
||||||
if (we[6]) mem[wadd][55:48] <= din[55:48];
|
|
||||||
if (we[7]) mem[wadd][63:56] <= din[63:56];
|
|
||||||
dout <= mem[raddr[AW-1:3]];
|
|
||||||
end
|
|
||||||
|
|
||||||
generate
|
|
||||||
initial begin
|
|
||||||
if (mem_clear)
|
|
||||||
for (i=0;i<SIZE;i=i+1)
|
|
||||||
mem[i] = 64'd0;
|
|
||||||
if(|memfile) begin
|
|
||||||
$display("Preloading %m from %s", memfile);
|
|
||||||
$readmemh(memfile, mem);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
endgenerate
|
|
||||||
|
|
||||||
endmodule
|
|
Loading…
Reference in New Issue