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

Subversion Repositories natalius_8bit_risc

[/] [natalius_8bit_risc/] [trunk/] [processor_core/] [LIFO.v] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 fabioandre
`timescale 1ns / 1ps
2
//////////////////////////////////////////////////////////////////////////////////
3
// Company: 
4
// Engineer: 
5
// 
6
// Create Date:    11:39:35 05/16/2012 
7
// Design Name: 
8
// Module Name:    LIFO 
9
// Project Name: 
10
// Target Devices: 
11
// Tool versions: 
12
// Description: 
13
//
14
// Dependencies: 
15
//
16
// Revision: 
17
// Revision 0.01 - File Created
18
// Additional Comments: 
19
//
20
//////////////////////////////////////////////////////////////////////////////////
21
module LIFO(
22
    input clk,
23
         input rst,
24
    input wr_en,
25
    input rd_en,
26
    input [10:0] din,
27
    output [10:0] dout
28
    );
29
 
30
 
31
   (* RAM_STYLE="DISTRIBUTED" *)
32
   reg [3:0] addr;
33
        reg [10:0] ram [15:0];
34
 
35
   always@(posedge clk)
36
                if (rst)
37
                        addr<=0;
38
                else
39
                         begin
40
                          if (wr_en==0 && rd_en==1)  //leer
41
                                        if (addr>0)
42
                                                addr<=addr-1;
43
                          if (wr_en==1 && rd_en==0)  //guardar
44
                                        if (addr<15)
45
                                                addr<=addr+1;
46
                         end
47
 
48
        always @(posedge clk)
49
      if (wr_en)
50
         ram[addr] <= din;
51
 
52
   assign dout = ram[addr];
53
 
54
endmodule

powered by: WebSVN 2.1.0

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