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

Subversion Repositories riscv_vhdl

[/] [riscv_vhdl/] [trunk/] [rtl/] [techmap/] [mem/] [syncram_2p_tech.vhd] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 sergeykhbr
-----------------------------------------------------------------------------
2
--! @file
3
--! @copyright  Copyright 2015 GNSS Sensor Ltd. All right reserved.
4
--! @author     Sergey Khabarov - sergeykhbr@gmail.com
5
--! @brief      Technology specific dual-port RAM.
6
------------------------------------------------------------------------------
7
 
8
library ieee;
9
use ieee.std_logic_1164.all;
10
library commonlib;
11
use commonlib.types_common.all;
12
library techmap;
13
use techmap.gencomp.all;
14
use techmap.types_mem.all;
15
 
16
entity syncram_2p_tech is
17
generic (
18
    tech : integer := 0;
19
    abits : integer := 6;
20
    dbits : integer := 8;
21
    sepclk : integer := 0;
22
    wrfst : integer := 0;
23
    testen : integer := 0;
24
    words : integer := 0;
25
    custombits : integer := 1
26
);
27
port (
28
    rclk     : in std_ulogic;
29
    renable  : in std_ulogic;
30
    raddress : in std_logic_vector((abits -1) downto 0);
31
    dataout  : out std_logic_vector((dbits -1) downto 0);
32
    wclk     : in std_ulogic;
33
    write    : in std_ulogic;
34
    waddress : in std_logic_vector((abits -1) downto 0);
35
    datain   : in std_logic_vector((dbits -1) downto 0)
36
);
37
end;
38
 
39
architecture rtl of syncram_2p_tech is
40
 
41
  component syncram_2p_inferred is
42
  generic (
43
    abits : integer := 8;
44
    dbits : integer := 32;
45
    sepclk: integer := 0
46
  );
47
  port (
48
    rclk : in std_ulogic;
49
    wclk : in std_ulogic;
50
    rdaddress: in std_logic_vector (abits -1 downto 0);
51
    wraddress: in std_logic_vector (abits -1 downto 0);
52
    data: in std_logic_vector (dbits -1 downto 0);
53
    wren : in std_ulogic;
54
    q: out std_logic_vector (dbits -1 downto 0)
55
  );
56
  end component;
57
 
58
begin
59
 
60
 
61
  inf : if tech = inferred generate
62
    x0 : syncram_2p_inferred generic map (abits, dbits, sepclk)
63
         port map (rclk, wclk, raddress, waddress, datain, write, dataout);
64
  end generate;
65
 
66
  xilinx6 : if tech = virtex6 or tech = kintex7 generate
67
    x0 : syncram_2p_inferred generic map (abits, dbits, sepclk)
68
         port map (rclk, wclk, raddress, waddress, datain, write, dataout);
69
  end generate;
70
 
71
end;
72
 

powered by: WebSVN 2.1.0

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