Line 16... |
Line 16... |
-- See the License for the specific language governing permissions and
|
-- See the License for the specific language governing permissions and
|
-- limitations under the License.
|
-- limitations under the License.
|
--
|
--
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
|
|
LIBRARY IEEE, common_pkg_lib, common_components_lib, technology_lib, tech_ram_lib;
|
LIBRARY IEEE, common_pkg_lib, common_components_lib;
|
USE IEEE.std_logic_1164.ALL;
|
USE IEEE.std_logic_1164.ALL;
|
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_ram_crw_crw IS
|
ENTITY common_ram_crw_crw IS
|
GENERIC (
|
GENERIC (
|
g_technology : NATURAL := c_tech_select_default;
|
g_technology : NATURAL := 0;
|
g_ram : t_c_mem := c_mem_ram;
|
g_ram : t_c_mem := c_mem_ram;
|
g_init_file : STRING := "UNUSED";
|
g_init_file : STRING := "UNUSED";
|
g_true_dual_port : BOOLEAN := TRUE
|
g_true_dual_port : BOOLEAN := TRUE
|
);
|
);
|
PORT (
|
PORT (
|
Line 75... |
Line 75... |
REPORT "common_ram_crw_crw : only support read latency >= 1"
|
REPORT "common_ram_crw_crw : only support read latency >= 1"
|
SEVERITY FAILURE;
|
SEVERITY FAILURE;
|
|
|
-- memory access
|
-- memory access
|
gen_true_dual_port : IF g_true_dual_port = TRUE GENERATE
|
gen_true_dual_port : IF g_true_dual_port = TRUE GENERATE
|
u_ram : ENTITY tech_ram_lib.tech_memory_ram_crw_crw
|
u_ram : ENTITY work.tech_memory_ram_crw_crw
|
GENERIC MAP (
|
GENERIC MAP (
|
g_technology => g_technology,
|
g_technology => g_technology,
|
g_adr_w => g_ram.adr_w,
|
g_adr_w => g_ram.adr_w,
|
g_dat_w => g_ram.dat_w,
|
g_dat_w => g_ram.dat_w,
|
g_nof_words => g_ram.nof_dat,
|
g_nof_words => g_ram.nof_dat,
|
Line 101... |
Line 101... |
q_b => ram_rd_dat_b
|
q_b => ram_rd_dat_b
|
);
|
);
|
END GENERATE;
|
END GENERATE;
|
|
|
gen_simple_dual_port : IF g_true_dual_port = FALSE GENERATE
|
gen_simple_dual_port : IF g_true_dual_port = FALSE GENERATE
|
u_ram : ENTITY tech_ram_lib.tech_memory_ram_cr_cw
|
u_ram : ENTITY work.tech_memory_ram_cr_cw
|
GENERIC MAP (
|
GENERIC MAP (
|
g_technology => g_technology,
|
g_technology => g_technology,
|
g_adr_w => g_ram.adr_w,
|
g_adr_w => g_ram.adr_w,
|
g_dat_w => g_ram.dat_w,
|
g_dat_w => g_ram.dat_w,
|
g_nof_words => g_ram.nof_dat,
|
g_nof_words => g_ram.nof_dat,
|