123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- -- ==============================================================
- -- File generated on Wed Jun 26 16:53:30 CEST 2019
- -- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
- -- SW Build 2405991 on Thu Dec 6 23:36:41 MST 2018
- -- IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018
- -- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
- -- ==============================================================
- --
- library ieee;
- use ieee.std_logic_1164.all;
- use ieee.std_logic_unsigned.all;
- entity Loop_VConvH_proc_linebuf_0_ram is
- generic(
- MEM_TYPE : string := "block";
- DWIDTH : integer := 32;
- AWIDTH : integer := 10;
- MEM_SIZE : integer := 672
- );
- port (
- addr0 : in std_logic_vector(AWIDTH-1 downto 0);
- ce0 : in std_logic;
- q0 : out std_logic_vector(DWIDTH-1 downto 0);
- addr1 : in std_logic_vector(AWIDTH-1 downto 0);
- ce1 : in std_logic;
- d1 : in std_logic_vector(DWIDTH-1 downto 0);
- we1 : in std_logic;
- clk : in std_logic
- );
- end entity;
- architecture rtl of Loop_VConvH_proc_linebuf_0_ram is
- signal addr0_tmp : std_logic_vector(AWIDTH-1 downto 0);
- type mem_array is array (0 to MEM_SIZE-1) of std_logic_vector (DWIDTH-1 downto 0);
- shared variable ram : mem_array := (others=>(others=>'0'));
- attribute syn_ramstyle : string;
- attribute syn_ramstyle of ram : variable is "block_ram";
- attribute ram_style : string;
- attribute ram_style of ram : variable is MEM_TYPE;
- begin
- memory_access_guard_0: process (addr0)
- begin
- addr0_tmp <= addr0;
- --synthesis translate_off
- if (CONV_INTEGER(addr0) > mem_size-1) then
- addr0_tmp <= (others => '0');
- else
- addr0_tmp <= addr0;
- end if;
- --synthesis translate_on
- end process;
- p_memory_access_0: process (clk)
- begin
- if (clk'event and clk = '1') then
- if (ce0 = '1') then
- q0 <= ram(CONV_INTEGER(addr0_tmp));
- end if;
- end if;
- end process;
- p_memory_access_1: process (clk)
- begin
- if (clk'event and clk = '1') then
- if (ce1 = '1') then
- if (we1 = '1') then
- ram(CONV_INTEGER(addr1)) := d1;
- end if;
- end if;
- end if;
- end process;
- end rtl;
- Library IEEE;
- use IEEE.std_logic_1164.all;
- entity Loop_VConvH_proc_linebuf_0 is
- generic (
- DataWidth : INTEGER := 32;
- AddressRange : INTEGER := 672;
- AddressWidth : INTEGER := 10);
- port (
- reset : IN STD_LOGIC;
- clk : IN STD_LOGIC;
- address0 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
- ce0 : IN STD_LOGIC;
- q0 : OUT STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0);
- address1 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
- ce1 : IN STD_LOGIC;
- we1 : IN STD_LOGIC;
- d1 : IN STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0));
- end entity;
- architecture arch of Loop_VConvH_proc_linebuf_0 is
- component Loop_VConvH_proc_linebuf_0_ram is
- port (
- clk : IN STD_LOGIC;
- addr0 : IN STD_LOGIC_VECTOR;
- ce0 : IN STD_LOGIC;
- q0 : OUT STD_LOGIC_VECTOR;
- addr1 : IN STD_LOGIC_VECTOR;
- ce1 : IN STD_LOGIC;
- we1 : IN STD_LOGIC;
- d1 : IN STD_LOGIC_VECTOR);
- end component;
- begin
- Loop_VConvH_proc_linebuf_0_ram_U : component Loop_VConvH_proc_linebuf_0_ram
- port map (
- clk => clk,
- addr0 => address0,
- ce0 => ce0,
- q0 => q0,
- addr1 => address1,
- ce1 => ce1,
- we1 => we1,
- d1 => d1);
- end architecture;
|