summaryrefslogtreecommitdiffstats
path: root/fpga/hp_lcd_driver/vram_spartan6.vhdl
blob: 801cc0aa5d4326aa40cc15a1e5416a993932725e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
library ieee;
use ieee.std_logic_1164.all;

entity vram is
    generic (
        addr_width  : natural := 17;
        video_width : natural := 2
        );
    port (
        wr_clk  : in  std_logic;
        wr_en   : in  std_logic;
        wr_addr : in  std_logic_vector(addr_width-1 downto 0);
        wr_data : in  std_logic_vector(video_width-1 downto 0);
        rd_clk  : in  std_logic;
        rd_addr : in  std_logic_vector(addr_width-1 downto 0);
        rd_data : out std_logic_vector(video_width-1 downto 0)
        );
end vram;

architecture beh of vram is
    signal wr_en_v : std_logic_vector(0 downto 0);
begin

    wr_en_v(0) <= wr_en;

    vram_impl0 : entity work.vram_spartan6_impl
        port map (
            clka  => wr_clk,
            wea   => wr_en_v,
            addra => wr_addr,
            dina  => wr_data,
            clkb  => rd_clk,
            doutb => rd_data,
            addrb => rd_addr
            );
end beh;