Line 31... |
Line 31... |
-- The "use_ofs" variant requires address adder logic, but is optimal
|
-- The "use_ofs" variant requires address adder logic, but is optimal
|
-- regarding RAM usage in case the page size is not a power of 2, because the
|
-- regarding RAM usage in case the page size is not a power of 2, because the
|
-- pages are then mapped at subsequent addresses in the buf RAM.
|
-- pages are then mapped at subsequent addresses in the buf RAM.
|
-- . The "use_adr" variant is optimal for speed, so that is set as default.
|
-- . The "use_adr" variant is optimal for speed, so that is set as default.
|
|
|
LIBRARY IEEE, technology_lib;
|
LIBRARY IEEE; --, technology_lib;
|
USE IEEE.std_logic_1164.ALL;
|
USE IEEE.std_logic_1164.ALL;
|
USE IEEE.numeric_std.ALL;
|
USE IEEE.numeric_std.ALL;
|
LIBRARY common_pkg_lib;
|
LIBRARY common_pkg_lib;
|
USE common_pkg_lib.common_pkg.ALL;
|
USE common_pkg_lib.common_pkg.ALL;
|
USE work.common_ram_pkg.ALL;
|
USE work.common_ram_pkg.ALL;
|
USE technology_lib.technology_select_pkg.ALL;
|
-- USE technology_lib.technology_select_pkg.ALL;
|
|
|
ENTITY common_paged_ram_crw_crw IS
|
ENTITY common_paged_ram_crw_crw IS
|
GENERIC (
|
GENERIC (
|
g_technology : NATURAL := c_tech_select_default;
|
g_technology : NATURAL := 0;
|
g_str : STRING := "use_adr";
|
g_str : STRING := "use_adr";
|
g_data_w : NATURAL;
|
g_data_w : NATURAL;
|
g_nof_pages : NATURAL := 2; -- >= 2
|
g_nof_pages : NATURAL := 2; -- >= 2
|
g_page_sz : NATURAL;
|
g_page_sz : NATURAL;
|
g_start_page_a : NATURAL := 0;
|
g_start_page_a : NATURAL := 0;
|