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

Subversion Repositories openverifla

[/] [openverifla/] [trunk/] [openverifla_2.4/] [verilog/] [verifla/] [memory_of_verifla.v] - Blame information for rev 46

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 46 laurentiud
/*
2
Author: Laurentiu Duca
3
License: GNU GPL
4
*/
5
 
6
module memory_of_verifla (
7
  clk, rst_l, //clkb, 
8
  addra, wea, dina, addrb, doutb
9
);
10
 
11
`include "common_internal_verifla.v"
12
 
13
input rst_l;
14
input clk;
15
//input clkb;
16
input wea;
17
input [LA_MEM_ADDRESS_BITS-1:0] addra;
18
input [LA_MEM_ADDRESS_BITS-1:0] addrb;
19
output [LA_MEM_WORDLEN_BITS-1:0] doutb;
20
input [LA_MEM_WORDLEN_BITS-1:0] dina;
21
 
22
reg [LA_MEM_WORDLEN_BITS-1:0] mem[LA_MEM_LAST_ADDR:0];
23
 
24
//assign doutb = mem[addrb];
25
// This works too as a consequence of send_capture_of_verifla architecture.
26
reg [LA_MEM_WORDLEN_BITS-1:0] doutb;
27
always @(posedge clk or negedge rst_l)
28
if(~rst_l)
29
        doutb <= LA_MEM_EMPTY_SLOT;
30
else
31
        doutb <= mem[addrb];
32
 
33
always @(posedge clk)
34
begin
35
                if(wea) begin
36
                        mem[addra] <= dina;
37
                end
38
end
39
 
40
initial begin:INIT_SECTION
41
        integer i;
42
        for(i=0; i<=LA_MEM_LAST_ADDR; i=i+1)
43
                mem[i] <= LA_MEM_EMPTY_SLOT;
44
        //$readmemh("mem2018-2.mif", mem);      
45
end
46
 
47
endmodule
48
 

powered by: WebSVN 2.1.0

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