diff --git a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/hdllib.cfg b/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/hdllib.cfg deleted file mode 100644 index 314ee098b4b86022842b73363b83348f2da94e4f..0000000000000000000000000000000000000000 --- a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/hdllib.cfg +++ /dev/null @@ -1,112 +0,0 @@ -hdl_lib_name = unb2c_test_minimal -hdl_library_clause_name = unb2c_test_minimal_lib -hdl_lib_uses_synth = common mm technology unb2c_board unb2c_test -hdl_lib_uses_sim = -hdl_lib_technology = ip_arria10_e2sg -hdl_lib_include_ip = - -synth_files = - unb2c_test_minimal.vhd - -test_bench_files = - tb_unb2c_test_minimal.vhd - -regression_test_vhdl = - tb_unb2c_test_minimal.vhd - - -[modelsim_project_file] -modelsim_copy_files = - ../../src/hex hex - - -[quartus_project_file] -synth_top_level_entity = - -quartus_copy_files = - quartus . - ../../quartus . - ../../src/hex hex - -quartus_qsf_files = - $RADIOHDL_WORK/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.qsf - -quartus_sdc_pre_files = - quartus/unb2c_test_minimal.sdc - $RADIOHDL_WORK/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board_pre.sdc - -quartus_sdc_files = - $RADIOHDL_WORK/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.sdc - -quartus_tcl_files = - quartus/unb2c_test_minimal_pins.tcl - -quartus_vhdl_files = - -quartus_qip_files = - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/qsys_unb2c_test/qsys_unb2c_test.qip - -quartus_ip_files = - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_avs2_eth_coe_0.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_avs2_eth_coe_1.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_clk_0.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_jesd204b.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_jtag_uart_0.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_nios2_gen2_0.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_onchip_memory2_0.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_pio_jesd_ctrl.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_pio_pps.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_pio_system_info.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_pio_wdi.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_ram_diag_bg_10gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_ram_diag_bg_1gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_ram_diag_data_buffer_10gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_ram_diag_data_buffer_1gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_ram_diag_data_buffer_bsn.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_ram_diag_data_buffer_ddr_MB_II.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_ram_diag_data_buffer_ddr_MB_I.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_ram_scrap.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_bsn_monitor_10GbE.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_bsn_monitor_1GbE.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_bsn_monitor_input.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_bsn_scheduler.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_bsn_source.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_bg_10gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_bg_1gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_data_buffer_10gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_data_buffer_1gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_data_buffer_bsn.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_data_buffer_ddr_MB_II.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_data_buffer_ddr_MB_I.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_rx_seq_10gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_rx_seq_1gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_rx_seq_ddr_MB_II.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_rx_seq_ddr_MB_I.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_tx_seq_10gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_tx_seq_1gbe.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_tx_seq_ddr_MB_II.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_diag_tx_seq_ddr_MB_I.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_dpmm_ctrl.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_dpmm_data.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_epcs.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_eth10g_back0.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_eth10g_back1.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_eth10g_qsfp_ring.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_fpga_temp_sens.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_fpga_voltage_sens.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_heater.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_io_ddr_MB_II.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_io_ddr_MB_I.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_mmdp_ctrl.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_mmdp_data.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_remu.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_tr_10GbE_back0.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_tr_10GbE_back1.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_tr_10GbE_qsfp_ring.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_reg_wdi.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_rom_system_info.ip - $RADIOHDL_BUILD_DIR/unb2c/quartus/unb2c_test_minimal/ip/qsys_unb2c_test/qsys_unb2c_test_timer_0.ip - - - -nios2_app_userflags = -DCOMPILE_FOR_GEN2_UNB2 diff --git a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/quartus/unb2c_test_minimal.sdc b/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/quartus/unb2c_test_minimal.sdc deleted file mode 100644 index fbcc86fb1bb44ec25f621483883c32ce0ba743e3..0000000000000000000000000000000000000000 --- a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/quartus/unb2c_test_minimal.sdc +++ /dev/null @@ -1 +0,0 @@ -#set_false_path -from [get_clocks {u_revision|\gen_udp_stream_10GbE:u_tr_10GbE_qsfp_and_ring|u_unb2_board_clk644_pll|\gen_ip_arria10:u0|xcvr_fpll_a10_0|outclk1}] -to [get_clocks {u_revision|\gen_udp_stream_10GbE:u_tr_10GbE_qsfp_and_ring|u_unb2_board_clk644_pll|\gen_ip_arria10:u0|xcvr_fpll_a10_0|outclk0}] diff --git a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/quartus/unb2c_test_minimal_pins.tcl b/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/quartus/unb2c_test_minimal_pins.tcl deleted file mode 100644 index ae417258f888c910d593c6ab6e5117615ebbd36f..0000000000000000000000000000000000000000 --- a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/quartus/unb2c_test_minimal_pins.tcl +++ /dev/null @@ -1,22 +0,0 @@ -############################################################################### -# -# Copyright (C) 2014 -# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> -# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################### - -source $::env(RADIOHDL_WORK)/boards/uniboard2c/libraries/unb2c_board/quartus/pinning/unb2c_minimal_pins.tcl diff --git a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/tb_unb2c_test_minimal.vhd b/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/tb_unb2c_test_minimal.vhd deleted file mode 100644 index fd8d3bd83e1ac09a154993de19b8add792cda7c5..0000000000000000000000000000000000000000 --- a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/tb_unb2c_test_minimal.vhd +++ /dev/null @@ -1,38 +0,0 @@ -------------------------------------------------------------------------------- --- --- Copyright (C) 2015 --- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> --- JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/> --- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see <http://www.gnu.org/licenses/>. --- -------------------------------------------------------------------------------- - -LIBRARY IEEE, unb2c_test_lib; -USE IEEE.std_logic_1164.ALL; - - -ENTITY tb_unb2c_test_minimal IS -END tb_unb2c_test_minimal; - - -ARCHITECTURE tb OF tb_unb2c_test_minimal IS -BEGIN - u_tb_unb2c_test : ENTITY unb2c_test_lib.tb_unb2c_test - GENERIC MAP ( - g_design_name => "unb2c_test_minimal" - ); -END tb; - diff --git a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/unb2c_test_minimal.vhd b/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/unb2c_test_minimal.vhd deleted file mode 100644 index a13551d02f34e6ae41547d1257e81fb98f42151d..0000000000000000000000000000000000000000 --- a/boards/uniboard2c/designs/unb2c_test/revisions/unb2c_test_minimal/unb2c_test_minimal.vhd +++ /dev/null @@ -1,101 +0,0 @@ -------------------------------------------------------------------------------- --- --- Copyright (C) 2015 --- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> --- JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/> --- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 3 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see <http://www.gnu.org/licenses/>. --- -------------------------------------------------------------------------------- - -LIBRARY IEEE, common_lib, unb2c_board_lib, unb2c_test_lib, technology_lib; -USE IEEE.STD_LOGIC_1164.ALL; -USE IEEE.NUMERIC_STD.ALL; -USE common_lib.common_pkg.ALL; -USE unb2c_board_lib.unb2c_board_pkg.ALL; -USE technology_lib.technology_pkg.ALL; - - -ENTITY unb2c_test_minimal IS - GENERIC ( - g_design_name : STRING := "unb2c_test_minimal"; - g_design_note : STRING := "minimal: none"; - g_sim : BOOLEAN := FALSE; --Overridden by TB - g_sim_unb_nr : NATURAL := 0; - g_sim_node_nr : NATURAL := 0; - g_stamp_date : NATURAL := 0; -- Date (YYYYMMDD) -- set by QSF - g_stamp_time : NATURAL := 0; -- Time (HHMMSS) -- set by QSF - g_revision_id : STRING := "" -- revision ID -- set by QSF - ); - PORT ( - -- GENERAL - CLK : IN STD_LOGIC; -- System Clock - PPS : IN STD_LOGIC; -- System Sync - WDI : OUT STD_LOGIC; -- Watchdog Clear - INTA : INOUT STD_LOGIC; -- FPGA interconnect line - INTB : INOUT STD_LOGIC; -- FPGA interconnect line - - -- Others - VERSION : IN STD_LOGIC_VECTOR(c_unb2c_board_aux.version_w-1 DOWNTO 0); - ID : IN STD_LOGIC_VECTOR(c_unb2c_board_aux.id_w-1 DOWNTO 0); - TESTIO : INOUT STD_LOGIC_VECTOR(c_unb2c_board_aux.testio_w-1 DOWNTO 0); - - - -- 1GbE Control Interface - ETH_CLK : IN STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 DOWNTO 0); - ETH_SGIN : IN STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 DOWNTO 0); - ETH_SGOUT : OUT STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 DOWNTO 0); - - QSFP_LED : OUT STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp_nof_leds-1 DOWNTO 0) - ); -END unb2c_test_minimal; - - -ARCHITECTURE str OF unb2c_test_minimal IS - -BEGIN - u_revision : ENTITY unb2c_test_lib.unb2c_test - GENERIC MAP ( - g_design_name => g_design_name, - g_design_note => g_design_note, - g_sim => g_sim, - g_sim_unb_nr => g_sim_unb_nr, - g_sim_node_nr => g_sim_node_nr, - g_stamp_date => g_stamp_date, - g_stamp_time => g_stamp_time, - g_revision_id => g_revision_id - ) - PORT MAP ( - -- GENERAL - CLK => CLK, - PPS => PPS, - WDI => WDI, - INTA => INTA, - INTB => INTB, - - -- Others - VERSION => VERSION, - ID => ID, - TESTIO => TESTIO, - - - -- 1GbE Control Interface - ETH_clk => ETH_clk, - ETH_SGIN => ETH_SGIN, - ETH_SGOUT => ETH_SGOUT, - - QSFP_LED => QSFP_LED - ); -END str; diff --git a/boards/uniboard2c/designs/unb2c_test/src/vhdl/unb2c_test_pkg.vhd b/boards/uniboard2c/designs/unb2c_test/src/vhdl/unb2c_test_pkg.vhd index 9722d44faea0927d7a23450e2a7a9c7b5a0d4578..306af33cbd1abe7428f9fbc65f9b60cd9cab2756 100644 --- a/boards/uniboard2c/designs/unb2c_test/src/vhdl/unb2c_test_pkg.vhd +++ b/boards/uniboard2c/designs/unb2c_test/src/vhdl/unb2c_test_pkg.vhd @@ -77,7 +77,6 @@ PACKAGE unb2c_test_pkg IS type_MB_II : t_c_tech_ddr; END RECORD; -- loop 1GbE 1GbE qsfp ring bk0 jesd DDR4 DDR4 heatr - CONSTANT c_test_minimal : t_unb2c_test_config := (FALSE, TRUE, TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,c_tech_ddr4_8g_1600m, c_tech_ddr4_8g_1600m); CONSTANT c_test_10GbE : t_unb2c_test_config := (FALSE, TRUE, TRUE, TRUE, TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,c_tech_ddr4_8g_1600m, c_tech_ddr4_8g_1600m); CONSTANT c_test_10GbE_qb : t_unb2c_test_config := (FALSE, TRUE, TRUE, TRUE,FALSE, TRUE,FALSE,FALSE,FALSE,FALSE,c_tech_ddr4_8g_1600m, c_tech_ddr4_8g_1600m); CONSTANT c_test_ddr : t_unb2c_test_config := (FALSE, TRUE, TRUE,FALSE,FALSE,FALSE,FALSE, TRUE, TRUE,FALSE,c_tech_ddr4_8g_1600m, c_tech_ddr4_8g_1600m); @@ -95,8 +94,7 @@ PACKAGE BODY unb2c_test_pkg IS FUNCTION func_sel_revision_rec(g_design_name : STRING) RETURN t_unb2c_test_config IS BEGIN - IF g_design_name = "unb2c_test_minimal" THEN RETURN c_test_minimal; - ELSIF g_design_name = "unb2c_test_10GbE" THEN RETURN c_test_10GbE; + IF g_design_name = "unb2c_test_10GbE" THEN RETURN c_test_10GbE; ELSIF g_design_name = "unb2c_test_ddr" THEN RETURN c_test_ddr; ELSIF g_design_name = "unb2c_test_heater" THEN RETURN c_test_heater; ELSIF g_design_name = "unb2c_test_jesd204b" THEN RETURN c_test_jesd204b; diff --git a/boards/uniboard2c/libraries/unb2c_board/quartus/pinning/unb2c_minimal_pins.tcl b/boards/uniboard2c/libraries/unb2c_board/quartus/pinning/unb2c_minimal_pins.tcl index 4be13ed09c4bf68f00c1c506794378bc5d9c9b1d..d75b4a025b541fd4891dd046685a2394940ee194 100644 --- a/boards/uniboard2c/libraries/unb2c_board/quartus/pinning/unb2c_minimal_pins.tcl +++ b/boards/uniboard2c/libraries/unb2c_board/quartus/pinning/unb2c_minimal_pins.tcl @@ -4,7 +4,7 @@ set_location_assignment PIN_J15 -to "CLK(n)" set_location_assignment PIN_N12 -to ETH_CLK[0] set_location_assignment PIN_AK33 -to ETH_CLK[1] -set_location_assignment PIN_H17 -to S10_ETH_CLK +#set_location_assignment PIN_H17 -to S10_ETH_CLK set_location_assignment PIN_K14 -to PPS diff --git a/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.sdc b/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.sdc index 179df2ea458eee1bc1940f998155c02fa7c501fc..d97de2bec6e0e3371d5a2de28e3f5905e740844a 100644 --- a/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.sdc +++ b/boards/uniboard2c/libraries/unb2c_board/quartus/unb2c_board.sdc @@ -70,8 +70,6 @@ set_clock_groups -asynchronous -group [get_clocks pll_clk125] set_clock_groups -asynchronous -group [get_clocks pll_clk200] set_clock_groups -asynchronous -group [get_clocks pll_clk200p] set_clock_groups -asynchronous -group [get_clocks pll_clk400] -# Isolate the 200MHz dp_clk -set_clock_groups -asynchronous -group [get_clocks {*|u_ctrl_unb2_board|\gen_pll:u_unb2_board_clk200_pll|\gen_st_fractional_pll:u_st_fractional_pll|\gen_ip_arria10_e1sg:u0|xcvr_fpll_a10_0|outclk0}] # FPLL outputs # Three of these have been removed because they cut paths between the PHY and MAC, and between the 156.25MHz @@ -84,15 +82,6 @@ set_clock_groups -asynchronous -group [get_clocks {*|u_ctrl_unb2_board|\gen_pll: #set_clock_groups -asynchronous -group [get_clocks {*xcvr_fpll_a10_0|outclk1}] set_clock_groups -asynchronous -group [get_clocks {*xcvr_fpll_a10_0|outclk3}] -# Cut paths used in signal taps (temporary 06-09-2019 - will be removed for production designs) -set_false_path -from [get_clocks {*u_tech_10gbase_r|\gen_ip_arria10_e1sg:u0|\gen_phy_24:u_ip_arria10_e1sg_phy_10gbase_r_24|xcvr_native_a10_0|g_xcvr_native_insts*|avmmclk}] -to [get_clocks {u_tech_pll_xgmii_mac_clocks|\gen_ip_arria10_e1sg:u0|xcvr_fpll_a10_0|outclk0}]; - -# False path from mm_clk to MAC clocks -set_false_path -from [get_clocks {*|u_ctrl_unb2_board|\gen_mm_clk_hardware:u_unb2_board_clk125_pll|\gen_fractional_pll:u_pll|\gen_ip_arria10_e1sg:u0|xcvr_fpll_a10_0|outclk1}] -to [get_clocks {*|u_tech_pll_xgmii_mac_clocks|\gen_ip_arria10_e1sg:u0|xcvr_fpll_a10_0|outclk0}] -# Seems harmless to remove this -#set_clock_groups -asynchronous -group [get_clocks {*xcvr_native_a10_0|g_xcvr_native_insts[*]|rx_pma_clk}] - -#set_false_path -from {*u_rst200|u_async|din_meta[2]} -to {*FIFOram*} #set_clock_groups -asynchronous \ #-group [get_clocks {inst2|xcvr_4ch_native_phy_inst|xcvr_native_a10_0|g_xcvr_native_insts[?]|rx_pma_clk}] \ diff --git a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd index e16a5d6ab2869fb929ea13cf46f155ba7340b8d8..c4182ba908d548a7c2556ad7093b7821bce00608 100644 --- a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd +++ b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd @@ -43,6 +43,8 @@ ENTITY ctrl_unb2c_board IS ---------------------------------------------------------------------------- g_technology : NATURAL := c_tech_arria10; g_sim : BOOLEAN := FALSE; + g_sim_level : NATURAL := 0; -- 0 = use IP; 1 = use fast serdes model; + g_sim_mm_clk_period : TIME := 10 ns; -- use e.g. c_mmf_mm_clk_period for MM bus file IO model, use e.g. 10 ns for MM access with TSE MAC IP g_design_name : STRING := "UNUSED"; g_fw_version : t_unb2c_board_fw_version := (0, 0); -- firmware version x.y g_stamp_date : NATURAL := 0; @@ -257,7 +259,7 @@ ARCHITECTURE str OF ctrl_unb2c_board IS SIGNAL i_mm_rst : STD_LOGIC; SIGNAL i_mm_clk : STD_LOGIC; SIGNAL mm_locked : STD_LOGIC; - SIGNAL mm_sim_clk : STD_LOGIC := '1'; + SIGNAL sim_mm_clk : STD_LOGIC := '1'; SIGNAL epcs_clk : STD_LOGIC := '1'; SIGNAL clk125 : STD_LOGIC := '1'; SIGNAL clk100 : STD_LOGIC := '1'; @@ -413,11 +415,11 @@ BEGIN ----------------------------------------------------------------------------- -- mm_clk - -- . use mm_sim_clk in sim + -- . use sim_mm_clk in sim -- . derived from ETH_CLK via PLL on hardware ----------------------------------------------------------------------------- - i_mm_clk <= mm_sim_clk WHEN g_sim = TRUE ELSE + i_mm_clk <= sim_mm_clk WHEN g_sim = TRUE ELSE clk125 WHEN g_mm_clk_freq = c_unb2c_board_mm_clk_freq_125M ELSE clk100 WHEN g_mm_clk_freq = c_unb2c_board_mm_clk_freq_100M ELSE clk50 WHEN g_mm_clk_freq = c_unb2c_board_mm_clk_freq_50M ELSE @@ -428,7 +430,7 @@ BEGIN clk50 <= NOT clk50 AFTER 10 ns; -- 50 MHz, 20ns/2 clk100 <= NOT clk100 AFTER 5 ns; -- 100 MHz, 10ns/2 clk125 <= NOT clk125 AFTER 4 ns; -- 125 MHz, 8ns/2 - mm_sim_clk <= NOT mm_sim_clk AFTER 50 ns; -- 10 MHz, 100ns/2 --> FIXME: this mm_sim_clk should come from the MMM so that its speed can be adapted + sim_mm_clk <= NOT sim_mm_clk AFTER g_sim_mm_clk_period/2; mm_locked <= '0', '1' AFTER 70 ns; END GENERATE; @@ -716,7 +718,9 @@ BEGIN g_technology => g_technology, g_init_ip_address => g_base_ip & X"0000", -- Last two bytes set by board/FPGA ID. g_cross_clock_domain => g_udp_offload, - g_frm_discard_en => TRUE + g_frm_discard_en => TRUE, + g_sim => g_sim, + g_sim_level => g_sim_level -- 0 -- 0 = use IP; 1 = use fast serdes model; ) PORT MAP ( -- Clocks and reset diff --git a/libraries/technology/ip_arria10_e2sg/altera_libraries/altera_xcvr_atx_pll_a10_191/compile_ip.tcl b/libraries/technology/ip_arria10_e2sg/altera_libraries/altera_xcvr_atx_pll_a10_191/compile_ip.tcl index fcb493e25db6b6b1f9c54ae6db335e549d4214df..34e8546b799c343698618ecd71ae47e0e1577edf 100644 --- a/libraries/technology/ip_arria10_e2sg/altera_libraries/altera_xcvr_atx_pll_a10_191/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e2sg/altera_libraries/altera_xcvr_atx_pll_a10_191/compile_ip.tcl @@ -50,6 +50,5 @@ vmap altera_xcvr_atx_pll_a10_191 ./work/ vlog -sv "$IP_DIR/../altera_xcvr_atx_pll_a10_191/sim/mentor/a10_xcvr_atx_pll.sv" -L altera_common_sv_packages -work altera_xcvr_atx_pll_a10_191 vlog -sv "$IP_DIR/../altera_xcvr_atx_pll_a10_191/sim/mentor/alt_xcvr_pll_embedded_debug.sv" -L altera_common_sv_packages -work altera_xcvr_atx_pll_a10_191 vlog -sv "$IP_DIR/../altera_xcvr_atx_pll_a10_191/sim/mentor/alt_xcvr_pll_avmm_csr.sv" -L altera_common_sv_packages -work altera_xcvr_atx_pll_a10_191 + vlog -sv "$IP_DIR/../altera_xcvr_atx_pll_a10_191/sim/alt_xcvr_atx_pll_rcfg_opt_logic_fbvyoua.sv" -L altera_common_sv_packages -work altera_xcvr_atx_pll_a10_191 vlog -sv "$IP_DIR/../altera_xcvr_atx_pll_a10_191/sim/ip_arria10_e2sg_transceiver_pll_10g_altera_xcvr_atx_pll_a10_191_fbvyoua.sv" -L altera_common_sv_packages -work altera_xcvr_atx_pll_a10_191 - vlog -sv "$IP_DIR/../altera_xcvr_atx_pll_a10_191/sim/alt_xcvr_atx_pll_rcfg_opt_logic_fdgop6i.sv" -L altera_common_sv_packages -work altera_xcvr_atx_pll_a10_191 - diff --git a/libraries/technology/ip_arria10_e2sg/altera_libraries/altera_xcvr_atx_pll_a10_191/hdllib.cfg b/libraries/technology/ip_arria10_e2sg/altera_libraries/altera_xcvr_atx_pll_a10_191/hdllib.cfg index 86eaf4a404e4a6701cd6df3f33aadb540b2a68cb..8bc95d11ae128bccb78c265a48f9719944ee7ef7 100644 --- a/libraries/technology/ip_arria10_e2sg/altera_libraries/altera_xcvr_atx_pll_a10_191/hdllib.cfg +++ b/libraries/technology/ip_arria10_e2sg/altera_libraries/altera_xcvr_atx_pll_a10_191/hdllib.cfg @@ -8,7 +8,6 @@ synth_files = test_bench_files = - [modelsim_project_file] modelsim_compile_ip_files = $RADIOHDL_WORK/libraries/technology/ip_arria10_e2sg/altera_libraries/altera_xcvr_atx_pll_a10_191/compile_ip.tcl diff --git a/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/compile_ip.tcl b/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/compile_ip.tcl new file mode 100644 index 0000000000000000000000000000000000000000..0864beac27c53a6e12511305e60e87de325c4274 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/compile_ip.tcl @@ -0,0 +1,36 @@ +#------------------------------------------------------------------------------ +# +# Copyright (C) 2017 +# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +# JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/> +# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +#------------------------------------------------------------------------------ + +# This file is based on generated file mentor/msim_setup.tcl. +# - the values for modelsim_search_libraries key in the hdllib.cfg follow from altera libraries vmap section in the msim_setup.tcl +# - vmap for the IP specific libraries and compile all IP source files into those libraries similar as in the msim_setup.tcl +# - replace QSYS_SIMDIR by IP_DIR +# - if the testbench is also generated with QSYS then only the IP_TBDIR files are needed, because these also contain the source files. + +#vlib ./work/ ;# Assume library work already exist + + +set IP_DIR "$env(RADIOHDL_BUILD_DIR)/$env(BUILDSET)/qsys-generate/ip_arria10_e2sg_complex_mult/sim" + +vmap altmult_complex_1910 ./work/ + + vcom "$IP_DIR/../altmult_complex_1910/sim/ip_arria10_e2sg_complex_mult_altmult_complex_1910_cumkcni.vhd" -work altmult_complex_1910 diff --git a/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/hdllib.cfg b/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/hdllib.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3880a880c2d0606923a8551ca6a4fb7c4407848e --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/hdllib.cfg @@ -0,0 +1,17 @@ +hdl_lib_name = ip_arria10_e2sg_altmult_complex_1910 +hdl_library_clause_name = altmult_complex_1910 +hdl_lib_uses_synth = +hdl_lib_uses_sim = +hdl_lib_technology = ip_arria10_e2sg + +synth_files = + +test_bench_files = + + +[modelsim_project_file] +modelsim_compile_ip_files = + $RADIOHDL_WORK/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/compile_ip.tcl + + + diff --git a/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/liborder.txt b/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/liborder.txt new file mode 100644 index 0000000000000000000000000000000000000000..03ec3b6a361368d60c6da26520d59235a6cb3ce1 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/altera_libraries/altmult_complex_1910/liborder.txt @@ -0,0 +1,3 @@ +common: n_libs=9 lib_order=['technology', 'ip_arria10_e2sg_ram', 'tech_memory', 'ip_arria10_e2sg_fifo', 'tech_fifo', 'ip_arria10_e2sg_ddio', 'tech_iobuf', 'tst', 'common'] + +New test order: [] \ No newline at end of file diff --git a/libraries/technology/ip_arria10_e2sg/complex_mult/compile_ip.tcl b/libraries/technology/ip_arria10_e2sg/complex_mult/compile_ip.tcl index caf20a24146e908c0142323457060a3eeb3faf82..24d21235f925d508c769aba950bffafd55444092 100644 --- a/libraries/technology/ip_arria10_e2sg/complex_mult/compile_ip.tcl +++ b/libraries/technology/ip_arria10_e2sg/complex_mult/compile_ip.tcl @@ -31,4 +31,6 @@ set IP_DIR "$env(RADIOHDL_BUILD_DIR)/$env(BUILDSET)/qsys-generate/ip_arria10_e2sg_complex_mult/sim" vmap altmult_complex_1910 ./work/ - vlog "$IP_DIR/../altmult_complex_1910/synth/ip_arria10_e2sg_complex_mult_altmult_complex_1910_cumkcni.v" -work altmult_complex_1910 + vcom "$IP_DIR/../altmult_complex_1910/sim/ip_arria10_e2sg_complex_mult_altmult_complex_1910_cumkcni.vhd" -work altmult_complex_1910 + vcom "$IP_DIR/ip_arria10_e2sg_complex_mult.vhd" -work altmult_complex_1910 + diff --git a/libraries/technology/ip_arria10_e2sg/complex_mult/hdllib.cfg b/libraries/technology/ip_arria10_e2sg/complex_mult/hdllib.cfg index 2f0aca17109aeff235dd343b831a4c7b4fd4c8d8..a7582656cbbce3505ed6625bd38fdca6948fe08d 100644 --- a/libraries/technology/ip_arria10_e2sg/complex_mult/hdllib.cfg +++ b/libraries/technology/ip_arria10_e2sg/complex_mult/hdllib.cfg @@ -1,7 +1,7 @@ hdl_lib_name = ip_arria10_e2sg_complex_mult hdl_library_clause_name = ip_arria10_e2sg_complex_mult_altmult_complex_1910 hdl_lib_uses_synth = -hdl_lib_uses_sim = +hdl_lib_uses_sim = ip_arria10_e2sg_altmult_complex_1910 hdl_lib_technology = ip_arria10_e2sg synth_files = diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw.vhd b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw.vhd index 033a87880432c7f50eb7484d458df12e51518838..833ac0341320c43d29064b7ca3aac725d3c3bc49 100644 --- a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw.vhd +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw.vhd @@ -115,7 +115,7 @@ BEGIN ASSERT g_rd_latency=1 OR g_rd_latency=2 REPORT "ip_arria10_e2sg_ram_crw_crw : read latency must be 1 (default) or 2" SEVERITY FAILURE; gen_ip : IF g_inferred=FALSE GENERATE - -- Copied from ip_arria10_e2sg_ram_crw_crw/ram_2port_140/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_140_ehaf5aa.vhd + -- Copied from ip_arria10_e2sg_ram_crw_crw/ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd u_altera_syncram : altera_syncram GENERIC MAP ( address_reg_b => "CLOCK1", diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.bsf b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.bsf new file mode 100644 index 0000000000000000000000000000000000000000..4521bc11b8ebacf2619b02f996db44208571ed38 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.bsf @@ -0,0 +1,148 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. +*/ +(header "symbol" (version "1.1")) +(symbol + (rect 0 0 304 384) + (text "ip_arria10_e2sg_ram_crw_crw" (rect 61 -1 186 11)(font "Arial" (font_size 10))) + (text "inst" (rect 8 368 20 380)(font "Arial" )) + (port + (pt 0 72) + (input) + (text "data_a[7..0]" (rect 0 0 47 12)(font "Arial" (font_size 8))) + (text "data_a[7..0]" (rect 4 61 76 72)(font "Arial" (font_size 8))) + (line (pt 0 72)(pt 96 72)(line_width 3)) + ) + (port + (pt 0 112) + (input) + (text "data_b[7..0]" (rect 0 0 47 12)(font "Arial" (font_size 8))) + (text "data_b[7..0]" (rect 4 101 76 112)(font "Arial" (font_size 8))) + (line (pt 0 112)(pt 96 112)(line_width 3)) + ) + (port + (pt 0 152) + (input) + (text "address_a[4..0]" (rect 0 0 63 12)(font "Arial" (font_size 8))) + (text "address_a[4..0]" (rect 4 141 94 152)(font "Arial" (font_size 8))) + (line (pt 0 152)(pt 96 152)(line_width 3)) + ) + (port + (pt 0 192) + (input) + (text "address_b[4..0]" (rect 0 0 63 12)(font "Arial" (font_size 8))) + (text "address_b[4..0]" (rect 4 181 94 192)(font "Arial" (font_size 8))) + (line (pt 0 192)(pt 96 192)(line_width 3)) + ) + (port + (pt 0 232) + (input) + (text "wren_a" (rect 0 0 29 12)(font "Arial" (font_size 8))) + (text "wren_a" (rect 4 221 40 232)(font "Arial" (font_size 8))) + (line (pt 0 232)(pt 96 232)(line_width 1)) + ) + (port + (pt 0 272) + (input) + (text "wren_b" (rect 0 0 29 12)(font "Arial" (font_size 8))) + (text "wren_b" (rect 4 261 40 272)(font "Arial" (font_size 8))) + (line (pt 0 272)(pt 96 272)(line_width 1)) + ) + (port + (pt 0 312) + (input) + (text "clock_a" (rect 0 0 30 12)(font "Arial" (font_size 8))) + (text "clock_a" (rect 4 301 46 312)(font "Arial" (font_size 8))) + (line (pt 0 312)(pt 96 312)(line_width 1)) + ) + (port + (pt 0 352) + (input) + (text "clock_b" (rect 0 0 30 12)(font "Arial" (font_size 8))) + (text "clock_b" (rect 4 341 46 352)(font "Arial" (font_size 8))) + (line (pt 0 352)(pt 96 352)(line_width 1)) + ) + (port + (pt 304 72) + (output) + (text "q_a[7..0]" (rect 0 0 35 12)(font "Arial" (font_size 8))) + (text "q_a[7..0]" (rect 259 61 313 72)(font "Arial" (font_size 8))) + (line (pt 304 72)(pt 208 72)(line_width 3)) + ) + (port + (pt 304 112) + (output) + (text "q_b[7..0]" (rect 0 0 35 12)(font "Arial" (font_size 8))) + (text "q_b[7..0]" (rect 259 101 313 112)(font "Arial" (font_size 8))) + (line (pt 304 112)(pt 208 112)(line_width 3)) + ) + (drawing + (text "data_a" (rect 57 43 150 99)(font "Arial" (color 128 0 0)(font_size 9))) + (text "datain_a" (rect 101 67 250 144)(font "Arial" (color 0 0 0))) + (text "q_a" (rect 209 43 436 99)(font "Arial" (color 128 0 0)(font_size 9))) + (text "dataout_a" (rect 163 67 380 144)(font "Arial" (color 0 0 0))) + (text "data_b" (rect 57 83 150 179)(font "Arial" (color 128 0 0)(font_size 9))) + (text "datain_b" (rect 101 107 250 224)(font "Arial" (color 0 0 0))) + (text "q_b" (rect 209 83 436 179)(font "Arial" (color 128 0 0)(font_size 9))) + (text "dataout_b" (rect 163 107 380 224)(font "Arial" (color 0 0 0))) + (text "address_a" (rect 35 123 124 259)(font "Arial" (color 128 0 0)(font_size 9))) + (text "address_a" (rect 101 147 256 304)(font "Arial" (color 0 0 0))) + (text "address_b" (rect 35 163 124 339)(font "Arial" (color 128 0 0)(font_size 9))) + (text "address_b" (rect 101 187 256 384)(font "Arial" (color 0 0 0))) + (text "wren_a" (rect 53 203 142 419)(font "Arial" (color 128 0 0)(font_size 9))) + (text "wren_a" (rect 101 227 238 464)(font "Arial" (color 0 0 0))) + (text "wren_b" (rect 53 243 142 499)(font "Arial" (color 128 0 0)(font_size 9))) + (text "wren_b" (rect 101 267 238 544)(font "Arial" (color 0 0 0))) + (text "clock_a" (rect 53 283 148 579)(font "Arial" (color 128 0 0)(font_size 9))) + (text "clk" (rect 101 307 220 624)(font "Arial" (color 0 0 0))) + (text "clock_b" (rect 53 323 148 659)(font "Arial" (color 128 0 0)(font_size 9))) + (text "clk" (rect 101 347 220 704)(font "Arial" (color 0 0 0))) + (text " ip_arria10_e2sg_ram_crw_crw " (rect 168 368 510 746)(font "Arial" )) + (line (pt 96 32)(pt 208 32)(line_width 1)) + (line (pt 208 32)(pt 208 368)(line_width 1)) + (line (pt 96 368)(pt 208 368)(line_width 1)) + (line (pt 96 32)(pt 96 368)(line_width 1)) + (line (pt 97 52)(pt 97 76)(line_width 1)) + (line (pt 98 52)(pt 98 76)(line_width 1)) + (line (pt 207 52)(pt 207 76)(line_width 1)) + (line (pt 206 52)(pt 206 76)(line_width 1)) + (line (pt 97 92)(pt 97 116)(line_width 1)) + (line (pt 98 92)(pt 98 116)(line_width 1)) + (line (pt 207 92)(pt 207 116)(line_width 1)) + (line (pt 206 92)(pt 206 116)(line_width 1)) + (line (pt 97 132)(pt 97 156)(line_width 1)) + (line (pt 98 132)(pt 98 156)(line_width 1)) + (line (pt 97 172)(pt 97 196)(line_width 1)) + (line (pt 98 172)(pt 98 196)(line_width 1)) + (line (pt 97 212)(pt 97 236)(line_width 1)) + (line (pt 98 212)(pt 98 236)(line_width 1)) + (line (pt 97 252)(pt 97 276)(line_width 1)) + (line (pt 98 252)(pt 98 276)(line_width 1)) + (line (pt 97 292)(pt 97 316)(line_width 1)) + (line (pt 98 292)(pt 98 316)(line_width 1)) + (line (pt 97 332)(pt 97 356)(line_width 1)) + (line (pt 98 332)(pt 98 356)(line_width 1)) + (line (pt 0 0)(pt 304 0)(line_width 1)) + (line (pt 304 0)(pt 304 384)(line_width 1)) + (line (pt 0 384)(pt 304 384)(line_width 1)) + (line (pt 0 0)(pt 0 384)(line_width 1)) + ) +) diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.cmp b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.cmp new file mode 100644 index 0000000000000000000000000000000000000000..090b3483515dc6158bcd0e8bb0637e82c8683ef4 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.cmp @@ -0,0 +1,15 @@ + component ip_arria10_e2sg_ram_crw_crw is + port ( + data_a : in std_logic_vector(7 downto 0) := (others => 'X'); -- datain_a + q_a : out std_logic_vector(7 downto 0); -- dataout_a + data_b : in std_logic_vector(7 downto 0) := (others => 'X'); -- datain_b + q_b : out std_logic_vector(7 downto 0); -- dataout_b + address_a : in std_logic_vector(4 downto 0) := (others => 'X'); -- address_a + address_b : in std_logic_vector(4 downto 0) := (others => 'X'); -- address_b + wren_a : in std_logic := 'X'; -- wren_a + wren_b : in std_logic := 'X'; -- wren_b + clock_a : in std_logic := 'X'; -- clk + clock_b : in std_logic := 'X' -- clk + ); + end component ip_arria10_e2sg_ram_crw_crw; + diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.csv b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.csv new file mode 100644 index 0000000000000000000000000000000000000000..10178c734cbbc58aaab1fd4d3614217548ece838 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.csv @@ -0,0 +1,18 @@ +# system info ip_arria10_e2sg_ram_crw_crw on 2021.04.14.00:17:36 +system_info: +name,value +DEVICE,10AX115U3F45E2SG +DEVICE_FAMILY,Arria 10 +GENERATION_ID,0 +# +# +# Files generated for ip_arria10_e2sg_ram_crw_crw on 2021.04.14.00:17:36 +files: +filepath,kind,attributes,module,is_top +sim/ip_arria10_e2sg_ram_crw_crw.vhd,VHDL,CONTAINS_INLINE_CONFIGURATION,ip_arria10_e2sg_ram_crw_crw,true +ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd,VHDL,,ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey,false +# +# Map from instance-path to kind of module +instances: +instancePath,module +ip_arria10_e2sg_ram_crw_crw.ram_2port_0,ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.html b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.html new file mode 100644 index 0000000000000000000000000000000000000000..e06736eeb1d0b9926e234d56a691b194d894ddbe --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.html @@ -0,0 +1,329 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>datasheet for ip_arria10_e2sg_ram_crw_crw</title> + <style type="text/css"> +body { font-family:arial ;} +a { text-decoration:underline ; color:#003000 ;} +a:hover { text-decoration:underline ; color:0030f0 ;} +td { padding : 5px ;} +table.topTitle { width:100% ;} +table.topTitle td.l { text-align:left ; font-weight: bold ; font-size:30px ;} +table.topTitle td.r { text-align:right ; font-weight: bold ; font-size:16px ;} +table.blueBar { width : 100% ; border-spacing : 0px ;} +table.blueBar td { background:#0036ff ; font-size:12px ; color : white ; text-align : left ; font-weight : bold ;} +table.blueBar td.l { text-align : left ;} +table.blueBar td.r { text-align : right ;} +table.items { width:100% ; border-collapse:collapse ;} +table.items td.label { font-weight:bold ; font-size:16px ; vertical-align:top ;} +table.items td.mono { font-family:courier ; font-size:12px ; white-space:pre ;} +div.label { font-weight:bold ; font-size:16px ; vertical-align:top ; text-align:center ;} +table.grid { border-collapse:collapse ;} +table.grid td { border:1px solid #bbb ; font-size:12px ;} +body { font-family:arial ;} +table.x { font-family:courier ; border-collapse:collapse ; padding:2px ;} +table.x td { border:1px solid #bbb ;} +td.tableTitle { font-weight:bold ; text-align:center ;} +table.grid { border-collapse:collapse ;} +table.grid td { border:1px solid #bbb ;} +table.grid td.tableTitle { font-weight:bold ; text-align:center ;} +table.mmap { border-collapse:collapse ; text-size:11px ; border:1px solid #d8d8d8 ;} +table.mmap td { border-color:#d8d8d8 ; border-width:1px ; border-style:solid ;} +table.mmap td.empty { border-style:none ; background-color:#f0f0f0 ;} +table.mmap td.slavemodule { text-align:left ; font-size:11px ; border-style:solid solid none solid ;} +table.mmap td.slavem { text-align:right ; font-size:9px ; font-style:italic ; border-style:none solid none solid ;} +table.mmap td.slaveb { text-align:right ; font-size:9px ; font-style:italic ; border-style:none solid solid solid ;} +table.mmap td.mastermodule { text-align:center ; font-size:11px ; border-style:solid solid none solid ;} +table.mmap td.masterlr { text-align:center ; font-size:9px ; font-style:italic ; border-style:none solid solid solid ;} +table.mmap td.masterl { text-align:center ; font-size:9px ; font-style:italic ; border-style:none none solid solid ;} +table.mmap td.masterm { text-align:center ; font-size:9px ; font-style:italic ; border-style:none none solid none ;} +table.mmap td.masterr { text-align:center ; font-size:9px ; font-style:italic ; border-style:none solid solid none ;} +table.mmap td.addr { font-family:courier ; font-size:9px ; text-align:right ;} +table.connectionboxes { border-collapse:separate ; border-spacing:0px ; font-family:arial ;} +table.connectionboxes td.from { border-bottom:1px solid black ; font-size:9px ; font-style:italic ; vertical-align:bottom ; text-align:left ;} +table.connectionboxes td.to { font-size:9px ; font-style:italic ; vertical-align:top ; text-align:right ;} +table.connectionboxes td.lefthandwire { border-bottom:1px solid black ; font-size:9px ; font-style:italic ; vertical-align:bottom ; text-align:right ;} +table.connectionboxes td.righthandwire { border-bottom:1px solid black ; font-size:9px ; font-style:italic ; vertical-align:bottom ; text-align:left ;} +table.connectionboxes td.righthandlabel { font-size:11px ; vertical-align:bottom ; text-align:left ;} +table.connectionboxes td.neighbor { padding:3px ; border:1px solid black ; font-size: 11px ; background:#e8e8e8 ; vertical-align:center ; text-align:center ;} +table.connectionboxes td.main { padding:8px ; border:1px solid black ; font-size: 14px ; font-weight:bold ; background:#ffffff ; vertical-align:center ; text-align:center ;} +.parametersbox { border:1px solid #d0d0d0 ; display:inline-block ; max-height:160px ; overflow:auto ; width:360px ; font-size:10px ;} +.flowbox { display:inline-block ;} +.parametersbox table { font-size:10px ;} +td.parametername { font-style:italic ;} +td.parametervalue { font-weight:bold ;} +div.greydiv { vertical-align:top ; text-align:center ; background:#eeeeee ; border-top:1px solid #707070 ; border-bottom:1px solid #707070 ; padding:20px ; margin:20px ; width:auto ;}</style> + </head> + <body> + <table class="topTitle"> + <tr> + <td class="l">ip_arria10_e2sg_ram_crw_crw</td> + <td class="r"> + <br/> + <br/> + </td> + </tr> + </table> + <table class="blueBar"> + <tr> + <td class="l">2021.04.14.00:17:38</td> + <td class="r">Datasheet</td> + </tr> + </table> + <div style="width:100% ; height:10px"> </div> + <div class="label">Overview</div> + <div class="greydiv"> + <div style="display:inline-block ; text-align:left"> + <table class="connectionboxes"> + <tr style="height:6px"> + <td></td> + </tr> + </table> + </div><span style="display:inline-block ; width:28px"> </span> + <div style="display:inline-block ; text-align:left"><span> + <br/></span> + </div> + </div> + <div style="width:100% ; height:10px"> </div> + <div class="label">Memory Map</div> + <table class="mmap"> + <tr> + <td class="empty" rowspan="2"></td> + </tr> + </table> + <a name="module_ram_2port_0"> </a> + <div> + <hr/> + <h2>ram_2port_0</h2>ram_2port v20.0.0 + <br/> + <br/> + <br/> + <table class="flowbox"> + <tr> + <td class="parametersbox"> + <h2>Parameters</h2> + <table> + <tr> + <td class="parametername">GUI_MODE</td> + <td class="parametervalue">1</td> + </tr> + <tr> + <td class="parametername">GUI_MEM_IN_BITS</td> + <td class="parametervalue">0</td> + </tr> + <tr> + <td class="parametername">GUI_MEMSIZE_WORDS</td> + <td class="parametervalue">32</td> + </tr> + <tr> + <td class="parametername">GUI_QA_WIDTH</td> + <td class="parametervalue">8</td> + </tr> + <tr> + <td class="parametername">GUI_QB_WIDTH</td> + <td class="parametervalue">8</td> + </tr> + <tr> + <td class="parametername">GUI_DATAA_WIDTH</td> + <td class="parametervalue">8</td> + </tr> + <tr> + <td class="parametername">GUI_MAX_DEPTH</td> + <td class="parametervalue">Auto</td> + </tr> + <tr> + <td class="parametername">GUI_TDP_EMULATE</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_VAR_WIDTH</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_RAM_BLOCK_TYPE</td> + <td class="parametervalue">Auto</td> + </tr> + <tr> + <td class="parametername">GUI_LC_IMPLEMENTION_OPTIONS</td> + <td class="parametervalue">0</td> + </tr> + <tr> + <td class="parametername">GUI_OPTIMIZATION_OPTION</td> + <td class="parametervalue">0</td> + </tr> + <tr> + <td class="parametername">GUI_CLOCK_TYPE</td> + <td class="parametervalue">4</td> + </tr> + <tr> + <td class="parametername">GUI_RDEN_DOUBLE</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_BYTE_ENABLE_A</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_BYTE_ENABLE_B</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_ECC_TRIPLE</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_ECC_PIPELINE</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_ECCENCBYPASS</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_COHERENT_READ</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_FORCE_TO_ZERO</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_PR</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_BYTE_ENABLE_WIDTH</td> + <td class="parametervalue">8</td> + </tr> + <tr> + <td class="parametername">GUI_WRITE_INPUT_PORTS</td> + <td class="parametervalue">true</td> + </tr> + <tr> + <td class="parametername">GUI_READ_INPUT_RDADDRESS</td> + <td class="parametervalue">true</td> + </tr> + <tr> + <td class="parametername">GUI_READ_OUTPUT_QA</td> + <td class="parametervalue">true</td> + </tr> + <tr> + <td class="parametername">GUI_READ_OUTPUT_QB</td> + <td class="parametervalue">true</td> + </tr> + <tr> + <td class="parametername">GUI_DIFFERENT_CLKENS</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_CLKEN_INPUT_REG_A</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_CLKEN_INPUT_REG_B</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_CLKEN_OUTPUT_REG_A</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_CLKEN_OUTPUT_REG_B</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_CLKEN_ADDRESS_STALL_A</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_CLKEN_ADDRESS_STALL_B</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_ACLR_READ_INPUT_RDADDRESS</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_ACLR_READ_OUTPUT_QA</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_ACLR_READ_OUTPUT_QB</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_SCLR_READ_OUTPUT_QA</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_SCLR_READ_OUTPUT_QB</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_Q_PORT_MODE</td> + <td class="parametervalue">2</td> + </tr> + <tr> + <td class="parametername">GUI_CONSTRAINED_DONT_CARE</td> + <td class="parametervalue">true</td> + </tr> + <tr> + <td class="parametername">GUI_RDW_A_MODE</td> + <td class="parametervalue">New Data</td> + </tr> + <tr> + <td class="parametername">GUI_RDW_B_MODE</td> + <td class="parametervalue">New Data</td> + </tr> + <tr> + <td class="parametername">GUI_NBE_A</td> + <td class="parametervalue">true</td> + </tr> + <tr> + <td class="parametername">GUI_NBE_B</td> + <td class="parametervalue">true</td> + </tr> + <tr> + <td class="parametername">GUI_BLANK_MEMORY</td> + <td class="parametervalue">1</td> + </tr> + <tr> + <td class="parametername">GUI_INIT_FILE_LAYOUT</td> + <td class="parametervalue">PORT_B</td> + </tr> + <tr> + <td class="parametername">GUI_INIT_SIM_TO_X</td> + <td class="parametervalue">false</td> + </tr> + <tr> + <td class="parametername">GUI_MIF_FILENAME</td> + <td class="parametervalue">./ram_1024.hex</td> + </tr> + <tr> + <td class="parametername">deviceFamily</td> + <td class="parametervalue">UNKNOWN</td> + </tr> + <tr> + <td class="parametername">generateLegacySim</td> + <td class="parametervalue">false</td> + </tr> + </table> + </td> + </tr> + </table>   + <table class="flowbox"> + <tr> + <td class="parametersbox"> + <h2>Software Assignments</h2>(none)</td> + </tr> + </table> + </div> + <table class="blueBar"> + <tr> + <td class="l">generation took 0.00 seconds</td> + <td class="r">rendering took 0.01 seconds</td> + </tr> + </table> + </body> +</html> diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.qgsimc b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.qgsimc new file mode 100644 index 0000000000000000000000000000000000000000..29a09a60a4c9001842e987258f52597e6b40b8a5 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.qgsimc @@ -0,0 +1,320 @@ +<?xml version="1.0" ?> +<node xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:altera="http://www.altera.com/XMLSchema/Qsys/SystemTree"> + <instanceKey xsi:type="xs:string">ip_arria10_e2sg_ram_crw_crw</instanceKey> + <instanceData xsi:type="data"> + <parameters></parameters> + <interconnectAssignments></interconnectAssignments> + <className>ip_arria10_e2sg_ram_crw_crw</className> + <version>1.0</version> + <name>ip_arria10_e2sg_ram_crw_crw</name> + <uniqueName>ip_arria10_e2sg_ram_crw_crw</uniqueName> + <nonce>0</nonce> + <incidentConnections></incidentConnections> + </instanceData> + <children> + <node> + <instanceKey xsi:type="xs:string">ram_2port_0</instanceKey> + <instanceData xsi:type="data"> + <parameters> + <parameter> + <name>DEVICE_FAMILY</name> + <value>Arria 10</value> + </parameter> + <parameter> + <name>GUI_ACLR_READ_INPUT_RDADDRESS</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ACLR_READ_OUTPUT_QA</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ACLR_READ_OUTPUT_QB</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_BLANK_MEMORY</name> + <value>1</value> + </parameter> + <parameter> + <name>GUI_BYTE_ENABLE_A</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_BYTE_ENABLE_B</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_BYTE_ENABLE_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_BYTE_WIDTH_A</name> + <value>1</value> + </parameter> + <parameter> + <name>GUI_BYTE_WIDTH_B</name> + <value>1</value> + </parameter> + <parameter> + <name>GUI_CLKEN_ADDRESS_STALL_A</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_ADDRESS_STALL_B</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_INPUT_REG_A</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_INPUT_REG_B</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_OUTPUT_REG_A</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_OUTPUT_REG_B</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_RDADDRESSSTALL</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_READ_INPUT_REG</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_READ_OUTPUT_REG</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_WRADDRESSSTALL</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_WRITE_INPUT_REG</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLOCK_TYPE</name> + <value>4</value> + </parameter> + <parameter> + <name>GUI_COHERENT_READ</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CONSTRAINED_DONT_CARE</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_DATAA_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_DATA_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_DIFFERENT_CLKENS</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ECCENCBYPASS</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ECC_DOUBLE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ECC_PIPELINE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ECC_TRIPLE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_FILE_REFERENCE</name> + <value>0</value> + </parameter> + <parameter> + <name>GUI_FORCE_TO_ZERO</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_INIT_FILE_LAYOUT</name> + <value>PORT_B</value> + </parameter> + <parameter> + <name>GUI_INIT_SIM_TO_X</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_LC_IMPLEMENTION_OPTIONS</name> + <value>0</value> + </parameter> + <parameter> + <name>GUI_MAX_DEPTH</name> + <value>Auto</value> + </parameter> + <parameter> + <name>GUI_MEMSIZE_BITS</name> + <value>256</value> + </parameter> + <parameter> + <name>GUI_MEMSIZE_WORDS</name> + <value>32</value> + </parameter> + <parameter> + <name>GUI_MEM_IN_BITS</name> + <value>0</value> + </parameter> + <parameter> + <name>GUI_MIF_FILENAME</name> + <value>./ram_1024.hex</value> + </parameter> + <parameter> + <name>GUI_MODE</name> + <value>1</value> + </parameter> + <parameter> + <name>GUI_MODULE_NAME</name> + <value>altera_syncram</value> + </parameter> + <parameter> + <name>GUI_NBE_A</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_NBE_B</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_NUMWORDS_A</name> + <value>32</value> + </parameter> + <parameter> + <name>GUI_NUMWORDS_B</name> + <value>32</value> + </parameter> + <parameter> + <name>GUI_OPTIMIZATION_OPTION</name> + <value>0</value> + </parameter> + <parameter> + <name>GUI_PR</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_QA_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_QB_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_Q_PORT_MODE</name> + <value>2</value> + </parameter> + <parameter> + <name>GUI_Q_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_RAM_BLOCK_TYPE</name> + <value>Auto</value> + </parameter> + <parameter> + <name>GUI_RDADDRESS_WIDTH</name> + <value>5</value> + </parameter> + <parameter> + <name>GUI_RDEN_DOUBLE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_RDEN_SINGLE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_RDW_A_MODE</name> + <value>New Data</value> + </parameter> + <parameter> + <name>GUI_RDW_B_MODE</name> + <value>New Data</value> + </parameter> + <parameter> + <name>GUI_READ_INPUT_RDADDRESS</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_READ_OUTPUT_QA</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_READ_OUTPUT_QB</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_RESOURCE_USAGE</name> + <value>1 M20K</value> + </parameter> + <parameter> + <name>GUI_SCLR_READ_OUTPUT_QA</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_SCLR_READ_OUTPUT_QB</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_TBENCH</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_TDP_EMULATE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_VAR_WIDTH</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_WIDTH_ECCENCPARITY</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_WIDTH_ECCSTATUS</name> + <value>2</value> + </parameter> + <parameter> + <name>GUI_WRADDRESS_WIDTH</name> + <value>5</value> + </parameter> + <parameter> + <name>GUI_WRITE_INPUT_PORTS</name> + <value>true</value> + </parameter> + </parameters> + <interconnectAssignments></interconnectAssignments> + <className>ram_2port</className> + <version>20.0.0</version> + <name>ram_2port_0</name> + <uniqueName>ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey</uniqueName> + <nonce>0</nonce> + <incidentConnections></incidentConnections> + <path>ip_arria10_e2sg_ram_crw_crw.ram_2port_0</path> + </instanceData> + <children></children> + </node> + </children> +</node> \ No newline at end of file diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.qgsynthc b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.qgsynthc new file mode 100644 index 0000000000000000000000000000000000000000..29a09a60a4c9001842e987258f52597e6b40b8a5 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.qgsynthc @@ -0,0 +1,320 @@ +<?xml version="1.0" ?> +<node xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:altera="http://www.altera.com/XMLSchema/Qsys/SystemTree"> + <instanceKey xsi:type="xs:string">ip_arria10_e2sg_ram_crw_crw</instanceKey> + <instanceData xsi:type="data"> + <parameters></parameters> + <interconnectAssignments></interconnectAssignments> + <className>ip_arria10_e2sg_ram_crw_crw</className> + <version>1.0</version> + <name>ip_arria10_e2sg_ram_crw_crw</name> + <uniqueName>ip_arria10_e2sg_ram_crw_crw</uniqueName> + <nonce>0</nonce> + <incidentConnections></incidentConnections> + </instanceData> + <children> + <node> + <instanceKey xsi:type="xs:string">ram_2port_0</instanceKey> + <instanceData xsi:type="data"> + <parameters> + <parameter> + <name>DEVICE_FAMILY</name> + <value>Arria 10</value> + </parameter> + <parameter> + <name>GUI_ACLR_READ_INPUT_RDADDRESS</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ACLR_READ_OUTPUT_QA</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ACLR_READ_OUTPUT_QB</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_BLANK_MEMORY</name> + <value>1</value> + </parameter> + <parameter> + <name>GUI_BYTE_ENABLE_A</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_BYTE_ENABLE_B</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_BYTE_ENABLE_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_BYTE_WIDTH_A</name> + <value>1</value> + </parameter> + <parameter> + <name>GUI_BYTE_WIDTH_B</name> + <value>1</value> + </parameter> + <parameter> + <name>GUI_CLKEN_ADDRESS_STALL_A</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_ADDRESS_STALL_B</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_INPUT_REG_A</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_INPUT_REG_B</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_OUTPUT_REG_A</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_OUTPUT_REG_B</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_RDADDRESSSTALL</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_READ_INPUT_REG</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_READ_OUTPUT_REG</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_WRADDRESSSTALL</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLKEN_WRITE_INPUT_REG</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CLOCK_TYPE</name> + <value>4</value> + </parameter> + <parameter> + <name>GUI_COHERENT_READ</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_CONSTRAINED_DONT_CARE</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_DATAA_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_DATA_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_DIFFERENT_CLKENS</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ECCENCBYPASS</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ECC_DOUBLE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ECC_PIPELINE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_ECC_TRIPLE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_FILE_REFERENCE</name> + <value>0</value> + </parameter> + <parameter> + <name>GUI_FORCE_TO_ZERO</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_INIT_FILE_LAYOUT</name> + <value>PORT_B</value> + </parameter> + <parameter> + <name>GUI_INIT_SIM_TO_X</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_LC_IMPLEMENTION_OPTIONS</name> + <value>0</value> + </parameter> + <parameter> + <name>GUI_MAX_DEPTH</name> + <value>Auto</value> + </parameter> + <parameter> + <name>GUI_MEMSIZE_BITS</name> + <value>256</value> + </parameter> + <parameter> + <name>GUI_MEMSIZE_WORDS</name> + <value>32</value> + </parameter> + <parameter> + <name>GUI_MEM_IN_BITS</name> + <value>0</value> + </parameter> + <parameter> + <name>GUI_MIF_FILENAME</name> + <value>./ram_1024.hex</value> + </parameter> + <parameter> + <name>GUI_MODE</name> + <value>1</value> + </parameter> + <parameter> + <name>GUI_MODULE_NAME</name> + <value>altera_syncram</value> + </parameter> + <parameter> + <name>GUI_NBE_A</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_NBE_B</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_NUMWORDS_A</name> + <value>32</value> + </parameter> + <parameter> + <name>GUI_NUMWORDS_B</name> + <value>32</value> + </parameter> + <parameter> + <name>GUI_OPTIMIZATION_OPTION</name> + <value>0</value> + </parameter> + <parameter> + <name>GUI_PR</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_QA_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_QB_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_Q_PORT_MODE</name> + <value>2</value> + </parameter> + <parameter> + <name>GUI_Q_WIDTH</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_RAM_BLOCK_TYPE</name> + <value>Auto</value> + </parameter> + <parameter> + <name>GUI_RDADDRESS_WIDTH</name> + <value>5</value> + </parameter> + <parameter> + <name>GUI_RDEN_DOUBLE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_RDEN_SINGLE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_RDW_A_MODE</name> + <value>New Data</value> + </parameter> + <parameter> + <name>GUI_RDW_B_MODE</name> + <value>New Data</value> + </parameter> + <parameter> + <name>GUI_READ_INPUT_RDADDRESS</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_READ_OUTPUT_QA</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_READ_OUTPUT_QB</name> + <value>true</value> + </parameter> + <parameter> + <name>GUI_RESOURCE_USAGE</name> + <value>1 M20K</value> + </parameter> + <parameter> + <name>GUI_SCLR_READ_OUTPUT_QA</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_SCLR_READ_OUTPUT_QB</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_TBENCH</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_TDP_EMULATE</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_VAR_WIDTH</name> + <value>false</value> + </parameter> + <parameter> + <name>GUI_WIDTH_ECCENCPARITY</name> + <value>8</value> + </parameter> + <parameter> + <name>GUI_WIDTH_ECCSTATUS</name> + <value>2</value> + </parameter> + <parameter> + <name>GUI_WRADDRESS_WIDTH</name> + <value>5</value> + </parameter> + <parameter> + <name>GUI_WRITE_INPUT_PORTS</name> + <value>true</value> + </parameter> + </parameters> + <interconnectAssignments></interconnectAssignments> + <className>ram_2port</className> + <version>20.0.0</version> + <name>ram_2port_0</name> + <uniqueName>ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey</uniqueName> + <nonce>0</nonce> + <incidentConnections></incidentConnections> + <path>ip_arria10_e2sg_ram_crw_crw.ram_2port_0</path> + </instanceData> + <children></children> + </node> + </children> +</node> \ No newline at end of file diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.qip b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.qip new file mode 100644 index 0000000000000000000000000000000000000000..d9da19dd85288ab52a1a4634c8f7b96a88e5026f --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.qip @@ -0,0 +1,113 @@ +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_TOOL_NAME "QsysPrimePro" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_TOOL_VERSION "19.4" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_TOOL_ENV "QsysPrimePro" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_TOOL_VENDOR_NAME "Intel Corporation" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_TOP_LEVEL_COMPONENT_NAME "ram_2port" +set_global_assignment -library "ip_arria10_e2sg_ram_crw_crw" -name SOPCINFO_FILE [file join $::quartus(qip_path) "ip_arria10_e2sg_ram_crw_crw.sopcinfo"] +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name SLD_INFO "QSYS_NAME ip_arria10_e2sg_ram_crw_crw HAS_SOPCINFO 1 GENERATION_ID 0" +set_global_assignment -library "ip_arria10_e2sg_ram_crw_crw" -name MISC_FILE [file join $::quartus(qip_path) "ip_arria10_e2sg_ram_crw_crw.cmp"] +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_TARGETED_DEVICE_FAMILY "Arria 10" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_GENERATED_DEVICE_FAMILY "{Arria 10}" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_QSYS_MODE "STANDALONE" +set_global_assignment -name SYNTHESIS_ONLY_QIP ON +set_global_assignment -library "ip_arria10_e2sg_ram_crw_crw" -name MISC_FILE [file join $::quartus(qip_path) "../ip_arria10_e2sg_ram_crw_crw.ip"] + +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_NAME "aXBfYXJyaWExMF9lMnNnX3JhbV9jcndfY3J3X3JhbV8ycG9ydF8yMDAwX3p4bnY0ZXk=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_DISPLAY_NAME "UkFNOiAyLVBPUlQgSW50ZWwgRlBHQSBJUA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_VERSION "MjAuMC4w" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "REVWSUNFX0ZBTUlMWQ==::QXJyaWEgMTA=::RGV2aWNlIEZhbWlseQ==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX01PREU=::MQ==::T3BlcmF0aW9uIE1vZGU=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX01FTV9JTl9CSVRT::MA==::VHlwZQ==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX01FTVNJWkVfQklUUw==::MjU2::SG93IG1hbnkgYml0cyBvZiBtZW1vcnk/" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX01FTVNJWkVfV09SRFM=::MzI=::SG93IG1hbnkgd29yZHMgb2YgbWVtb3J5Pw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1FBX1dJRFRI::OA==::SG93IHdpZGUgc2hvdWxkIHRoZSAncV9hJyBvdXRwdXQgYnVzIGJlPw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1FCX1dJRFRI::OA==::SG93IHdpZGUgc2hvdWxkIHRoZSAncV9iJyBvdXRwdXQgYnVzIGJlPw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0RBVEFBX1dJRFRI::OA==::SG93IHdpZGUgc2hvdWxkIHRoZSAnZGF0YV9hJyBpbnB1dCBidXMgYmU/" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX01BWF9ERVBUSA==::QXV0bw==::U2V0IHRoZSBtYXhpbXVtIGJsb2NrIGRlcHRoIHRv" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1dJRFRIX0VDQ0VOQ1BBUklUWQ==::OA==::U2V0IHRoZSBlY2MgZW5jIHBhcml0eSB3aWR0aA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1RCRU5DSA==::ZmFsc2U=::VEVTVElORw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1REUF9FTVVMQVRF::ZmFsc2U=::RW11bGF0ZSBURFAgZHVhbCBjbG9jayBtb2Rl" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1ZBUl9XSURUSA==::ZmFsc2U=::VXNlIGRpZmZlcmVudCBkYXRhIHdpZHRocyBvbiBkaWZmZXJlbnQgcG9ydHM=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1JBTV9CTE9DS19UWVBF::QXV0bw==::UmFtIEJsb2NrIFR5cGU=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0xDX0lNUExFTUVOVElPTl9PUFRJT05T::MA==::SG93IHNob3VsZCB0aGUgbWVtb3J5IGJlIGltcGxlbWVudGVkPw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0ZJTEVfUkVGRVJFTkNF::MA==::SW5pdGlhbGl6YXRpb24gRmlsZTo=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMT0NLX1RZUEU=::NA==::V2hpY2ggY2xvY2tpbmcgbWV0aG9kIGRvIHlvdSB3YW50IHRvIHVzZT8=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1JERU5fU0lOR0xF::ZmFsc2U=::Q3JlYXRlIGEgJ3JkZW4nIHJlYWQgZW5hYmxlIHNpZ25hbA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1JERU5fRE9VQkxF::ZmFsc2U=::Q3JlYXRlICdyZGVuX2EnIGFuZCAncmRlbl9iJyByZWFkIGVuYWJsZSBzaWduYWxz" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0JZVEVfRU5BQkxFX0E=::ZmFsc2U=::Q3JlYXRlIGJ5dGUgZW5hYmxlIGZvciBwb3J0IEE=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0JZVEVfRU5BQkxFX0I=::ZmFsc2U=::Q3JlYXRlIGJ5dGUgZW5hYmxlIGZvciBwb3J0IEI=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0VDQ19ET1VCTEU=::ZmFsc2U=::RW5hYmxlIEVycm9yIENvcnJlY3Rpb24gQ2hlY2sgKEVDQyk=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0VDQ19UUklQTEU=::ZmFsc2U=::RW5hYmxlIEVycm9yIENvcnJlY3Rpb24gQ2hlY2sgKEVDQyk=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0VDQ19QSVBFTElORQ==::ZmFsc2U=::RW5hYmxlIEVDQyBQaXBlbGluZSBSZWdpc3RlcnM=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0VDQ0VOQ0JZUEFTUw==::ZmFsc2U=::RW5hYmxlIEVDQyBFbmNvZGVyIEJ5cGFzcw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NPSEVSRU5UX1JFQUQ=::ZmFsc2U=::RW5hYmxlIENvaGVyZW50IFJlYWQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0ZPUkNFX1RPX1pFUk8=::ZmFsc2U=::RW5hYmxlIEZvcmNlIFRvIFplcm8=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1BS::ZmFsc2U=::SW1wbGVtZW50IGNsb2NrLWVuYWJsZSBjaXJjdWl0cnkgZm9yIHVzZSBpbiBhIHBhcnRpYWwgcmVjb25maWd1cmF0aW9uIHJlZ2lvbg==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1dSSVRFX0lOUFVUX1BPUlRT::dHJ1ZQ==::QWxsIHdyaXRlIGlucHV0IHBvcnRz" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1JFQURfSU5QVVRfUkRBRERSRVNT::dHJ1ZQ==::cmRhZGRyZXNzIHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1JFQURfT1VUUFVUX1FB::dHJ1ZQ==::cV9hIHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1JFQURfT1VUUFVUX1FC::dHJ1ZQ==::cV9iIHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0RJRkZFUkVOVF9DTEtFTlM=::ZmFsc2U=::VXNlIGRpZmZlcmVudCBjbG9jayBlbmFibGVzIGZvciByZWdpc3RlcnM=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX1dSSVRFX0lOUFVUX1JFRw==::ZmFsc2U=::VXNlIGNsb2NrIGVuYWJsZSBmb3Igd3JpdGUgaW5wdXQgcmVnaXN0ZXJz" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX1JFQURfSU5QVVRfUkVH::ZmFsc2U=::VXNlIGNsb2NrIGVuYWJsZSBmb3IgcmVhZCBpbnB1dCByZWdpc3RlcnM=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX1JFQURfT1VUUFVUX1JFRw==::ZmFsc2U=::VXNlIGNsb2NrIGVuYWJsZSBmb3Igb3V0cHV0IHJlZ2lzdGVycw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX0lOUFVUX1JFR19B::ZmFsc2U=::VXNlIGNsb2NrIGVuYWJsZSBmb3IgcG9ydCBBIGlucHV0IHJlZ2lzdGVycw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX0lOUFVUX1JFR19C::ZmFsc2U=::VXNlIGNsb2NrIGVuYWJsZSBmb3IgcG9ydCBCIGlucHV0IHJlZ2lzdGVycw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX09VVFBVVF9SRUdfQQ==::ZmFsc2U=::VXNlIGNsb2NrIGVuYWJsZSBmb3IgcG9ydCBBIG91dHB1dCByZWdpc3RlcnM=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX09VVFBVVF9SRUdfQg==::ZmFsc2U=::VXNlIGNsb2NrIGVuYWJsZSBmb3IgcG9ydCBCIG91dHB1dCByZWdpc3RlcnM=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX0FERFJFU1NfU1RBTExfQQ==::ZmFsc2U=::Q3JlYXRlIGFuIGFkZHJlc3NzdGFsbF9hIGlucHV0IHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX0FERFJFU1NfU1RBTExfQg==::ZmFsc2U=::Q3JlYXRlIGFuIGFkZHJlc3NzdGFsbF9iIGlucHV0IHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX1dSQUREUkVTU1NUQUxM::ZmFsc2U=::Q3JlYXRlIGFuIHdyX2FkZHJlc3NzdGFsbCBpbnB1dCBwb3J0" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0NMS0VOX1JEQUREUkVTU1NUQUxM::ZmFsc2U=::Q3JlYXRlIGFuIHJkX2FkZHJlc3NzdGFsbCBpbnB1dCBwb3J0" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0FDTFJfUkVBRF9JTlBVVF9SREFERFJFU1M=::ZmFsc2U=::cmRhZGRyZXNzIHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0FDTFJfUkVBRF9PVVRQVVRfUUE=::ZmFsc2U=::cV9hIHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0FDTFJfUkVBRF9PVVRQVVRfUUI=::ZmFsc2U=::cV9iIHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1NDTFJfUkVBRF9PVVRQVVRfUUE=::ZmFsc2U=::cV9hIHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1NDTFJfUkVBRF9PVVRQVVRfUUI=::ZmFsc2U=::cV9iIHBvcnQ=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1JEV19BX01PREU=::TmV3IERhdGE=::V2hhdCBzaG91bGQgdGhlIHFfYSBvdXRwdXQgYmUgd2hlbiByZWFkaW5nIGZyb20gYSBtZW1vcnkgbG9jYXRpb24gYmVpbmcgd3JpdHRlbiB0bz8=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1JEV19CX01PREU=::TmV3IERhdGE=::V2hhdCBzaG91bGQgdGhlIHFfYiBvdXRwdXQgYmUgd2hlbiByZWFkaW5nIGZyb20gYSBtZW1vcnkgbG9jYXRpb24gYmVpbmcgd3JpdHRlbiB0bz8=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX05CRV9B::dHJ1ZQ==::R2V0IHgncyBmb3Igd3JpdGUgbWFza2VkIGJ5dGVzIGluc3RlYWQgb2Ygb2xkIGRhdGEgd2hlbiBieXRlIGVuYWJsZSBpcyB1c2Vk" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX05CRV9C::dHJ1ZQ==::R2V0IHgncyBmb3Igd3JpdGUgbWFza2VkIGJ5dGVzIGluc3RlYWQgb2Ygb2xkIGRhdGEgd2hlbiBieXRlIGVuYWJsZSBpcyB1c2Vk" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0JMQU5LX01FTU9SWQ==::MQ==::VHlwZQ==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0lOSVRfRklMRV9MQVlPVVQ=::UE9SVF9C::VGhlIGluaXRpYWwgY29udGVudCBmaWxlIHNob3VsZCBjb25mb3JtIHRvIHdoaWNoIHBvcnQncyBkaW1lbnNpb25zPw==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX0lOSVRfU0lNX1RPX1g=::ZmFsc2U=::SW5pdGlhbGl6ZSBtZW1vcnkgY29udGVudCBkYXRhIHRvIFhYLi5YIG9uIHBvd2VyLXVwIGluIHNpbXVsYXRpb24=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX01JRl9GSUxFTkFNRQ==::Li9yYW1fMTAyNC5oZXg=::RmlsZSBuYW1l" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_PARAMETER "R1VJX1JFU09VUkNFX1VTQUdF::MSBNMjBL::UmVzb3VyY2UgVXNhZ2U=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_GROUP "QmFzaWMgRnVuY3Rpb25zL09uIENoaXAgTWVtb3J5" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9kb2N1bWVudGF0aW9uL211ZjE0ODg1MTE0Nzg4MjUuaHRtbA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9kb2N1bWVudGF0aW9uL21jbjE0MTMxODIyOTI1NjguaHRtbA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9kb2N1bWVudGF0aW9uL21jbjE0NDEwOTI5NTgxOTguaHRtbA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9kb2N1bWVudGF0aW9uL2ZubzE1NTA2MjYwMjcyNzQuaHRtbA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9kb2N1bWVudGF0aW9uL2VpczE0MTM0MjU3MTY5NjUuaHRtbA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9kb2N1bWVudGF0aW9uL3ZnbzE0Mzk0NTEwMDAzMDQuaHRtbA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9kb2N1bWVudGF0aW9uL2ZqbjE1NDg5MDM4MzI4ODkuaHRtbA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_COMPONENT_DOCUMENTATION_LINK "aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL3Byb2dyYW1tYWJsZS9kb2N1bWVudGF0aW9uL2txZDE1MTczNjI0NzQyNDEuaHRtbA==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_NAME "aXBfYXJyaWExMF9lMnNnX3JhbV9jcndfY3J3" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_DISPLAY_NAME "c3lzdGVt" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_REPORT_HIERARCHY "On" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_AUTHOR "SW50ZWwgQ29ycG9yYXRpb24=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_VERSION "MS4w" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19HRU5FUkFUSU9OX0lE::MA==::QXV0byBHRU5FUkFUSU9OX0lE" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19ERVZJQ0VfRkFNSUxZ::QXJyaWEgMTA=::QXV0byBERVZJQ0VfRkFNSUxZ" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19ERVZJQ0U=::MTBBWDExNVUzRjQ1RTJTRw==::QXV0byBERVZJQ0U=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19ERVZJQ0VfU1BFRURHUkFERQ==::Mg==::QXV0byBERVZJQ0VfU1BFRURHUkFERQ==" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19DTE9DS19BX0NMT0NLX1JBVEU=::LTE=::QXV0byBDTE9DS19SQVRF" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19DTE9DS19BX0NMT0NLX0RPTUFJTg==::LTE=::QXV0byBDTE9DS19ET01BSU4=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19DTE9DS19BX1JFU0VUX0RPTUFJTg==::LTE=::QXV0byBSRVNFVF9ET01BSU4=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19DTE9DS19CX0NMT0NLX1JBVEU=::LTE=::QXV0byBDTE9DS19SQVRF" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19DTE9DS19CX0NMT0NLX0RPTUFJTg==::LTE=::QXV0byBDTE9DS19ET01BSU4=" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw" -library "ip_arria10_e2sg_ram_crw_crw" -name IP_COMPONENT_PARAMETER "QVVUT19DTE9DS19CX1JFU0VUX0RPTUFJTg==::LTE=::QXV0byBSRVNFVF9ET01BSU4=" + + +set_global_assignment -library "ram_2port_2000" -name VERILOG_FILE [file join $::quartus(qip_path) "ram_2port_2000/synth/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.v"] +set_global_assignment -library "ip_arria10_e2sg_ram_crw_crw" -name VHDL_FILE [file join $::quartus(qip_path) "synth/ip_arria10_e2sg_ram_crw_crw.vhd"] + + +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_TOOL_NAME "ram_2port" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_TOOL_VERSION "20.0.0" +set_global_assignment -entity "ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" -library "ram_2port_2000" -name IP_TOOL_ENV "QsysPrimePro" + diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.sopcinfo b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.sopcinfo new file mode 100644 index 0000000000000000000000000000000000000000..07f8a2bbc0dbefe44617e6e39f1d160da8e17e31 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.sopcinfo @@ -0,0 +1,1316 @@ +<?xml version="1.0" encoding="UTF-8"?> +<EnsembleReport + name="ip_arria10_e2sg_ram_crw_crw" + kind="ip_arria10_e2sg_ram_crw_crw" + version="1.0" + fabric="QSYS"> + <!-- Format version 19.4 64 (Future versions may contain additional information.) --> + <!-- 2021.04.14.00:17:38 --> + <!-- A collection of modules and connections --> + <parameter name="AUTO_GENERATION_ID"> + <type>java.lang.Integer</type> + <value>0</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>GENERATION_ID</sysinfo_type> + </parameter> + <parameter name="AUTO_UNIQUE_ID"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>UNIQUE_ID</sysinfo_type> + </parameter> + <parameter name="AUTO_DEVICE_FAMILY"> + <type>java.lang.String</type> + <value>ARRIA10</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>DEVICE_FAMILY</sysinfo_type> + </parameter> + <parameter name="AUTO_DEVICE"> + <type>java.lang.String</type> + <value>10AX115U3F45E2SG</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>DEVICE</sysinfo_type> + </parameter> + <parameter name="AUTO_DEVICE_SPEEDGRADE"> + <type>java.lang.String</type> + <value>2</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>DEVICE_SPEEDGRADE</sysinfo_type> + </parameter> + <parameter name="AUTO_CLOCK_A_CLOCK_RATE"> + <type>java.lang.Long</type> + <value>-1</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>CLOCK_RATE</sysinfo_type> + <sysinfo_arg>clock_a</sysinfo_arg> + </parameter> + <parameter name="AUTO_CLOCK_A_CLOCK_DOMAIN"> + <type>java.lang.Integer</type> + <value>-1</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>CLOCK_DOMAIN</sysinfo_type> + <sysinfo_arg>clock_a</sysinfo_arg> + </parameter> + <parameter name="AUTO_CLOCK_A_RESET_DOMAIN"> + <type>java.lang.Integer</type> + <value>-1</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>RESET_DOMAIN</sysinfo_type> + <sysinfo_arg>clock_a</sysinfo_arg> + </parameter> + <parameter name="AUTO_CLOCK_B_CLOCK_RATE"> + <type>java.lang.Long</type> + <value>-1</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>CLOCK_RATE</sysinfo_type> + <sysinfo_arg>clock_b</sysinfo_arg> + </parameter> + <parameter name="AUTO_CLOCK_B_CLOCK_DOMAIN"> + <type>java.lang.Integer</type> + <value>-1</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>CLOCK_DOMAIN</sysinfo_type> + <sysinfo_arg>clock_b</sysinfo_arg> + </parameter> + <parameter name="AUTO_CLOCK_B_RESET_DOMAIN"> + <type>java.lang.Integer</type> + <value>-1</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>RESET_DOMAIN</sysinfo_type> + <sysinfo_arg>clock_b</sysinfo_arg> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>Arria 10</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>DEVICE_FAMILY</sysinfo_type> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <module + name="ram_2port_0" + kind="ram_2port" + version="20.0.0" + entity="ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" + library="ram_2port_2000" + path="ram_2port_0" + hpath="ram_2port_0"> + <!-- Describes a single module. Module parameters are +the requested settings for a module instance. --> + <parameter name="DEVICE_FAMILY"> + <type>java.lang.String</type> + <value>ARRIA10</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + <sysinfo_type>DEVICE_FAMILY</sysinfo_type> + </parameter> + <parameter name="GUI_MODE"> + <type>int</type> + <value>1</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_MEM_IN_BITS"> + <type>int</type> + <value>0</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_MEMSIZE_BITS"> + <type>int</type> + <value>256</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_MEMSIZE_WORDS"> + <type>int</type> + <value>32</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_QA_WIDTH"> + <type>int</type> + <value>8</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_QB_WIDTH"> + <type>int</type> + <value>8</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_DATAA_WIDTH"> + <type>int</type> + <value>8</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_MAX_DEPTH"> + <type>java.lang.String</type> + <value>Auto</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_WIDTH_ECCENCPARITY"> + <type>int</type> + <value>8</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_TBENCH"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_TDP_EMULATE"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_VAR_WIDTH"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_RAM_BLOCK_TYPE"> + <type>java.lang.String</type> + <value>Auto</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_LC_IMPLEMENTION_OPTIONS"> + <type>int</type> + <value>0</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_FILE_REFERENCE"> + <type>int</type> + <value>0</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_OPTIMIZATION_OPTION"> + <type>int</type> + <value>0</value> + <derived>false</derived> + <enabled>false</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLOCK_TYPE"> + <type>int</type> + <value>4</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_RDEN_SINGLE"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_RDEN_DOUBLE"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_BYTE_ENABLE_A"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_BYTE_ENABLE_B"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_ECC_DOUBLE"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_ECC_TRIPLE"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_ECC_PIPELINE"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_ECCENCBYPASS"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_COHERENT_READ"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_FORCE_TO_ZERO"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_PR"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_BYTE_ENABLE_WIDTH"> + <type>int</type> + <value>8</value> + <derived>false</derived> + <enabled>false</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_WRITE_INPUT_PORTS"> + <type>boolean</type> + <value>true</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_READ_INPUT_RDADDRESS"> + <type>boolean</type> + <value>true</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_READ_OUTPUT_QA"> + <type>boolean</type> + <value>true</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_READ_OUTPUT_QB"> + <type>boolean</type> + <value>true</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_DIFFERENT_CLKENS"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_WRITE_INPUT_REG"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_READ_INPUT_REG"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_READ_OUTPUT_REG"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_INPUT_REG_A"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_INPUT_REG_B"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_OUTPUT_REG_A"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_OUTPUT_REG_B"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_ADDRESS_STALL_A"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_ADDRESS_STALL_B"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_WRADDRESSSTALL"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CLKEN_RDADDRESSSTALL"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_ACLR_READ_INPUT_RDADDRESS"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_ACLR_READ_OUTPUT_QA"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_ACLR_READ_OUTPUT_QB"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_SCLR_READ_OUTPUT_QA"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_SCLR_READ_OUTPUT_QB"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_Q_PORT_MODE"> + <type>int</type> + <value>2</value> + <derived>false</derived> + <enabled>false</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_CONSTRAINED_DONT_CARE"> + <type>boolean</type> + <value>true</value> + <derived>false</derived> + <enabled>false</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_RDW_A_MODE"> + <type>java.lang.String</type> + <value>New Data</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_RDW_B_MODE"> + <type>java.lang.String</type> + <value>New Data</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_NBE_A"> + <type>boolean</type> + <value>true</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_NBE_B"> + <type>boolean</type> + <value>true</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_BLANK_MEMORY"> + <type>int</type> + <value>1</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_INIT_FILE_LAYOUT"> + <type>java.lang.String</type> + <value>PORT_B</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_INIT_SIM_TO_X"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_MIF_FILENAME"> + <type>java.lang.String</type> + <value>./ram_1024.hex</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_BYTE_WIDTH_A"> + <type>int</type> + <value>1</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_BYTE_WIDTH_B"> + <type>int</type> + <value>1</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_MODULE_NAME"> + <type>java.lang.String</type> + <value>altera_syncram</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_DATA_WIDTH"> + <type>int</type> + <value>8</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_Q_WIDTH"> + <type>int</type> + <value>8</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_WRADDRESS_WIDTH"> + <type>int</type> + <value>5</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_RDADDRESS_WIDTH"> + <type>int</type> + <value>5</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_WIDTH_ECCSTATUS"> + <type>int</type> + <value>2</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_NUMWORDS_A"> + <type>int</type> + <value>32</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_NUMWORDS_B"> + <type>int</type> + <value>32</value> + <derived>true</derived> + <enabled>false</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="GUI_RESOURCE_USAGE"> + <type>java.lang.String</type> + <value>1 M20K</value> + <derived>true</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <interface name="data_a" kind="conduit_end" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>input</value> + </assignment> + <parameter name="associatedClock"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="associatedReset"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="prSafe"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>conduit</type> + <isStart>false</isStart> + <port> + <name>data_a</name> + <direction>Input</direction> + <width>8</width> + <role>datain_a</role> + </port> + </interface> + <interface name="q_a" kind="conduit_end" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>output</value> + </assignment> + <parameter name="associatedClock"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="associatedReset"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="prSafe"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>conduit</type> + <isStart>false</isStart> + <port> + <name>q_a</name> + <direction>Output</direction> + <width>8</width> + <role>dataout_a</role> + </port> + </interface> + <interface name="data_b" kind="conduit_end" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>input</value> + </assignment> + <parameter name="associatedClock"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="associatedReset"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="prSafe"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>conduit</type> + <isStart>false</isStart> + <port> + <name>data_b</name> + <direction>Input</direction> + <width>8</width> + <role>datain_b</role> + </port> + </interface> + <interface name="q_b" kind="conduit_end" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>output</value> + </assignment> + <parameter name="associatedClock"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="associatedReset"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="prSafe"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>conduit</type> + <isStart>false</isStart> + <port> + <name>q_b</name> + <direction>Output</direction> + <width>8</width> + <role>dataout_b</role> + </port> + </interface> + <interface name="address_a" kind="conduit_end" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>input</value> + </assignment> + <parameter name="associatedClock"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="associatedReset"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="prSafe"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>conduit</type> + <isStart>false</isStart> + <port> + <name>address_a</name> + <direction>Input</direction> + <width>5</width> + <role>address_a</role> + </port> + </interface> + <interface name="address_b" kind="conduit_end" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>input</value> + </assignment> + <parameter name="associatedClock"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="associatedReset"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="prSafe"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>conduit</type> + <isStart>false</isStart> + <port> + <name>address_b</name> + <direction>Input</direction> + <width>5</width> + <role>address_b</role> + </port> + </interface> + <interface name="wren_a" kind="conduit_end" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>input</value> + </assignment> + <parameter name="associatedClock"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="associatedReset"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="prSafe"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>conduit</type> + <isStart>false</isStart> + <port> + <name>wren_a</name> + <direction>Input</direction> + <width>1</width> + <role>wren_a</role> + </port> + </interface> + <interface name="wren_b" kind="conduit_end" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>input</value> + </assignment> + <parameter name="associatedClock"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="associatedReset"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="prSafe"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>conduit</type> + <isStart>false</isStart> + <port> + <name>wren_b</name> + <direction>Input</direction> + <width>1</width> + <role>wren_b</role> + </port> + </interface> + <interface name="clock_a" kind="clock_sink" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>input</value> + </assignment> + <parameter name="externallyDriven"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="ptfSchematicName"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>clock</type> + <isStart>false</isStart> + <port> + <name>clock_a</name> + <direction>Input</direction> + <width>1</width> + <role>clk</role> + </port> + </interface> + <interface name="clock_b" kind="clock_sink" version="19.4"> + <!-- The connection points exposed by a module instance for the +particular module parameters. Connection points and their +parameters are a RESULT of the module parameters. --> + <assignment> + <name>ui.blockdiagram.direction</name> + <value>input</value> + </assignment> + <parameter name="externallyDriven"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="ptfSchematicName"> + <type>java.lang.String</type> + <value></value> + <derived>false</derived> + <enabled>true</enabled> + <visible>false</visible> + <valid>true</valid> + </parameter> + <parameter name="deviceFamily"> + <type>java.lang.String</type> + <value>UNKNOWN</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <parameter name="generateLegacySim"> + <type>boolean</type> + <value>false</value> + <derived>false</derived> + <enabled>true</enabled> + <visible>true</visible> + <valid>true</valid> + </parameter> + <type>clock</type> + <isStart>false</isStart> + <port> + <name>clock_b</name> + <direction>Input</direction> + <width>1</width> + <role>clk</role> + </port> + </interface> + </module> + <plugin> + <instanceCount>1</instanceCount> + <name>ram_2port</name> + <type>com.altera.entityinterfaces.IElementClass</type> + <subtype>com.altera.entityinterfaces.IModule</subtype> + <displayName>RAM: 2-PORT Intel FPGA IP</displayName> + <version>20.0.0</version> + </plugin> + <plugin> + <instanceCount>8</instanceCount> + <name>conduit_end</name> + <type>com.altera.entityinterfaces.IElementClass</type> + <subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype> + <displayName>Conduit</displayName> + <version>19.4</version> + </plugin> + <plugin> + <instanceCount>2</instanceCount> + <name>clock_sink</name> + <type>com.altera.entityinterfaces.IElementClass</type> + <subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype> + <displayName>Clock Input</displayName> + <version>19.4</version> + </plugin> + <reportVersion>19.4 64</reportVersion> + <uniqueIdentifier></uniqueIdentifier> +</EnsembleReport> diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.spd b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.spd new file mode 100644 index 0000000000000000000000000000000000000000..b3efa6caa72f871969207047e29a96a2be34615b --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.spd @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<simPackage> + <file + path="ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd" + type="VHDL" + library="ram_2port_2000" /> + <file + path="sim/ip_arria10_e2sg_ram_crw_crw.vhd" + type="VHDL" + library="ip_arria10_e2sg_ram_crw_crw" + hasInlineConfiguration="true" /> + <topLevel name="ip_arria10_e2sg_ram_crw_crw.ip_arria10_e2sg_ram_crw_crw" /> + <deviceFamily name="arria10" /> +</simPackage> diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.xml b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.xml new file mode 100644 index 0000000000000000000000000000000000000000..5cbe0879e96c42d70803be7bb12de9af48feb407 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw.xml @@ -0,0 +1,267 @@ +<?xml version="1.0" encoding="UTF-8"?> +<deploy + date="2021.04.14.00:17:38" + outputDirectory="/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/"> + <perimeter> + <parameter + name="AUTO_GENERATION_ID" + type="Integer" + defaultValue="0" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_UNIQUE_ID" + type="String" + defaultValue="" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_DEVICE_FAMILY" + type="String" + defaultValue="Arria 10" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_DEVICE" + type="String" + defaultValue="10AX115U3F45E2SG" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_DEVICE_SPEEDGRADE" + type="String" + defaultValue="2" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_CLOCK_A_CLOCK_RATE" + type="Long" + defaultValue="-1" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_CLOCK_A_CLOCK_DOMAIN" + type="Integer" + defaultValue="-1" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_CLOCK_A_RESET_DOMAIN" + type="Integer" + defaultValue="-1" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_CLOCK_B_CLOCK_RATE" + type="Long" + defaultValue="-1" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_CLOCK_B_CLOCK_DOMAIN" + type="Integer" + defaultValue="-1" + onHdl="0" + affectsHdl="1" /> + <parameter + name="AUTO_CLOCK_B_RESET_DOMAIN" + type="Integer" + defaultValue="-1" + onHdl="0" + affectsHdl="1" /> + <interface name="data_a" kind="conduit" start="0"> + <property name="associatedClock" value="" /> + <property name="associatedReset" value="" /> + <property name="prSafe" value="false" /> + <port name="data_a" direction="input" role="datain_a" width="8" /> + </interface> + <interface name="q_a" kind="conduit" start="0"> + <property name="associatedClock" value="" /> + <property name="associatedReset" value="" /> + <property name="prSafe" value="false" /> + <port name="q_a" direction="output" role="dataout_a" width="8" /> + </interface> + <interface name="data_b" kind="conduit" start="0"> + <property name="associatedClock" value="" /> + <property name="associatedReset" value="" /> + <property name="prSafe" value="false" /> + <port name="data_b" direction="input" role="datain_b" width="8" /> + </interface> + <interface name="q_b" kind="conduit" start="0"> + <property name="associatedClock" value="" /> + <property name="associatedReset" value="" /> + <property name="prSafe" value="false" /> + <port name="q_b" direction="output" role="dataout_b" width="8" /> + </interface> + <interface name="address_a" kind="conduit" start="0"> + <property name="associatedClock" value="" /> + <property name="associatedReset" value="" /> + <property name="prSafe" value="false" /> + <port name="address_a" direction="input" role="address_a" width="5" /> + </interface> + <interface name="address_b" kind="conduit" start="0"> + <property name="associatedClock" value="" /> + <property name="associatedReset" value="" /> + <property name="prSafe" value="false" /> + <port name="address_b" direction="input" role="address_b" width="5" /> + </interface> + <interface name="wren_a" kind="conduit" start="0"> + <property name="associatedClock" value="" /> + <property name="associatedReset" value="" /> + <property name="prSafe" value="false" /> + <port name="wren_a" direction="input" role="wren_a" width="1" /> + </interface> + <interface name="wren_b" kind="conduit" start="0"> + <property name="associatedClock" value="" /> + <property name="associatedReset" value="" /> + <property name="prSafe" value="false" /> + <port name="wren_b" direction="input" role="wren_b" width="1" /> + </interface> + <interface name="clock_a" kind="clock" start="0"> + <property name="clockRate" value="0" /> + <property name="externallyDriven" value="false" /> + <property name="ptfSchematicName" value="" /> + <port name="clock_a" direction="input" role="clk" width="1" /> + </interface> + <interface name="clock_b" kind="clock" start="0"> + <property name="clockRate" value="0" /> + <property name="externallyDriven" value="false" /> + <property name="ptfSchematicName" value="" /> + <port name="clock_b" direction="input" role="clk" width="1" /> + </interface> + </perimeter> + <entity + kind="ip_arria10_e2sg_ram_crw_crw" + version="1.0" + name="ip_arria10_e2sg_ram_crw_crw"> + <parameter name="AUTO_GENERATION_ID" value="0" /> + <parameter name="AUTO_DEVICE" value="10AX115U3F45E2SG" /> + <parameter name="AUTO_DEVICE_FAMILY" value="Arria 10" /> + <parameter name="AUTO_CLOCK_B_CLOCK_DOMAIN" value="-1" /> + <parameter name="AUTO_CLOCK_A_CLOCK_DOMAIN" value="-1" /> + <parameter name="AUTO_UNIQUE_ID" value="" /> + <parameter name="AUTO_CLOCK_A_RESET_DOMAIN" value="-1" /> + <parameter name="AUTO_DEVICE_SPEEDGRADE" value="2" /> + <parameter name="AUTO_CLOCK_A_CLOCK_RATE" value="-1" /> + <parameter name="AUTO_CLOCK_B_RESET_DOMAIN" value="-1" /> + <parameter name="AUTO_CLOCK_B_CLOCK_RATE" value="-1" /> + <generatedFiles> + <file + path="/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/synth/ip_arria10_e2sg_ram_crw_crw.vhd" + attributes="CONTAINS_INLINE_CONFIGURATION" /> + </generatedFiles> + <childGeneratedFiles> + <file + path="/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/synth/ip_arria10_e2sg_ram_crw_crw.vhd" + attributes="CONTAINS_INLINE_CONFIGURATION" /> + </childGeneratedFiles> + <sourceFiles> + <file + path="/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw.ip" /> + </sourceFiles> + <childSourceFiles> + <file + path="/home/software/Altera/19.4.0.64/ip/altera/megafunctions/ram_2port/ram_2_port_hw.tcl" /> + </childSourceFiles> + <messages> + <message level="Info" culprit="ip_arria10_e2sg_ram_crw_crw">"Generating: ip_arria10_e2sg_ram_crw_crw"</message> + <message level="Info" culprit="ip_arria10_e2sg_ram_crw_crw">"Generating: ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey"</message> + </messages> + </entity> + <entity + kind="ram_2port" + version="20.0.0" + name="ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey"> + <parameter name="GUI_CLKEN_ADDRESS_STALL_A" value="false" /> + <parameter name="GUI_RDEN_DOUBLE" value="false" /> + <parameter name="GUI_NBE_A" value="true" /> + <parameter name="GUI_NUMWORDS_B" value="32" /> + <parameter name="GUI_ECC_TRIPLE" value="false" /> + <parameter name="GUI_MIF_FILENAME" value="./ram_1024.hex" /> + <parameter name="GUI_NUMWORDS_A" value="32" /> + <parameter name="GUI_RAM_BLOCK_TYPE" value="Auto" /> + <parameter name="GUI_MEMSIZE_WORDS" value="32" /> + <parameter name="GUI_CONSTRAINED_DONT_CARE" value="true" /> + <parameter name="GUI_BLANK_MEMORY" value="1" /> + <parameter name="GUI_CLKEN_OUTPUT_REG_A" value="false" /> + <parameter name="GUI_CLKEN_OUTPUT_REG_B" value="false" /> + <parameter name="GUI_RDW_B_MODE" value="New Data" /> + <parameter name="GUI_BYTE_ENABLE_B" value="false" /> + <parameter name="GUI_BYTE_ENABLE_A" value="false" /> + <parameter name="GUI_BYTE_ENABLE_WIDTH" value="8" /> + <parameter name="GUI_MODE" value="1" /> + <parameter name="GUI_CLKEN_READ_OUTPUT_REG" value="false" /> + <parameter name="GUI_RESOURCE_USAGE" value="1 M20K" /> + <parameter name="GUI_SCLR_READ_OUTPUT_QB" value="false" /> + <parameter name="GUI_SCLR_READ_OUTPUT_QA" value="false" /> + <parameter name="GUI_QA_WIDTH" value="8" /> + <parameter name="GUI_NBE_B" value="true" /> + <parameter name="GUI_ECCENCBYPASS" value="false" /> + <parameter name="GUI_BYTE_WIDTH_B" value="1" /> + <parameter name="GUI_FORCE_TO_ZERO" value="false" /> + <parameter name="GUI_BYTE_WIDTH_A" value="1" /> + <parameter name="GUI_ECC_PIPELINE" value="false" /> + <parameter name="GUI_OPTIMIZATION_OPTION" value="0" /> + <parameter name="GUI_WRITE_INPUT_PORTS" value="true" /> + <parameter name="GUI_LC_IMPLEMENTION_OPTIONS" value="0" /> + <parameter name="GUI_ECC_DOUBLE" value="false" /> + <parameter name="GUI_RDADDRESS_WIDTH" value="5" /> + <parameter name="GUI_ACLR_READ_INPUT_RDADDRESS" value="false" /> + <parameter name="GUI_MEM_IN_BITS" value="0" /> + <parameter name="GUI_CLKEN_READ_INPUT_REG" value="false" /> + <parameter name="GUI_DIFFERENT_CLKENS" value="false" /> + <parameter name="GUI_QB_WIDTH" value="8" /> + <parameter name="GUI_FILE_REFERENCE" value="0" /> + <parameter name="GUI_TBENCH" value="false" /> + <parameter name="GUI_Q_PORT_MODE" value="2" /> + <parameter name="GUI_DATA_WIDTH" value="8" /> + <parameter name="GUI_CLKEN_INPUT_REG_A" value="false" /> + <parameter name="GUI_CLKEN_ADDRESS_STALL_B" value="false" /> + <parameter name="GUI_CLOCK_TYPE" value="4" /> + <parameter name="GUI_CLKEN_INPUT_REG_B" value="false" /> + <parameter name="DEVICE_FAMILY" value="Arria 10" /> + <parameter name="GUI_INIT_SIM_TO_X" value="false" /> + <parameter name="GUI_CLKEN_WRADDRESSSTALL" value="false" /> + <parameter name="GUI_INIT_FILE_LAYOUT" value="PORT_B" /> + <parameter name="GUI_Q_WIDTH" value="8" /> + <parameter name="GUI_DATAA_WIDTH" value="8" /> + <parameter name="GUI_CLKEN_WRITE_INPUT_REG" value="false" /> + <parameter name="GUI_READ_OUTPUT_QB" value="true" /> + <parameter name="GUI_MEMSIZE_BITS" value="256" /> + <parameter name="GUI_READ_OUTPUT_QA" value="true" /> + <parameter name="GUI_WIDTH_ECCSTATUS" value="2" /> + <parameter name="GUI_TDP_EMULATE" value="false" /> + <parameter name="GUI_RDEN_SINGLE" value="false" /> + <parameter name="GUI_PR" value="false" /> + <parameter name="GUI_READ_INPUT_RDADDRESS" value="true" /> + <parameter name="GUI_RDW_A_MODE" value="New Data" /> + <parameter name="GUI_WRADDRESS_WIDTH" value="5" /> + <parameter name="GUI_CLKEN_RDADDRESSSTALL" value="false" /> + <parameter name="GUI_MAX_DEPTH" value="Auto" /> + <parameter name="GUI_ACLR_READ_OUTPUT_QA" value="false" /> + <parameter name="GUI_ACLR_READ_OUTPUT_QB" value="false" /> + <parameter name="GUI_COHERENT_READ" value="false" /> + <parameter name="GUI_VAR_WIDTH" value="false" /> + <parameter name="GUI_MODULE_NAME" value="altera_syncram" /> + <parameter name="GUI_WIDTH_ECCENCPARITY" value="8" /> + <generatedFiles> + <file + path="/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ram_2port_2000/synth/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.v" + attributes="" /> + </generatedFiles> + <childGeneratedFiles> + <file + path="/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ram_2port_2000/synth/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.v" + attributes="" /> + </childGeneratedFiles> + <sourceFiles> + <file + path="/home/software/Altera/19.4.0.64/ip/altera/megafunctions/ram_2port/ram_2_port_hw.tcl" /> + </sourceFiles> + <childSourceFiles/> + <instantiator instantiator="ip_arria10_e2sg_ram_crw_crw" as="ram_2port_0" /> + <messages> + <message level="Info" culprit="ip_arria10_e2sg_ram_crw_crw">"Generating: ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey"</message> + </messages> + </entity> +</deploy> diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_bb.v b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_bb.v new file mode 100644 index 0000000000000000000000000000000000000000..4e56c70b5eda178d0a5bd2db039af4248aa43585 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_bb.v @@ -0,0 +1,14 @@ +module ip_arria10_e2sg_ram_crw_crw ( + input wire [7:0] data_a, // data_a.datain_a + output wire [7:0] q_a, // q_a.dataout_a + input wire [7:0] data_b, // data_b.datain_b + output wire [7:0] q_b, // q_b.dataout_b + input wire [4:0] address_a, // address_a.address_a + input wire [4:0] address_b, // address_b.address_b + input wire wren_a, // wren_a.wren_a + input wire wren_b, // wren_b.wren_b + input wire clock_a, // clock_a.clk + input wire clock_b // clock_b.clk + ); +endmodule + diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_generation.rpt b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_generation.rpt new file mode 100644 index 0000000000000000000000000000000000000000..a9840028356335214d12cc451819d76534c3b2b1 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_generation.rpt @@ -0,0 +1,75 @@ +Info: Generated by version: 19.4 build 64 +Info: Starting: Create simulation model +Info: qsys-generate /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw.ip --simulation=VHDL --allow-mixed-language-simulation --output-directory=/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw --family="Arria 10" --part=10AX115U3F45E2SG +: ip_arria10_e2sg_ram_crw_crw.ram_2port_0: Targeting device family: Arria 10. +: ip_arria10_e2sg_ram_crw_crw.ram_2port_0: 'Output1' tab is unavailable while using 'Customize clocks for A and B ports' clocking method. +: ip_arria10_e2sg_ram_crw_crw.ram_2port_0: In 'Performance Optimization' tab, Arria 10 does not support 'Timing/Power Optimization' feature. +Info: ip_arria10_e2sg_ram_crw_crw: "Transforming system: ip_arria10_e2sg_ram_crw_crw" +Info: ip_arria10_e2sg_ram_crw_crw: "Naming system components in system: ip_arria10_e2sg_ram_crw_crw" +Info: ip_arria10_e2sg_ram_crw_crw: "Processing generation queue" +Info: ip_arria10_e2sg_ram_crw_crw: "Generating: ip_arria10_e2sg_ram_crw_crw" +Info: ip_arria10_e2sg_ram_crw_crw: "Generating: ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" +Info: ip_arria10_e2sg_ram_crw_crw: Done "ip_arria10_e2sg_ram_crw_crw" with 2 modules, 2 files +Info: Generating the following file(s) for MODELSIM simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: common/modelsim_files.tcl +Info: Generating the following file(s) for VCSMX simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: common/vcsmx_files.tcl +Info: Generating the following file(s) for VCS simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: common/vcs_files.tcl +Info: Generating the following file(s) for RIVIERA simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: common/riviera_files.tcl +Info: Generating the following file(s) for NCSIM simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: common/ncsim_files.tcl +Info: Generating the following file(s) for XCELIUM simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: common/xcelium_files.tcl +Info: For information on how to simulate your IP, see the explanatory comments in the simulator-specific subdirectories under /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/. +Info: Regenerate these scripts whenever you make any change to any Quartus-generated IP in your project. +Info: qsys-generate succeeded. +Info: Finished: Create simulation model +Info: Starting: Create Modelsim Project. +Info: sim-script-gen --system-file=/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw.ip --output-directory=/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ --use-relative-paths=true +Info: Generating the following file(s) for MODELSIM simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: mentor/msim_setup.tcl +Info: Generating the following file(s) for VCSMX simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: synopsys/vcsmx/synopsys_sim.setup +Info: synopsys/vcsmx/vcsmx_setup.sh +Info: Skipping VCS script generation since VHDL file $QUARTUS_INSTALL_DIR/eda/sim_lib/altera_syn_attributes.vhd is required for simulation +Info: Generating the following file(s) for RIVIERA simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: aldec/rivierapro_setup.tcl +Info: Generating the following file(s) for NCSIM simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: cadence/cds.lib +Info: cadence/hdl.var +Info: cadence/ncsim_setup.sh +Info: 2 .cds.lib files in cadence/cds_libs/ directory +Info: Generating the following file(s) for XCELIUM simulator in /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ directory: +Info: xcelium/cds.lib +Info: xcelium/hdl.var +Info: xcelium/xcelium_setup.sh +Info: 2 .cds.lib files in xcelium/cds_libs/ directory +Info: For information on how to simulate your IP, see the explanatory comments in the simulator-specific subdirectories under /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/. +Info: Regenerate these scripts whenever you make any change to any Quartus-generated IP in your project. +Info: Finished: Create Modelsim Project. +Info: Starting: Create block symbol file (.bsf) +Info: qsys-generate /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw.ip --block-symbol-file --output-directory=/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw --family="Arria 10" --part=10AX115U3F45E2SG +: ip_arria10_e2sg_ram_crw_crw.ram_2port_0: Targeting device family: Arria 10. +: ip_arria10_e2sg_ram_crw_crw.ram_2port_0: 'Output1' tab is unavailable while using 'Customize clocks for A and B ports' clocking method. +: ip_arria10_e2sg_ram_crw_crw.ram_2port_0: In 'Performance Optimization' tab, Arria 10 does not support 'Timing/Power Optimization' feature. +Info: qsys-generate succeeded. +Info: Finished: Create block symbol file (.bsf) +Info: +Info: Starting: Create HDL design files for synthesis +Info: qsys-generate /home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw.ip --synthesis=VHDL --output-directory=/home/hiemstra/git/hdl/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw --family="Arria 10" --part=10AX115U3F45E2SG +: ip_arria10_e2sg_ram_crw_crw.ram_2port_0: Targeting device family: Arria 10. +: ip_arria10_e2sg_ram_crw_crw.ram_2port_0: 'Output1' tab is unavailable while using 'Customize clocks for A and B ports' clocking method. +: ip_arria10_e2sg_ram_crw_crw.ram_2port_0: In 'Performance Optimization' tab, Arria 10 does not support 'Timing/Power Optimization' feature. +Info: ip_arria10_e2sg_ram_crw_crw: "Transforming system: ip_arria10_e2sg_ram_crw_crw" +Info: ip_arria10_e2sg_ram_crw_crw: "Naming system components in system: ip_arria10_e2sg_ram_crw_crw" +Info: ip_arria10_e2sg_ram_crw_crw: "Processing generation queue" +Info: ip_arria10_e2sg_ram_crw_crw: "Generating: ip_arria10_e2sg_ram_crw_crw" +Info: ip_arria10_e2sg_ram_crw_crw: "Generating: ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey" +Info: ip_arria10_e2sg_ram_crw_crw: Done "ip_arria10_e2sg_ram_crw_crw" with 2 modules, 2 files +Info: qsys-generate succeeded. +Info: Finished: Create HDL design files for synthesis +Info: Starting: Generate IP Core Documentation +Info: No documentation filesets were found for components in ip_arria10_e2sg_ram_crw_crw. No files generated. +Info: Finished: Generate IP Core Documentation diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_inst.v b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_inst.v new file mode 100644 index 0000000000000000000000000000000000000000..788a2061b8df9148e5a307583300ad9517448892 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_inst.v @@ -0,0 +1,13 @@ + ip_arria10_e2sg_ram_crw_crw u0 ( + .data_a (_connected_to_data_a_), // input, width = 8, data_a.datain_a + .q_a (_connected_to_q_a_), // output, width = 8, q_a.dataout_a + .data_b (_connected_to_data_b_), // input, width = 8, data_b.datain_b + .q_b (_connected_to_q_b_), // output, width = 8, q_b.dataout_b + .address_a (_connected_to_address_a_), // input, width = 5, address_a.address_a + .address_b (_connected_to_address_b_), // input, width = 5, address_b.address_b + .wren_a (_connected_to_wren_a_), // input, width = 1, wren_a.wren_a + .wren_b (_connected_to_wren_b_), // input, width = 1, wren_b.wren_b + .clock_a (_connected_to_clock_a_), // input, width = 1, clock_a.clk + .clock_b (_connected_to_clock_b_) // input, width = 1, clock_b.clk + ); + diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_inst.vhd b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_inst.vhd new file mode 100644 index 0000000000000000000000000000000000000000..3a9ae4ad18436342d23f23748225bbee98ec25ae --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ip_arria10_e2sg_ram_crw_crw_inst.vhd @@ -0,0 +1,29 @@ + component ip_arria10_e2sg_ram_crw_crw is + port ( + data_a : in std_logic_vector(7 downto 0) := (others => 'X'); -- datain_a + q_a : out std_logic_vector(7 downto 0); -- dataout_a + data_b : in std_logic_vector(7 downto 0) := (others => 'X'); -- datain_b + q_b : out std_logic_vector(7 downto 0); -- dataout_b + address_a : in std_logic_vector(4 downto 0) := (others => 'X'); -- address_a + address_b : in std_logic_vector(4 downto 0) := (others => 'X'); -- address_b + wren_a : in std_logic := 'X'; -- wren_a + wren_b : in std_logic := 'X'; -- wren_b + clock_a : in std_logic := 'X'; -- clk + clock_b : in std_logic := 'X' -- clk + ); + end component ip_arria10_e2sg_ram_crw_crw; + + u0 : component ip_arria10_e2sg_ram_crw_crw + port map ( + data_a => CONNECTED_TO_data_a, -- data_a.datain_a + q_a => CONNECTED_TO_q_a, -- q_a.dataout_a + data_b => CONNECTED_TO_data_b, -- data_b.datain_b + q_b => CONNECTED_TO_q_b, -- q_b.dataout_b + address_a => CONNECTED_TO_address_a, -- address_a.address_a + address_b => CONNECTED_TO_address_b, -- address_b.address_b + wren_a => CONNECTED_TO_wren_a, -- wren_a.wren_a + wren_b => CONNECTED_TO_wren_b, -- wren_b.wren_b + clock_a => CONNECTED_TO_clock_a, -- clock_a.clk + clock_b => CONNECTED_TO_clock_b -- clock_b.clk + ); + diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd new file mode 100644 index 0000000000000000000000000000000000000000..ed696209ef8e9068e027768593d014a7b83c93c3 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd @@ -0,0 +1,94 @@ +-- (C) 2001-2019 Intel Corporation. All rights reserved. +-- Your use of Intel Corporation's design tools, logic functions and other +-- software and tools, and its AMPP partner logic functions, and any output +-- files from any of the foregoing (including device programming or simulation +-- files), and any associated documentation or information are expressly subject +-- to the terms and conditions of the Intel Program License Subscription +-- Agreement, Intel FPGA IP License Agreement, or other applicable +-- license agreement, including, without limitation, that your use is for the +-- sole purpose of programming logic devices manufactured by Intel and sold by +-- Intel or its authorized distributors. Please refer to the applicable +-- agreement for further details. + + + + +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_lnsim; +USE altera_lnsim.altera_lnsim_components.all; + +ENTITY ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey IS + PORT + ( + address_a : IN STD_LOGIC_VECTOR (4 DOWNTO 0); + address_b : IN STD_LOGIC_VECTOR (4 DOWNTO 0); + clock_a : IN STD_LOGIC := '1'; + clock_b : IN STD_LOGIC; + data_a : IN STD_LOGIC_VECTOR (7 DOWNTO 0); + data_b : IN STD_LOGIC_VECTOR (7 DOWNTO 0); + wren_a : IN STD_LOGIC := '0'; + wren_b : IN STD_LOGIC := '0'; + q_a : OUT STD_LOGIC_VECTOR (7 DOWNTO 0); + q_b : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) + ); +END ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey; + + +ARCHITECTURE SYN OF ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey IS + + SIGNAL sub_wire0 : STD_LOGIC_VECTOR (7 DOWNTO 0); + SIGNAL sub_wire1 : STD_LOGIC_VECTOR (7 DOWNTO 0); + +BEGIN + q_a <= sub_wire0 (7 DOWNTO 0); + q_b <= sub_wire1 (7 DOWNTO 0); + + altera_syncram_component : altera_syncram + GENERIC MAP ( + address_reg_b => "CLOCK1", + clock_enable_input_a => "BYPASS", + clock_enable_input_b => "BYPASS", + clock_enable_output_a => "BYPASS", + clock_enable_output_b => "BYPASS", + indata_reg_b => "CLOCK1", + init_file => "./ram_1024.hex", + intended_device_family => "Arria 10", + lpm_type => "altera_syncram", + numwords_a => 32, + numwords_b => 32, + operation_mode => "BIDIR_DUAL_PORT", + outdata_aclr_a => "NONE", + outdata_sclr_a => "NONE", + outdata_aclr_b => "NONE", + outdata_sclr_b => "NONE", + outdata_reg_a => "CLOCK0", + outdata_reg_b => "CLOCK1", + power_up_uninitialized => "FALSE", + read_during_write_mode_port_a => "NEW_DATA_NO_NBE_READ", + read_during_write_mode_port_b => "NEW_DATA_NO_NBE_READ", + widthad_a => 5, + widthad_b => 5, + width_a => 8, + width_b => 8, + width_byteena_a => 1, + width_byteena_b => 1 + ) + PORT MAP ( + address_a => address_a, + address_b => address_b, + clock0 => clock_a, + clock1 => clock_b, + data_a => data_a, + data_b => data_b, + wren_a => wren_a, + wren_b => wren_b, + q_a => sub_wire0, + q_b => sub_wire1 + ); + + + +END SYN; + diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ram_2port_2000/synth/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.v b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ram_2port_2000/synth/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.v new file mode 100644 index 0000000000000000000000000000000000000000..6491044c085973c98a8f97f516d17aa671d51f5a --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/ram_2port_2000/synth/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.v @@ -0,0 +1,130 @@ +// (C) 2001-2019 Intel Corporation. All rights reserved. +// Your use of Intel Corporation's design tools, logic functions and other +// software and tools, and its AMPP partner logic functions, and any output +// files from any of the foregoing (including device programming or simulation +// files), and any associated documentation or information are expressly subject +// to the terms and conditions of the Intel Program License Subscription +// Agreement, Intel FPGA IP License Agreement, or other applicable +// license agreement, including, without limitation, that your use is for the +// sole purpose of programming logic devices manufactured by Intel and sold by +// Intel or its authorized distributors. Please refer to the applicable +// agreement for further details. + + + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on +module ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey ( + address_a, + address_b, + clock_a, + clock_b, + data_a, + data_b, + wren_a, + wren_b, + q_a, + q_b); + + input [4:0] address_a; + input [4:0] address_b; + input clock_a; + input clock_b; + input [7:0] data_a; + input [7:0] data_b; + input wren_a; + input wren_b; + output [7:0] q_a; + output [7:0] q_b; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_off +`endif + tri1 clock_a; + tri0 wren_a; + tri0 wren_b; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_on +`endif + + wire [7:0] sub_wire0; + wire [7:0] sub_wire1; + wire [7:0] q_a = sub_wire0[7:0]; + wire [7:0] q_b = sub_wire1[7:0]; + + altera_syncram altera_syncram_component ( + .address_a (address_a), + .address_b (address_b), + .clock0 (clock_a), + .clock1 (clock_b), + .data_a (data_a), + .data_b (data_b), + .wren_a (wren_a), + .wren_b (wren_b), + .q_a (sub_wire0), + .q_b (sub_wire1), + .aclr0 (1'b0), + .aclr1 (1'b0), + .address2_a (1'b1), + .address2_b (1'b1), + .addressstall_a (1'b0), + .addressstall_b (1'b0), + .byteena_a (1'b1), + .byteena_b (1'b1), + .clocken0 (1'b1), + .clocken1 (1'b1), + .clocken2 (1'b1), + .clocken3 (1'b1), + .eccencbypass (1'b0), + .eccencparity (8'b0), + .eccstatus (), + .rden_a (1'b1), + .rden_b (1'b1), + .sclr (1'b0)); + defparam + altera_syncram_component.address_reg_b = "CLOCK1", + altera_syncram_component.clock_enable_input_a = "BYPASS", + altera_syncram_component.clock_enable_input_b = "BYPASS", + altera_syncram_component.clock_enable_output_a = "BYPASS", + altera_syncram_component.clock_enable_output_b = "BYPASS", + altera_syncram_component.indata_reg_b = "CLOCK1", +`ifdef NO_PLI + altera_syncram_component.init_file = "./ram_1024.rif" +`else + altera_syncram_component.init_file = "./ram_1024.hex" +`endif +, + altera_syncram_component.intended_device_family = "Arria 10", + altera_syncram_component.lpm_type = "altera_syncram", + altera_syncram_component.numwords_a = 32, + altera_syncram_component.numwords_b = 32, + altera_syncram_component.operation_mode = "BIDIR_DUAL_PORT", + altera_syncram_component.outdata_aclr_a = "NONE", + altera_syncram_component.outdata_sclr_a = "NONE", + altera_syncram_component.outdata_aclr_b = "NONE", + altera_syncram_component.outdata_sclr_b = "NONE", + altera_syncram_component.outdata_reg_a = "CLOCK0", + altera_syncram_component.outdata_reg_b = "CLOCK1", + altera_syncram_component.power_up_uninitialized = "FALSE", + altera_syncram_component.read_during_write_mode_port_a = "NEW_DATA_NO_NBE_READ", + altera_syncram_component.read_during_write_mode_port_b = "NEW_DATA_NO_NBE_READ", + altera_syncram_component.widthad_a = 5, + altera_syncram_component.widthad_b = 5, + altera_syncram_component.width_a = 8, + altera_syncram_component.width_b = 8, + altera_syncram_component.width_byteena_a = 1, + altera_syncram_component.width_byteena_b = 1; + + + + + + + + + + + +endmodule + + diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/aldec/rivierapro_setup.tcl b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/aldec/rivierapro_setup.tcl new file mode 100644 index 0000000000000000000000000000000000000000..4b1d88d574f5071313d47cba4275b478bb5afb0a --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/aldec/rivierapro_setup.tcl @@ -0,0 +1,353 @@ + +# (C) 2001-2021 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and +# other software and tools, and its AMPP partner logic functions, and +# any output files any of the foregoing (including device programming +# or simulation files), and any associated documentation or information +# are expressly subject to the terms and conditions of the Intel +# Program License Subscription Agreement, Intel MegaCore Function +# License Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Intel and sold by Intel +# or its authorized distributors. Please refer to the applicable +# agreement for further details. + +# ACDS 19.4 64 linux 2021.04.14.00:17:37 +# ---------------------------------------- +# Auto-generated simulation script rivierapro_setup.tcl +# ---------------------------------------- +# This script provides commands to simulate the following IP detected in +# your Quartus project: +# ip_arria10_e2sg_ram_crw_crw +# +# Intel recommends that you source this Quartus-generated IP simulation +# script from your own customized top-level script, and avoid editing this +# generated script. +# +# To write a top-level script that compiles Intel simulation libraries and +# the Quartus-generated IP in your project, along with your design and +# testbench files, copy the text from the TOP-LEVEL TEMPLATE section below +# into a new file, e.g. named "aldec.do", and modify the text as directed. +# +# ---------------------------------------- +# # TOP-LEVEL TEMPLATE - BEGIN +# # +# # QSYS_SIMDIR is used in the Quartus-generated IP simulation script to +# # construct paths to the files required to simulate the IP in your Quartus +# # project. By default, the IP script assumes that you are launching the +# # simulator from the IP script location. If launching from another +# # location, set QSYS_SIMDIR to the output directory you specified when you +# # generated the IP script, relative to the directory from which you launch +# # the simulator. +# # +# set QSYS_SIMDIR <script generation output directory> +# # +# # Source the generated IP simulation script. +# source $QSYS_SIMDIR/aldec/rivierapro_setup.tcl +# # +# # Set any compilation options you require (this is unusual). +# set USER_DEFINED_COMPILE_OPTIONS <compilation options> +# set USER_DEFINED_VHDL_COMPILE_OPTIONS <compilation options for VHDL> +# set USER_DEFINED_VERILOG_COMPILE_OPTIONS <compilation options for Verilog> +# # +# # Call command to compile the Quartus EDA simulation library. +# dev_com +# # +# # Call command to compile the Quartus-generated IP simulation files. +# com +# # +# # Add commands to compile all design files and testbench files, including +# # the top level. (These are all the files required for simulation other +# # than the files compiled by the Quartus-generated IP simulation script) +# # +# vlog -sv2k5 <your compilation options> <design and testbench files> +# # +# # Set the top-level simulation or testbench module/entity name, which is +# # used by the elab command to elaborate the top level. +# # +# set TOP_LEVEL_NAME <simulation top> +# # +# # Set any elaboration options you require. +# set USER_DEFINED_ELAB_OPTIONS <elaboration options> +# # +# # Call command to elaborate your design and testbench. +# elab +# # +# # Run the simulation. +# run +# # +# # Report success to the shell. +# exit -code 0 +# # +# # TOP-LEVEL TEMPLATE - END +# ---------------------------------------- +# +# IP SIMULATION SCRIPT +# ---------------------------------------- +# If ip_arria10_e2sg_ram_crw_crw is one of several IP cores in your +# Quartus project, you can generate a simulation script +# suitable for inclusion in your top-level simulation +# script by running the following command line: +# +# ip-setup-simulation --quartus-project=<quartus project> +# +# ip-setup-simulation will discover the Intel IP +# within the Quartus project, and generate a unified +# script which supports all the Intel IP within the design. +# ---------------------------------------- + +# ---------------------------------------- +# Initialize variables +if ![info exists SYSTEM_INSTANCE_NAME] { + set SYSTEM_INSTANCE_NAME "" +} elseif { ![ string match "" $SYSTEM_INSTANCE_NAME ] } { + set SYSTEM_INSTANCE_NAME "/$SYSTEM_INSTANCE_NAME" +} + +if ![info exists TOP_LEVEL_NAME] { + set TOP_LEVEL_NAME "ip_arria10_e2sg_ram_crw_crw.ip_arria10_e2sg_ram_crw_crw" +} + +if ![info exists QSYS_SIMDIR] { + set QSYS_SIMDIR "./../" +} + +if ![info exists QUARTUS_INSTALL_DIR] { + set QUARTUS_INSTALL_DIR "/home/software/Altera/19.4.0.64/quartus/" +} + +if ![info exists USER_DEFINED_COMPILE_OPTIONS] { + set USER_DEFINED_COMPILE_OPTIONS "" +} + +if ![info exists USER_DEFINED_VHDL_COMPILE_OPTIONS] { + set USER_DEFINED_VHDL_COMPILE_OPTIONS "" +} + +if ![info exists USER_DEFINED_VERILOG_COMPILE_OPTIONS] { + set USER_DEFINED_VERILOG_COMPILE_OPTIONS "" +} + +if ![info exists USER_DEFINED_ELAB_OPTIONS] { + set USER_DEFINED_ELAB_OPTIONS "" +} + +if ![info exists SILENCE] { + set SILENCE "false" +} + + +# ---------------------------------------- +# Source Common Tcl File +source $QSYS_SIMDIR/common/riviera_files.tcl + + +# ---------------------------------------- +# Initialize simulation properties - DO NOT MODIFY! +set ELAB_OPTIONS "" +set SIM_OPTIONS "" +set LD_LIBRARY_PATH [dict create] +if ![ string match "*-64 vsim*" [ vsim -version ] ] { + set SIMULATOR_TOOL_BITNESS "bit_32" +} else { + set SIMULATOR_TOOL_BITNESS "bit_64" +} +set LD_LIBRARY_PATH [dict merge $LD_LIBRARY_PATH [dict get [ip_arria10_e2sg_ram_crw_crw::get_env_variables $SIMULATOR_TOOL_BITNESS] "LD_LIBRARY_PATH"]] +if {[dict size $LD_LIBRARY_PATH] !=0 } { + set LD_LIBRARY_PATH [subst [join [dict keys $LD_LIBRARY_PATH] ":"]] + setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH" +} +append ELAB_OPTIONS [subst [ip_arria10_e2sg_ram_crw_crw::get_elab_options $SIMULATOR_TOOL_BITNESS]] +append SIM_OPTIONS [subst [ip_arria10_e2sg_ram_crw_crw::get_sim_options $SIMULATOR_TOOL_BITNESS]] + +set Aldec "Riviera" +if { [ string match "*Active-HDL*" [ vsim -version ] ] } { + set Aldec "Active" +} + +if { [ string match "Active" $Aldec ] } { + scripterconf -tcl + createdesign "$TOP_LEVEL_NAME" "." + opendesign "$TOP_LEVEL_NAME" +} + +# ---------------------------------------- +# Copy ROM/RAM files to simulation directory +alias file_copy { + if [string is false -strict $SILENCE] { + echo "\[exec\] file_copy" + } + set memory_files [list] + set memory_files [concat $memory_files [ip_arria10_e2sg_ram_crw_crw::get_memory_files "$QSYS_SIMDIR"]] + foreach file $memory_files { file copy -force $file ./ } +} + +# ---------------------------------------- +# Create compilation libraries + +set logical_libraries [list "work" "work_lib" "altera" "lpm" "sgate" "altera_mf" "altera_lnsim" "twentynm" "twentynm_hssi" "twentynm_hip"] + +proc ensure_lib { lib } { if ![file isdirectory $lib] { vlib $lib } } +ensure_lib ./libraries/ +ensure_lib ./libraries/work +vmap work ./libraries/work +ensure_lib ./libraries/altera +vmap altera ./libraries/altera +ensure_lib ./libraries/lpm +vmap lpm ./libraries/lpm +ensure_lib ./libraries/sgate +vmap sgate ./libraries/sgate +ensure_lib ./libraries/altera_mf +vmap altera_mf ./libraries/altera_mf +ensure_lib ./libraries/altera_lnsim +vmap altera_lnsim ./libraries/altera_lnsim +ensure_lib ./libraries/twentynm +vmap twentynm ./libraries/twentynm +ensure_lib ./libraries/twentynm_hssi +vmap twentynm_hssi ./libraries/twentynm_hssi +ensure_lib ./libraries/twentynm_hip +vmap twentynm_hip ./libraries/twentynm_hip +set design_libraries [dict create] +set design_libraries [dict merge $design_libraries [ip_arria10_e2sg_ram_crw_crw::get_design_libraries]] +set libraries [dict keys $design_libraries] +foreach library $libraries { + ensure_lib ./libraries/$library/ + vmap $library ./libraries/$library/ + lappend logical_libraries $library +} + +# ---------------------------------------- +# Compile device library files +alias dev_com { + if [string is false -strict $SILENCE] { + echo "\[exec\] dev_com" + } + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_syn_attributes.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_standard_functions.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/alt_dspbuilder_package.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_europa_support_lib.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives_components.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220pack.vhd" -work lpm + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220model.vhd" -work lpm + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate_pack.vhd" -work sgate + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate.vhd" -work sgate + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf_components.vhd" -work altera_mf + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf.vhd" -work altera_mf + eval vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim.sv" -work altera_lnsim + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim_components.vhd" -work altera_lnsim + eval vlog -v2k5 $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/aldec/twentynm_atoms_ncrypt.v" -work twentynm + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_atoms.vhd" -work twentynm + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_components.vhd" -work twentynm + eval vlog -v2k5 $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/aldec/twentynm_hssi_atoms_ncrypt.v" -work twentynm_hssi + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_components.vhd" -work twentynm_hssi + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_atoms.vhd" -work twentynm_hssi + eval vlog -v2k5 $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/aldec/twentynm_hip_atoms_ncrypt.v" -work twentynm_hip + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_components.vhd" -work twentynm_hip + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_atoms.vhd" -work twentynm_hip +} + +# ---------------------------------------- +# Compile the design files in correct order +alias com { + if [string is false -strict $SILENCE] { + echo "\[exec\] com" + } + set design_files [dict create] + set design_files [dict merge [ip_arria10_e2sg_ram_crw_crw::get_common_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] + set common_design_files [dict values $design_files] + foreach file $common_design_files { + eval $file + } + set design_files [list] + set design_files [concat $design_files [ip_arria10_e2sg_ram_crw_crw::get_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] + foreach file $design_files { + eval $file + } +} + +# ---------------------------------------- +# Elaborate top level design +alias elab { + if [string is false -strict $SILENCE] { + echo "\[exec\] elab" + } + set elabcommand " $ELAB_OPTIONS $USER_DEFINED_ELAB_OPTIONS" + foreach library $logical_libraries { append elabcommand " -L $library" } + append elabcommand " $TOP_LEVEL_NAME" + eval vsim +access +r $elabcommand +} + +# ---------------------------------------- +# Elaborate the top level design with -dbg -O2 option +alias elab_debug { + if [string is false -strict $SILENCE] { + echo "\[exec\] elab_debug" + } + set elabcommand " $ELAB_OPTIONS $USER_DEFINED_ELAB_OPTIONS" + foreach library $logical_libraries { append elabcommand " -L $library" } + append elabcommand " $TOP_LEVEL_NAME" + eval vsim -dbg -O2 +access +r $elabcommand +} + +# ---------------------------------------- +# Compile all the design files and elaborate the top level design +alias ld " + dev_com + com + elab +" + +# ---------------------------------------- +# Compile all the design files and elaborate the top level design with -dbg -O2 +alias ld_debug " + dev_com + com + elab_debug +" + +# ---------------------------------------- +# Print out user commmand line aliases +alias h { + echo "List Of Command Line Aliases" + echo + echo "file_copy -- Copy ROM/RAM files to simulation directory" + echo + echo "dev_com -- Compile device library files" + echo + echo "com -- Compile the design files in correct order" + echo + echo "elab -- Elaborate top level design" + echo + echo "elab_debug -- Elaborate the top level design with -dbg -O2 option" + echo + echo "ld -- Compile all the design files and elaborate the top level design" + echo + echo "ld_debug -- Compile all the design files and elaborate the top level design with -dbg -O2" + echo + echo + echo + echo "List Of Variables" + echo + echo "TOP_LEVEL_NAME -- Top level module name." + echo " For most designs, this should be overridden" + echo " to enable the elab/elab_debug aliases." + echo + echo "SYSTEM_INSTANCE_NAME -- Instantiated system module name inside top level module." + echo + echo "QSYS_SIMDIR -- Qsys base simulation directory." + echo + echo "QUARTUS_INSTALL_DIR -- Quartus installation directory." + echo + echo "USER_DEFINED_COMPILE_OPTIONS -- User-defined compile options, added to com/dev_com aliases." + echo + echo "USER_DEFINED_VHDL_COMPILE_OPTIONS -- User-defined vhdl compile options, added to com/dev_com aliases." + echo + echo "USER_DEFINED_VERILOG_COMPILE_OPTIONS -- User-defined verilog compile options, added to com/dev_com aliases." + echo + echo "USER_DEFINED_ELAB_OPTIONS -- User-defined elaboration options, added to elab/elab_debug aliases." + echo + echo "SILENCE -- Set to true to suppress all informational and/or warning messages in the generated simulation script. " +} +file_copy +h diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/cds.lib b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/cds.lib new file mode 100644 index 0000000000000000000000000000000000000000..c4bbf4b617cde8c5eea291ace049725ea8c898fe --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/cds.lib @@ -0,0 +1,21 @@ + +DEFINE std $CDS_ROOT/tools/inca/files/STD/ +DEFINE synopsys $CDS_ROOT/tools/inca/files/SYNOPSYS/ +DEFINE ieee $CDS_ROOT/tools/inca/files/IEEE/ +DEFINE ambit $CDS_ROOT/tools/inca/files/AMBIT/ +DEFINE vital_memory $CDS_ROOT/tools/inca/files/VITAL_MEMORY/ +DEFINE ncutils $CDS_ROOT/tools/inca/files/NCUTILS/ +DEFINE ncinternal $CDS_ROOT/tools/inca/files/NCINTERNAL/ +DEFINE ncmodels $CDS_ROOT/tools/inca/files/NCMODELS/ +DEFINE cds_assertions $CDS_ROOT/tools/inca/files/CDS_ASSERTIONS/ +DEFINE work ./libraries/work/ +DEFINE ram_2port_2000 ./libraries/ram_2port_2000/ +DEFINE ip_arria10_e2sg_ram_crw_crw ./libraries/ip_arria10_e2sg_ram_crw_crw/ +DEFINE altera ./libraries/altera/ +DEFINE lpm ./libraries/lpm/ +DEFINE sgate ./libraries/sgate/ +DEFINE altera_mf ./libraries/altera_mf/ +DEFINE altera_lnsim ./libraries/altera_lnsim/ +DEFINE twentynm ./libraries/twentynm/ +DEFINE twentynm_hssi ./libraries/twentynm_hssi/ +DEFINE twentynm_hip ./libraries/twentynm_hip/ diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/cds_libs/ip_arria10_e2sg_ram_crw_crw.cds.lib b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/cds_libs/ip_arria10_e2sg_ram_crw_crw.cds.lib new file mode 100644 index 0000000000000000000000000000000000000000..b69bd46f323b6c56fe97c3a27864f4a0d9ac517a --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/cds_libs/ip_arria10_e2sg_ram_crw_crw.cds.lib @@ -0,0 +1,20 @@ + +DEFINE std $CDS_ROOT/tools/inca/files/STD/ +DEFINE synopsys $CDS_ROOT/tools/inca/files/SYNOPSYS/ +DEFINE ieee $CDS_ROOT/tools/inca/files/IEEE/ +DEFINE ambit $CDS_ROOT/tools/inca/files/AMBIT/ +DEFINE vital_memory $CDS_ROOT/tools/inca/files/VITAL_MEMORY/ +DEFINE ncutils $CDS_ROOT/tools/inca/files/NCUTILS/ +DEFINE ncinternal $CDS_ROOT/tools/inca/files/NCINTERNAL/ +DEFINE ncmodels $CDS_ROOT/tools/inca/files/NCMODELS/ +DEFINE cds_assertions $CDS_ROOT/tools/inca/files/CDS_ASSERTIONS/ +DEFINE work ./../libraries/work/ +DEFINE altera ./../libraries/altera/ +DEFINE lpm ./../libraries/lpm/ +DEFINE sgate ./../libraries/sgate/ +DEFINE altera_mf ./../libraries/altera_mf/ +DEFINE altera_lnsim ./../libraries/altera_lnsim/ +DEFINE twentynm ./../libraries/twentynm/ +DEFINE twentynm_hssi ./../libraries/twentynm_hssi/ +DEFINE twentynm_hip ./../libraries/twentynm_hip/ +DEFINE ip_arria10_e2sg_ram_crw_crw ./../libraries/ip_arria10_e2sg_ram_crw_crw/ diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/cds_libs/ram_2port_2000.cds.lib b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/cds_libs/ram_2port_2000.cds.lib new file mode 100644 index 0000000000000000000000000000000000000000..cf2afc78bfef3b8c8ca80de405fd5658af814414 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/cds_libs/ram_2port_2000.cds.lib @@ -0,0 +1,20 @@ + +DEFINE std $CDS_ROOT/tools/inca/files/STD/ +DEFINE synopsys $CDS_ROOT/tools/inca/files/SYNOPSYS/ +DEFINE ieee $CDS_ROOT/tools/inca/files/IEEE/ +DEFINE ambit $CDS_ROOT/tools/inca/files/AMBIT/ +DEFINE vital_memory $CDS_ROOT/tools/inca/files/VITAL_MEMORY/ +DEFINE ncutils $CDS_ROOT/tools/inca/files/NCUTILS/ +DEFINE ncinternal $CDS_ROOT/tools/inca/files/NCINTERNAL/ +DEFINE ncmodels $CDS_ROOT/tools/inca/files/NCMODELS/ +DEFINE cds_assertions $CDS_ROOT/tools/inca/files/CDS_ASSERTIONS/ +DEFINE work ./../libraries/work/ +DEFINE altera ./../libraries/altera/ +DEFINE lpm ./../libraries/lpm/ +DEFINE sgate ./../libraries/sgate/ +DEFINE altera_mf ./../libraries/altera_mf/ +DEFINE altera_lnsim ./../libraries/altera_lnsim/ +DEFINE twentynm ./../libraries/twentynm/ +DEFINE twentynm_hssi ./../libraries/twentynm_hssi/ +DEFINE twentynm_hip ./../libraries/twentynm_hip/ +DEFINE ram_2port_2000 ./../libraries/ram_2port_2000/ diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/hdl.var b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/hdl.var new file mode 100644 index 0000000000000000000000000000000000000000..c1b781426d042871372b372708619b1944b149db --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/hdl.var @@ -0,0 +1,2 @@ + +DEFINE WORK work diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/ncsim_setup.sh b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/ncsim_setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..93b2abe1da941f4861db692a7a51ee7904384d16 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/cadence/ncsim_setup.sh @@ -0,0 +1,327 @@ + +# (C) 2001-2021 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and +# other software and tools, and its AMPP partner logic functions, and +# any output files any of the foregoing (including device programming +# or simulation files), and any associated documentation or information +# are expressly subject to the terms and conditions of the Intel +# Program License Subscription Agreement, Intel MegaCore Function +# License Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Intel and sold by Intel +# or its authorized distributors. Please refer to the applicable +# agreement for further details. + +# ACDS 19.4 64 linux 2021.04.14.00:17:37 + +# ---------------------------------------- +# ncsim - auto-generated simulation script + +# ---------------------------------------- +# This script provides commands to simulate the following IP detected in +# your Quartus project: +# ip_arria10_e2sg_ram_crw_crw +# +# Intel recommends that you source this Quartus-generated IP simulation +# script from your own customized top-level script, and avoid editing this +# generated script. +# +# To write a top-level shell script that compiles Intel simulation libraries +# and the Quartus-generated IP in your project, along with your design and +# testbench files, copy the text from the TOP-LEVEL TEMPLATE section below +# into a new file, e.g. named "ncsim.sh", and modify text as directed. +# +# You can also modify the simulation flow to suit your needs. Set the +# following variables to 1 to disable their corresponding processes: +# - SKIP_FILE_COPY: skip copying ROM/RAM initialization files +# - SKIP_DEV_COM: skip compiling the Quartus EDA simulation library +# - SKIP_COM: skip compiling Quartus-generated IP simulation files +# - SKIP_ELAB and SKIP_SIM: skip elaboration and simulation +# +# ---------------------------------------- +# # TOP-LEVEL TEMPLATE - BEGIN +# # +# # QSYS_SIMDIR is used in the Quartus-generated IP simulation script to +# # construct paths to the files required to simulate the IP in your Quartus +# # project. By default, the IP script assumes that you are launching the +# # simulator from the IP script location. If launching from another +# # location, set QSYS_SIMDIR to the output directory you specified when you +# # generated the IP script, relative to the directory from which you launch +# # the simulator. In this case, you must also copy the generated files +# # "cds.lib" and "hdl.var" - plus the directory "cds_libs" if generated - +# # into the location from which you launch the simulator, or incorporate +# # into any existing library setup. +# # +# # Run Quartus-generated IP simulation script once to compile Quartus EDA +# # simulation libraries and Quartus-generated IP simulation files, and copy +# # any ROM/RAM initialization files to the simulation directory. +# # - If necessary, specify any compilation options: +# # USER_DEFINED_COMPILE_OPTIONS +# # USER_DEFINED_VHDL_COMPILE_OPTIONS applied to vhdl compiler +# # USER_DEFINED_VERILOG_COMPILE_OPTIONS applied to verilog compiler +# # +# source <script generation output directory>/cadence/ncsim_setup.sh \ +# SKIP_ELAB=1 \ +# SKIP_SIM=1 \ +# USER_DEFINED_COMPILE_OPTIONS=<compilation options for your design> \ +# USER_DEFINED_VHDL_COMPILE_OPTIONS=<VHDL compilation options for your design> \ +# USER_DEFINED_VERILOG_COMPILE_OPTIONS=<Verilog compilation options for your design> \ +# QSYS_SIMDIR=<script generation output directory> +# # +# # Compile all design files and testbench files, including the top level. +# # (These are all the files required for simulation other than the files +# # compiled by the IP script) +# # +# ncvlog <compilation options> <design and testbench files> +# # +# # TOP_LEVEL_NAME is used in this script to set the top-level simulation or +# # testbench module/entity name. +# # +# # Run the IP script again to elaborate and simulate the top level: +# # - Specify TOP_LEVEL_NAME and USER_DEFINED_ELAB_OPTIONS. +# # - Override the default USER_DEFINED_SIM_OPTIONS. For example, to run +# # until $finish(), set to an empty string: USER_DEFINED_SIM_OPTIONS="". +# # +# source <script generation output directory>/cadence/ncsim_setup.sh \ +# SKIP_FILE_COPY=1 \ +# SKIP_DEV_COM=1 \ +# SKIP_COM=1 \ +# TOP_LEVEL_NAME=<simulation top> \ +# USER_DEFINED_ELAB_OPTIONS=<elaboration options for your design> \ +# USER_DEFINED_SIM_OPTIONS=<simulation options for your design> +# # +# # TOP-LEVEL TEMPLATE - END +# ---------------------------------------- +# +# IP SIMULATION SCRIPT +# ---------------------------------------- +# If ip_arria10_e2sg_ram_crw_crw is one of several IP cores in your +# Quartus project, you can generate a simulation script +# suitable for inclusion in your top-level simulation +# script by running the following command line: +# +# ip-setup-simulation --quartus-project=<quartus project> +# +# ip-setup-simulation will discover the Intel IP +# within the Quartus project, and generate a unified +# script which supports all the Intel IP within the design. +# ---------------------------------------- +# ACDS 19.4 64 linux 2021.04.14.00:17:37 +# ---------------------------------------- +# initialize variables +TOP_LEVEL_NAME="ip_arria10_e2sg_ram_crw_crw.ip_arria10_e2sg_ram_crw_crw" +QSYS_SIMDIR="./../" +QUARTUS_INSTALL_DIR="/home/software/Altera/19.4.0.64/quartus/" +SKIP_FILE_COPY=0 +SKIP_DEV_COM=0 +SKIP_COM=0 +SKIP_ELAB=0 +SKIP_SIM=0 +USER_DEFINED_ELAB_OPTIONS="" +USER_DEFINED_SIM_OPTIONS="-input \"@run 100; exit\"" + +# ---------------------------------------- +# overwrite variables - DO NOT MODIFY! +# This block evaluates each command line argument, typically used for +# overwriting variables. An example usage: +# sh <simulator>_setup.sh SKIP_SIM=1 +for expression in "$@"; do + eval $expression + if [ $? -ne 0 ]; then + echo "Error: This command line argument, \"$expression\", is/has an invalid expression." >&2 + exit $? + fi +done + +#------------------------------------------- +# check tclsh version no earlier than 8.5 +version=$(echo "puts [package vcompare [info tclversion] 8.5]; exit" | tclsh) +if [ $version -eq -1 ]; then + echo "Error: Minimum required tcl package version is 8.5." >&2 + exit 1 +fi + +# ---------------------------------------- +# initialize simulation properties - DO NOT MODIFY! +ELAB_OPTIONS="" +SIM_OPTIONS="" +if [[ `ncsim -version` != *"ncsim(64)"* ]]; then + SIMULATOR_TOOL_BITNESS="bit_32" +else + SIMULATOR_TOOL_BITNESS="bit_64" +fi +TCLSCRIPT=' +set QSYS_SIMDIR [lindex $argv 1] +set SIMULATOR_TOOL_BITNESS [lindex $argv 2] +source $QSYS_SIMDIR/common/ncsim_files.tcl +set LD_LIBRARY_PATH [dict create] +set LD_LIBRARY_PATH [dict merge $LD_LIBRARY_PATH [dict get [ip_arria10_e2sg_ram_crw_crw::get_env_variables $SIMULATOR_TOOL_BITNESS] "LD_LIBRARY_PATH"]] +if {[dict size $LD_LIBRARY_PATH] !=0 } { + set LD_LIBRARY_PATH [join [dict keys $LD_LIBRARY_PATH] ":"] + puts "LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\"" +} + +set ELAB_OPTIONS "" +append ELAB_OPTIONS [ip_arria10_e2sg_ram_crw_crw::get_elab_options $SIMULATOR_TOOL_BITNESS] +puts "ELAB_OPTIONS+=\"$ELAB_OPTIONS\"" +set SIM_OPTIONS "" +append SIM_OPTIONS [ip_arria10_e2sg_ram_crw_crw::get_sim_options $SIMULATOR_TOOL_BITNESS] +puts "SIM_OPTIONS+=\"$SIM_OPTIONS\"" +exit 0 +' +cmd_output=$( +tclsh -args "$QSYS_SIMDIR" "$SIMULATOR_TOOL_BITNESS" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +eval $cmd_output + +TCLSCRIPT=' +set QSYS_SIMDIR [lindex $argv 1] +set libraries [dict create] +source $QSYS_SIMDIR/common/ncsim_files.tcl +set libraries [dict merge $libraries [ip_arria10_e2sg_ram_crw_crw::get_design_libraries]] +set design_libraries [dict keys $libraries] +foreach file $design_libraries { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +design_libraries=$cmd_output + +# ---------------------------------------- +# create compilation libraries +mkdir -p ./libraries/work/ +mkdir -p ./libraries/altera/ +mkdir -p ./libraries/lpm/ +mkdir -p ./libraries/sgate/ +mkdir -p ./libraries/altera_mf/ +mkdir -p ./libraries/altera_lnsim/ +mkdir -p ./libraries/twentynm/ +mkdir -p ./libraries/twentynm_hssi/ +mkdir -p ./libraries/twentynm_hip/ +for library in $design_libraries +do + mkdir -p ./libraries/$library +done + +# ---------------------------------------- +# copy RAM/ROM files to simulation directory +TCLSCRIPT=' +set QSYS_SIMDIR [lindex $argv 1] +set memory_files [list] +source $QSYS_SIMDIR/common/ncsim_files.tcl +set memory_files [concat $memory_files [ip_arria10_e2sg_ram_crw_crw::get_memory_files "$QSYS_SIMDIR"]] +foreach file $memory_files { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +memory_files=$cmd_output +if [ $SKIP_FILE_COPY -eq 0 ]; then + for file in $memory_files + do + cp -f $file ./ + done +fi + +# ---------------------------------------- +# compile device library files +if [ $SKIP_DEV_COM -eq 0 ]; then + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_syn_attributes.vhd" -work altera + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_standard_functions.vhd" -work altera + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/alt_dspbuilder_package.vhd" -work altera + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_europa_support_lib.vhd" -work altera + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives_components.vhd" -work altera + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives.vhd" -work altera + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220pack.vhd" -work lpm + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220model.vhd" -work lpm + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate_pack.vhd" -work sgate + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate.vhd" -work sgate + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf_components.vhd" -work altera_mf + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf.vhd" -work altera_mf + ncvlog -sv $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim.sv" -work altera_lnsim + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim_components.vhd" -work altera_lnsim + ncvlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/cadence/twentynm_atoms_ncrypt.v" -work twentynm + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_atoms.vhd" -work twentynm + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_components.vhd" -work twentynm + ncvlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/cadence/twentynm_hssi_atoms_ncrypt.v" -work twentynm_hssi + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_components.vhd" -work twentynm_hssi + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_atoms.vhd" -work twentynm_hssi + ncvlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/cadence/twentynm_hip_atoms_ncrypt.v" -work twentynm_hip + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_components.vhd" -work twentynm_hip + ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_atoms.vhd" -work twentynm_hip +fi + +# ---------------------------------------- +# get common system verilog package design files +TCLSCRIPT=' +set USER_DEFINED_COMPILE_OPTIONS [lindex $argv 1] +set USER_DEFINED_VERILOG_COMPILE_OPTIONS [lindex $argv 2] +set USER_DEFINED_VHDL_COMPILE_OPTIONS [lindex $argv 3] +set QSYS_SIMDIR [lindex $argv 4] +set design_files [dict create] +source $QSYS_SIMDIR/common/ncsim_files.tcl +set design_files [dict merge $design_files [ip_arria10_e2sg_ram_crw_crw::get_common_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] +set common_design_files [dict values $design_files] +foreach file $common_design_files { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$USER_DEFINED_COMPILE_OPTIONS" "$USER_DEFINED_VERILOG_COMPILE_OPTIONS" "$USER_DEFINED_VHDL_COMPILE_OPTIONS" "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +common_design_files=$cmd_output + +# ---------------------------------------- +# get design files +TCLSCRIPT=' +set USER_DEFINED_COMPILE_OPTIONS [lindex $argv 1] +set USER_DEFINED_VERILOG_COMPILE_OPTIONS [lindex $argv 2] +set USER_DEFINED_VHDL_COMPILE_OPTIONS [lindex $argv 3] +set QSYS_SIMDIR [lindex $argv 4] +set files [list] +source $QSYS_SIMDIR/common/ncsim_files.tcl +set files [concat $files [ip_arria10_e2sg_ram_crw_crw::get_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] +set design_files $files +foreach file $design_files { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$USER_DEFINED_COMPILE_OPTIONS" "$USER_DEFINED_VERILOG_COMPILE_OPTIONS" "$USER_DEFINED_VHDL_COMPILE_OPTIONS" "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +design_files=$cmd_output + +# ---------------------------------------- +# compile design files in correct order +if [ $SKIP_COM -eq 0 ]; then + eval "$common_design_files" + eval "$design_files" +fi + +# ---------------------------------------- +# elaborate top level design +if [ $SKIP_ELAB -eq 0 ]; then + export GENERIC_PARAM_COMPAT_CHECK=1 + ncelab -access +w+r+c -namemap_mixgen -relax $ELAB_OPTIONS $USER_DEFINED_ELAB_OPTIONS $TOP_LEVEL_NAME +fi + +# ---------------------------------------- +# simulate +if [ $SKIP_SIM -eq 0 ]; then + eval ncsim -licqueue $SIM_OPTIONS $USER_DEFINED_SIM_OPTIONS $TOP_LEVEL_NAME +fi diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/modelsim_files.tcl b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/modelsim_files.tcl new file mode 100644 index 0000000000000000000000000000000000000000..38d58cac49bde688f31f77ff06475f2b34039a1a --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/modelsim_files.tcl @@ -0,0 +1,67 @@ + +namespace eval ip_arria10_e2sg_ram_crw_crw { + proc get_design_libraries {} { + set libraries [dict create] + dict set libraries ram_2port_2000 1 + dict set libraries ip_arria10_e2sg_ram_crw_crw 1 + return $libraries + } + + proc get_memory_files {QSYS_SIMDIR} { + set memory_files [list] + return $memory_files + } + + proc get_common_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [dict create] + return $design_files + } + + proc get_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [list] + lappend design_files "vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"[normalize_path "$QSYS_SIMDIR/../ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd"]\" -work ram_2port_2000" + lappend design_files "vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"[normalize_path "$QSYS_SIMDIR/ip_arria10_e2sg_ram_crw_crw.vhd"]\" -work ip_arria10_e2sg_ram_crw_crw" + return $design_files + } + + proc get_elab_options {SIMULATOR_TOOL_BITNESS} { + set ELAB_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + append ELAB_OPTIONS { -t fs} + return $ELAB_OPTIONS + } + + + proc get_sim_options {SIMULATOR_TOOL_BITNESS} { + set SIM_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $SIM_OPTIONS + } + + + proc get_env_variables {SIMULATOR_TOOL_BITNESS} { + set ENV_VARIABLES [dict create] + set LD_LIBRARY_PATH [dict create] + dict set ENV_VARIABLES "LD_LIBRARY_PATH" $LD_LIBRARY_PATH + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ENV_VARIABLES + } + + + proc normalize_path {FILEPATH} { + if {[catch { package require fileutil } err]} { + return $FILEPATH + } + set path [fileutil::lexnormalize [file join [pwd] $FILEPATH]] + if {[file pathtype $FILEPATH] eq "relative"} { + set path [fileutil::relative [pwd] $path] + } + return $path + } +} diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/ncsim_files.tcl b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/ncsim_files.tcl new file mode 100644 index 0000000000000000000000000000000000000000..7885affcfd39ac84b4d92bc529876ff0a3e69113 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/ncsim_files.tcl @@ -0,0 +1,56 @@ + +namespace eval ip_arria10_e2sg_ram_crw_crw { + proc get_design_libraries {} { + set libraries [dict create] + dict set libraries ram_2port_2000 1 + dict set libraries ip_arria10_e2sg_ram_crw_crw 1 + return $libraries + } + + proc get_memory_files {QSYS_SIMDIR} { + set memory_files [list] + return $memory_files + } + + proc get_common_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [dict create] + return $design_files + } + + proc get_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [list] + lappend design_files "ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"$QSYS_SIMDIR/../ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd\" -work ram_2port_2000 -cdslib ./cds_libs/ram_2port_2000.cds.lib" + lappend design_files "ncvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"$QSYS_SIMDIR/ip_arria10_e2sg_ram_crw_crw.vhd\" -work ip_arria10_e2sg_ram_crw_crw" + return $design_files + } + + proc get_elab_options {SIMULATOR_TOOL_BITNESS} { + set ELAB_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ELAB_OPTIONS + } + + + proc get_sim_options {SIMULATOR_TOOL_BITNESS} { + set SIM_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $SIM_OPTIONS + } + + + proc get_env_variables {SIMULATOR_TOOL_BITNESS} { + set ENV_VARIABLES [dict create] + set LD_LIBRARY_PATH [dict create] + dict set ENV_VARIABLES "LD_LIBRARY_PATH" $LD_LIBRARY_PATH + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ENV_VARIABLES + } + + +} diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/riviera_files.tcl b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/riviera_files.tcl new file mode 100644 index 0000000000000000000000000000000000000000..7a0206d4d807eafcfc281cc2930118f6ef9b53a3 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/riviera_files.tcl @@ -0,0 +1,66 @@ + +namespace eval ip_arria10_e2sg_ram_crw_crw { + proc get_design_libraries {} { + set libraries [dict create] + dict set libraries ram_2port_2000 1 + dict set libraries ip_arria10_e2sg_ram_crw_crw 1 + return $libraries + } + + proc get_memory_files {QSYS_SIMDIR} { + set memory_files [list] + return $memory_files + } + + proc get_common_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [dict create] + return $design_files + } + + proc get_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [list] + lappend design_files "vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"[normalize_path "$QSYS_SIMDIR/../ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd"]\" -work ram_2port_2000" + lappend design_files "vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"[normalize_path "$QSYS_SIMDIR/ip_arria10_e2sg_ram_crw_crw.vhd"]\" -work ip_arria10_e2sg_ram_crw_crw" + return $design_files + } + + proc get_elab_options {SIMULATOR_TOOL_BITNESS} { + set ELAB_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ELAB_OPTIONS + } + + + proc get_sim_options {SIMULATOR_TOOL_BITNESS} { + set SIM_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $SIM_OPTIONS + } + + + proc get_env_variables {SIMULATOR_TOOL_BITNESS} { + set ENV_VARIABLES [dict create] + set LD_LIBRARY_PATH [dict create] + dict set ENV_VARIABLES "LD_LIBRARY_PATH" $LD_LIBRARY_PATH + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ENV_VARIABLES + } + + + proc normalize_path {FILEPATH} { + if {[catch { package require fileutil } err]} { + return $FILEPATH + } + set path [fileutil::lexnormalize [file join [pwd] $FILEPATH]] + if {[file pathtype $FILEPATH] eq "relative"} { + set path [fileutil::relative [pwd] $path] + } + return $path + } +} diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/vcs_files.tcl b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/vcs_files.tcl new file mode 100644 index 0000000000000000000000000000000000000000..c262463e1f817e23e16f5b7e70cebe81efe259cf --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/vcs_files.tcl @@ -0,0 +1,47 @@ + +namespace eval ip_arria10_e2sg_ram_crw_crw { + proc get_memory_files {QSYS_SIMDIR} { + set memory_files [list] + return $memory_files + } + + proc get_common_design_files {QSYS_SIMDIR} { + set design_files [dict create] + return $design_files + } + + proc get_design_files {QSYS_SIMDIR} { + set design_files [dict create] + error "Skipping VCS script generation since VHDL file $QSYS_SIMDIR/../ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd is required for simulation" + } + + proc get_elab_options {SIMULATOR_TOOL_BITNESS} { + set ELAB_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ELAB_OPTIONS + } + + + proc get_sim_options {SIMULATOR_TOOL_BITNESS} { + set SIM_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $SIM_OPTIONS + } + + + proc get_env_variables {SIMULATOR_TOOL_BITNESS} { + set ENV_VARIABLES [dict create] + set LD_LIBRARY_PATH [dict create] + dict set ENV_VARIABLES "LD_LIBRARY_PATH" $LD_LIBRARY_PATH + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ENV_VARIABLES + } + + +} diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/vcsmx_files.tcl b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/vcsmx_files.tcl new file mode 100644 index 0000000000000000000000000000000000000000..edaeb6bebfae5d6c0f61490112e61767f0cd5753 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/vcsmx_files.tcl @@ -0,0 +1,56 @@ + +namespace eval ip_arria10_e2sg_ram_crw_crw { + proc get_design_libraries {} { + set libraries [dict create] + dict set libraries ram_2port_2000 1 + dict set libraries ip_arria10_e2sg_ram_crw_crw 1 + return $libraries + } + + proc get_memory_files {QSYS_SIMDIR} { + set memory_files [list] + return $memory_files + } + + proc get_common_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [dict create] + return $design_files + } + + proc get_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [list] + lappend design_files "vhdlan -xlrm $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"$QSYS_SIMDIR/../ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd\" -work ram_2port_2000" + lappend design_files "vhdlan -xlrm $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"$QSYS_SIMDIR/ip_arria10_e2sg_ram_crw_crw.vhd\" -work ip_arria10_e2sg_ram_crw_crw" + return $design_files + } + + proc get_elab_options {SIMULATOR_TOOL_BITNESS} { + set ELAB_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ELAB_OPTIONS + } + + + proc get_sim_options {SIMULATOR_TOOL_BITNESS} { + set SIM_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $SIM_OPTIONS + } + + + proc get_env_variables {SIMULATOR_TOOL_BITNESS} { + set ENV_VARIABLES [dict create] + set LD_LIBRARY_PATH [dict create] + dict set ENV_VARIABLES "LD_LIBRARY_PATH" $LD_LIBRARY_PATH + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ENV_VARIABLES + } + + +} diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/xcelium_files.tcl b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/xcelium_files.tcl new file mode 100644 index 0000000000000000000000000000000000000000..32c44128567a7d16a379a54f9bc6eef1e4031960 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/common/xcelium_files.tcl @@ -0,0 +1,56 @@ + +namespace eval ip_arria10_e2sg_ram_crw_crw { + proc get_design_libraries {} { + set libraries [dict create] + dict set libraries ram_2port_2000 1 + dict set libraries ip_arria10_e2sg_ram_crw_crw 1 + return $libraries + } + + proc get_memory_files {QSYS_SIMDIR} { + set memory_files [list] + return $memory_files + } + + proc get_common_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [dict create] + return $design_files + } + + proc get_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR} { + set design_files [list] + lappend design_files "xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"$QSYS_SIMDIR/../ram_2port_2000/sim/ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey.vhd\" -work ram_2port_2000 -cdslib ./cds_libs/ram_2port_2000.cds.lib" + lappend design_files "xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \"$QSYS_SIMDIR/ip_arria10_e2sg_ram_crw_crw.vhd\" -work ip_arria10_e2sg_ram_crw_crw" + return $design_files + } + + proc get_elab_options {SIMULATOR_TOOL_BITNESS} { + set ELAB_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ELAB_OPTIONS + } + + + proc get_sim_options {SIMULATOR_TOOL_BITNESS} { + set SIM_OPTIONS "" + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $SIM_OPTIONS + } + + + proc get_env_variables {SIMULATOR_TOOL_BITNESS} { + set ENV_VARIABLES [dict create] + set LD_LIBRARY_PATH [dict create] + dict set ENV_VARIABLES "LD_LIBRARY_PATH" $LD_LIBRARY_PATH + if ![ string match "bit_64" $SIMULATOR_TOOL_BITNESS ] { + } else { + } + return $ENV_VARIABLES + } + + +} diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ip_arria10_e2sg_ram_crw_crw.vhd b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ip_arria10_e2sg_ram_crw_crw.vhd new file mode 100644 index 0000000000000000000000000000000000000000..f64a23cd832d75e95228d48a0a5f7fd20c976708 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/ip_arria10_e2sg_ram_crw_crw.vhd @@ -0,0 +1,59 @@ +-- ip_arria10_e2sg_ram_crw_crw.vhd + +-- Generated using ACDS version 19.4 64 + +library IEEE; +library ram_2port_2000; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; + +entity ip_arria10_e2sg_ram_crw_crw is + port ( + data_a : in std_logic_vector(7 downto 0) := (others => '0'); -- data_a.datain_a + q_a : out std_logic_vector(7 downto 0); -- q_a.dataout_a + data_b : in std_logic_vector(7 downto 0) := (others => '0'); -- data_b.datain_b + q_b : out std_logic_vector(7 downto 0); -- q_b.dataout_b + address_a : in std_logic_vector(4 downto 0) := (others => '0'); -- address_a.address_a + address_b : in std_logic_vector(4 downto 0) := (others => '0'); -- address_b.address_b + wren_a : in std_logic := '0'; -- wren_a.wren_a + wren_b : in std_logic := '0'; -- wren_b.wren_b + clock_a : in std_logic := '0'; -- clock_a.clk + clock_b : in std_logic := '0' -- clock_b.clk + ); +end entity ip_arria10_e2sg_ram_crw_crw; + +architecture rtl of ip_arria10_e2sg_ram_crw_crw is + component ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey_cmp is + port ( + data_a : in std_logic_vector(7 downto 0) := (others => 'X'); -- datain_a + q_a : out std_logic_vector(7 downto 0); -- dataout_a + data_b : in std_logic_vector(7 downto 0) := (others => 'X'); -- datain_b + q_b : out std_logic_vector(7 downto 0); -- dataout_b + address_a : in std_logic_vector(4 downto 0) := (others => 'X'); -- address_a + address_b : in std_logic_vector(4 downto 0) := (others => 'X'); -- address_b + wren_a : in std_logic := 'X'; -- wren_a + wren_b : in std_logic := 'X'; -- wren_b + clock_a : in std_logic := 'X'; -- clk + clock_b : in std_logic := 'X' -- clk + ); + end component ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey_cmp; + + for ram_2port_0 : ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey_cmp + use entity ram_2port_2000.ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey; +begin + + ram_2port_0 : component ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey_cmp + port map ( + data_a => data_a, -- data_a.datain_a + q_a => q_a, -- q_a.dataout_a + data_b => data_b, -- data_b.datain_b + q_b => q_b, -- q_b.dataout_b + address_a => address_a, -- address_a.address_a + address_b => address_b, -- address_b.address_b + wren_a => wren_a, -- wren_a.wren_a + wren_b => wren_b, -- wren_b.wren_b + clock_a => clock_a, -- clock_a.clk + clock_b => clock_b -- clock_b.clk + ); + +end architecture rtl; -- of ip_arria10_e2sg_ram_crw_crw diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/mentor/msim_setup.tcl b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/mentor/msim_setup.tcl new file mode 100644 index 0000000000000000000000000000000000000000..6392b9c021dcb8d37bfa6e7ad58ece732086285a --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/mentor/msim_setup.tcl @@ -0,0 +1,361 @@ + +# (C) 2001-2021 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and +# other software and tools, and its AMPP partner logic functions, and +# any output files any of the foregoing (including device programming +# or simulation files), and any associated documentation or information +# are expressly subject to the terms and conditions of the Intel +# Program License Subscription Agreement, Intel MegaCore Function +# License Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Intel and sold by Intel +# or its authorized distributors. Please refer to the applicable +# agreement for further details. + +# ---------------------------------------- +# Auto-generated simulation script msim_setup.tcl +# ---------------------------------------- +# This script provides commands to simulate the following IP detected in +# your Quartus project: +# ip_arria10_e2sg_ram_crw_crw +# +# Intel recommends that you source this Quartus-generated IP simulation +# script from your own customized top-level script, and avoid editing this +# generated script. +# +# To write a top-level script that compiles Intel simulation libraries and +# the Quartus-generated IP in your project, along with your design and +# testbench files, copy the text from the TOP-LEVEL TEMPLATE section below +# into a new file, e.g. named "mentor.do", and modify the text as directed. +# +# ---------------------------------------- +# # TOP-LEVEL TEMPLATE - BEGIN +# # +# # QSYS_SIMDIR is used in the Quartus-generated IP simulation script to +# # construct paths to the files required to simulate the IP in your Quartus +# # project. By default, the IP script assumes that you are launching the +# # simulator from the IP script location. If launching from another +# # location, set QSYS_SIMDIR to the output directory you specified when you +# # generated the IP script, relative to the directory from which you launch +# # the simulator. +# # +# set QSYS_SIMDIR <script generation output directory> +# # +# # Source the generated IP simulation script. +# source $QSYS_SIMDIR/mentor/msim_setup.tcl +# # +# # Set any compilation options you require (this is unusual). +# set USER_DEFINED_COMPILE_OPTIONS <compilation options> +# set USER_DEFINED_VHDL_COMPILE_OPTIONS <compilation options for VHDL> +# set USER_DEFINED_VERILOG_COMPILE_OPTIONS <compilation options for Verilog> +# # +# # Call command to compile the Quartus EDA simulation library. +# dev_com +# # +# # Call command to compile the Quartus-generated IP simulation files. +# com +# # +# # Add commands to compile all design files and testbench files, including +# # the top level. (These are all the files required for simulation other +# # than the files compiled by the Quartus-generated IP simulation script) +# # +# vlog <compilation options> <design and testbench files> +# # +# # Set the top-level simulation or testbench module/entity name, which is +# # used by the elab command to elaborate the top level. +# # +# set TOP_LEVEL_NAME <simulation top> +# # +# # Set any elaboration options you require. +# set USER_DEFINED_ELAB_OPTIONS <elaboration options> +# # +# # Call command to elaborate your design and testbench. +# elab +# # +# # Run the simulation. +# run -a +# # +# # Report success to the shell. +# exit -code 0 +# # +# # TOP-LEVEL TEMPLATE - END +# ---------------------------------------- +# +# IP SIMULATION SCRIPT +# ---------------------------------------- +# If ip_arria10_e2sg_ram_crw_crw is one of several IP cores in your +# Quartus project, you can generate a simulation script +# suitable for inclusion in your top-level simulation +# script by running the following command line: +# +# ip-setup-simulation --quartus-project=<quartus project> +# +# ip-setup-simulation will discover the Intel IP +# within the Quartus project, and generate a unified +# script which supports all the Intel IP within the design. +# ---------------------------------------- +# ACDS 19.4 64 linux 2021.04.14.00:17:37 + +# ---------------------------------------- +# Initialize variables +if ![info exists SYSTEM_INSTANCE_NAME] { + set SYSTEM_INSTANCE_NAME "" +} elseif { ![ string match "" $SYSTEM_INSTANCE_NAME ] } { + set SYSTEM_INSTANCE_NAME "/$SYSTEM_INSTANCE_NAME" +} + +if ![info exists TOP_LEVEL_NAME] { + set TOP_LEVEL_NAME "ip_arria10_e2sg_ram_crw_crw.ip_arria10_e2sg_ram_crw_crw" +} + +if ![info exists QSYS_SIMDIR] { + set QSYS_SIMDIR "./../" +} + +if ![info exists QUARTUS_INSTALL_DIR] { + set QUARTUS_INSTALL_DIR "/home/software/Altera/19.4.0.64/quartus/" +} + +if ![info exists USER_DEFINED_COMPILE_OPTIONS] { + set USER_DEFINED_COMPILE_OPTIONS "" +} + +if ![info exists USER_DEFINED_VHDL_COMPILE_OPTIONS] { + set USER_DEFINED_VHDL_COMPILE_OPTIONS "" +} + +if ![info exists USER_DEFINED_VERILOG_COMPILE_OPTIONS] { + set USER_DEFINED_VERILOG_COMPILE_OPTIONS "" +} + +if ![info exists USER_DEFINED_ELAB_OPTIONS] { + set USER_DEFINED_ELAB_OPTIONS "" +} + +if ![info exists SILENCE] { + set SILENCE "false" +} + +if ![info exists FORCE_MODELSIM_AE_SELECTION] { + set FORCE_MODELSIM_AE_SELECTION "false" +} + +# ---------------------------------------- +# Source Common Tcl File +source $QSYS_SIMDIR/common/modelsim_files.tcl + + +# ---------------------------------------- +# Initialize simulation properties - DO NOT MODIFY! +set ELAB_OPTIONS "" +set SIM_OPTIONS "" +set LD_LIBRARY_PATH [dict create] +if ![ string match "*-64 vsim*" [ vsimVersionString ] ] { + set SIMULATOR_TOOL_BITNESS "bit_32" +} else { + set SIMULATOR_TOOL_BITNESS "bit_64" +} +set LD_LIBRARY_PATH [dict merge $LD_LIBRARY_PATH [dict get [ip_arria10_e2sg_ram_crw_crw::get_env_variables $SIMULATOR_TOOL_BITNESS] "LD_LIBRARY_PATH"]] +if {[dict size $LD_LIBRARY_PATH] !=0 } { + set LD_LIBRARY_PATH [subst [join [dict keys $LD_LIBRARY_PATH] ":"]] + setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH" +} +append ELAB_OPTIONS [subst [ip_arria10_e2sg_ram_crw_crw::get_elab_options $SIMULATOR_TOOL_BITNESS]] +append SIM_OPTIONS [subst [ip_arria10_e2sg_ram_crw_crw::get_sim_options $SIMULATOR_TOOL_BITNESS]] + +proc modelsim_ae_select {force_select_modelsim_ae} { + if [string is true -strict $force_select_modelsim_ae] { + return 1 + } + return [string match -nocase "*ModelSim*Intel*FPGA*" [ vsimVersionString ]] + +} + + +# ---------------------------------------- +# Copy ROM/RAM files to simulation directory +alias file_copy { + if [string is false -strict $SILENCE] { + echo "\[exec\] file_copy" + } + set memory_files [list] + set memory_files [concat $memory_files [ip_arria10_e2sg_ram_crw_crw::get_memory_files "$QSYS_SIMDIR"]] + foreach file $memory_files { file copy -force $file ./ } +} + +# ---------------------------------------- +# Create compilation libraries + +set logical_libraries [list "work" "work_lib" "altera" "lpm" "sgate" "altera_mf" "altera_lnsim" "twentynm" "twentynm_hssi" "twentynm_hip"] + +proc ensure_lib { lib } { if ![file isdirectory $lib] { vlib $lib } } +ensure_lib ./libraries/ +ensure_lib ./libraries/work/ +vmap work ./libraries/work/ +vmap work_lib ./libraries/work/ +if [string is false -strict [modelsim_ae_select $FORCE_MODELSIM_AE_SELECTION]] { + ensure_lib ./libraries/altera/ + vmap altera ./libraries/altera/ + ensure_lib ./libraries/lpm/ + vmap lpm ./libraries/lpm/ + ensure_lib ./libraries/sgate/ + vmap sgate ./libraries/sgate/ + ensure_lib ./libraries/altera_mf/ + vmap altera_mf ./libraries/altera_mf/ + ensure_lib ./libraries/altera_lnsim/ + vmap altera_lnsim ./libraries/altera_lnsim/ + ensure_lib ./libraries/twentynm/ + vmap twentynm ./libraries/twentynm/ + ensure_lib ./libraries/twentynm_hssi/ + vmap twentynm_hssi ./libraries/twentynm_hssi/ + ensure_lib ./libraries/twentynm_hip/ + vmap twentynm_hip ./libraries/twentynm_hip/ +} +set design_libraries [dict create] +set design_libraries [dict merge $design_libraries [ip_arria10_e2sg_ram_crw_crw::get_design_libraries]] +set libraries [dict keys $design_libraries] +foreach library $libraries { + ensure_lib ./libraries/$library/ + vmap $library ./libraries/$library/ + lappend logical_libraries $library +} + +# ---------------------------------------- +# Compile device library files +alias dev_com { + if [string is false -strict $SILENCE] { + echo "\[exec\] dev_com" + } + if [string is false -strict [modelsim_ae_select $FORCE_MODELSIM_AE_SELECTION]] { + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_syn_attributes.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_standard_functions.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/alt_dspbuilder_package.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_europa_support_lib.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives_components.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives.vhd" -work altera + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220pack.vhd" -work lpm + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220model.vhd" -work lpm + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate_pack.vhd" -work sgate + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate.vhd" -work sgate + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf_components.vhd" -work altera_mf + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf.vhd" -work altera_mf + eval vlog -sv $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/altera_lnsim_for_vhdl.sv" -work altera_lnsim + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim_components.vhd" -work altera_lnsim + eval vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/twentynm_atoms_ncrypt.v" -work twentynm + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_atoms.vhd" -work twentynm + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_components.vhd" -work twentynm + eval vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/twentynm_hssi_atoms_ncrypt.v" -work twentynm_hssi + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_components.vhd" -work twentynm_hssi + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_atoms.vhd" -work twentynm_hssi + eval vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/twentynm_hip_atoms_ncrypt.v" -work twentynm_hip + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_components.vhd" -work twentynm_hip + eval vcom $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_atoms.vhd" -work twentynm_hip + } +} + +# ---------------------------------------- +# Compile the design files in correct order +alias com { + if [string is false -strict $SILENCE] { + echo "\[exec\] com" + } + set design_files [dict create] + set design_files [dict merge [ip_arria10_e2sg_ram_crw_crw::get_common_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] + set common_design_files [dict values $design_files] + foreach file $common_design_files { + eval $file + } + set design_files [list] + set design_files [concat $design_files [ip_arria10_e2sg_ram_crw_crw::get_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] + foreach file $design_files { + eval $file + } +} + +# ---------------------------------------- +# Elaborate top level design +alias elab { + if [string is false -strict $SILENCE] { + echo "\[exec\] elab" + } + set elabcommand " $ELAB_OPTIONS $USER_DEFINED_ELAB_OPTIONS" + foreach library $logical_libraries { append elabcommand " -L $library" } + append elabcommand " $TOP_LEVEL_NAME" + eval vsim $elabcommand +} + +# ---------------------------------------- +# Elaborate the top level design with -voptargs=+acc option +alias elab_debug { + if [string is false -strict $SILENCE] { + echo "\[exec\] elab_debug" + } + set elabcommand " $ELAB_OPTIONS $USER_DEFINED_ELAB_OPTIONS" + foreach library $logical_libraries { append elabcommand " -L $library" } + append elabcommand " $TOP_LEVEL_NAME" + eval vsim -voptargs=+acc $elabcommand +} + +# ---------------------------------------- +# Compile all the design files and elaborate the top level design +alias ld " + dev_com + com + elab +" + +# ---------------------------------------- +# Compile all the design files and elaborate the top level design with -voptargs=+acc +alias ld_debug " + dev_com + com + elab_debug +" + +# ---------------------------------------- +# Print out user commmand line aliases +alias h { + echo "List Of Command Line Aliases" + echo + echo "file_copy -- Copy ROM/RAM files to simulation directory" + echo + echo "dev_com -- Compile device library files" + echo + echo "com -- Compile the design files in correct order" + echo + echo "elab -- Elaborate top level design" + echo + echo "elab_debug -- Elaborate the top level design with -voptargs=+acc option" + echo + echo "ld -- Compile all the design files and elaborate the top level design" + echo + echo "ld_debug -- Compile all the design files and elaborate the top level design with -voptargs=+acc" + echo + echo + echo + echo "List Of Variables" + echo + echo "TOP_LEVEL_NAME -- Top level module name." + echo " For most designs, this should be overridden" + echo " to enable the elab/elab_debug aliases." + echo + echo "SYSTEM_INSTANCE_NAME -- Instantiated system module name inside top level module." + echo + echo "QSYS_SIMDIR -- Qsys base simulation directory." + echo + echo "QUARTUS_INSTALL_DIR -- Quartus installation directory." + echo + echo "USER_DEFINED_COMPILE_OPTIONS -- User-defined compile options, added to com/dev_com aliases." + echo + echo "USER_DEFINED_VHDL_COMPILE_OPTIONS -- User-defined vhdl compile options, added to com/dev_com aliases." + echo + echo "USER_DEFINED_VERILOG_COMPILE_OPTIONS -- User-defined verilog compile options, added to com/dev_com aliases." + echo + echo "USER_DEFINED_ELAB_OPTIONS -- User-defined elaboration options, added to elab/elab_debug aliases." + echo + echo "SILENCE -- Set to true to suppress all informational and/or warning messages in the generated simulation script. " + echo + echo "FORCE_MODELSIM_AE_SELECTION -- Set to true to force to select Modelsim AE always." +} +file_copy +h diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/synopsys/vcsmx/synopsys_sim.setup b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/synopsys/vcsmx/synopsys_sim.setup new file mode 100644 index 0000000000000000000000000000000000000000..4075e5625f75095cdeeb70814c730f9e9b6de13d --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/synopsys/vcsmx/synopsys_sim.setup @@ -0,0 +1,15 @@ + +WORK > DEFAULT +DEFAULT: ./libraries/work/ +work: ./libraries/work/ +ram_2port_2000: ./libraries/ram_2port_2000/ +ip_arria10_e2sg_ram_crw_crw: ./libraries/ip_arria10_e2sg_ram_crw_crw/ +altera: ./libraries/altera/ +lpm: ./libraries/lpm/ +sgate: ./libraries/sgate/ +altera_mf: ./libraries/altera_mf/ +altera_lnsim: ./libraries/altera_lnsim/ +twentynm: ./libraries/twentynm/ +twentynm_hssi: ./libraries/twentynm_hssi/ +twentynm_hip: ./libraries/twentynm_hip/ +LIBRARY_SCAN = TRUE diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/synopsys/vcsmx/vcsmx_setup.sh b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/synopsys/vcsmx/vcsmx_setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..fd2b67c6dd898d92efa1eaf6470b8996c1539ed0 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/synopsys/vcsmx/vcsmx_setup.sh @@ -0,0 +1,327 @@ + +# (C) 2001-2021 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and +# other software and tools, and its AMPP partner logic functions, and +# any output files any of the foregoing (including device programming +# or simulation files), and any associated documentation or information +# are expressly subject to the terms and conditions of the Intel +# Program License Subscription Agreement, Intel MegaCore Function +# License Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Intel and sold by Intel +# or its authorized distributors. Please refer to the applicable +# agreement for further details. + +# ACDS 19.4 64 linux 2021.04.14.00:17:37 + +# ---------------------------------------- +# vcsmx - auto-generated simulation script + +# ---------------------------------------- +# This script provides commands to simulate the following IP detected in +# your Quartus project: +# ip_arria10_e2sg_ram_crw_crw +# +# Intel recommends that you source this Quartus-generated IP simulation +# script from your own customized top-level script, and avoid editing this +# generated script. +# +# To write a top-level shell script that compiles Intel simulation libraries +# and the Quartus-generated IP in your project, along with your design and +# testbench files, copy the text from the TOP-LEVEL TEMPLATE section below +# into a new file, e.g. named "vcsmx_sim.sh", and modify text as directed. +# +# You can also modify the simulation flow to suit your needs. Set the +# following variables to 1 to disable their corresponding processes: +# - SKIP_FILE_COPY: skip copying ROM/RAM initialization files +# - SKIP_DEV_COM: skip compiling the Quartus EDA simulation library +# - SKIP_COM: skip compiling Quartus-generated IP simulation files +# - SKIP_ELAB and SKIP_SIM: skip elaboration and simulation +# +# ---------------------------------------- +# # TOP-LEVEL TEMPLATE - BEGIN +# # +# # QSYS_SIMDIR is used in the Quartus-generated IP simulation script to +# # construct paths to the files required to simulate the IP in your Quartus +# # project. By default, the IP script assumes that you are launching the +# # simulator from the IP script location. If launching from another +# # location, set QSYS_SIMDIR to the output directory you specified when you +# # generated the IP script, relative to the directory from which you launch +# # the simulator. In this case, you must also copy the generated library +# # setup "synopsys_sim.setup" into the location from which you launch the +# # simulator, or incorporate into any existing library setup. +# # +# # Run Quartus-generated IP simulation script once to compile Quartus EDA +# # simulation libraries and Quartus-generated IP simulation files, and copy +# # any ROM/RAM initialization files to the simulation directory. +# # +# # - If necessary, specify any compilation options: +# # USER_DEFINED_COMPILE_OPTIONS +# # USER_DEFINED_VHDL_COMPILE_OPTIONS applied to vhdl compiler +# # USER_DEFINED_VERILOG_COMPILE_OPTIONS applied to verilog compiler +# # +# source <script generation output directory>/synopsys/vcsmx/vcsmx_setup.sh \ +# SKIP_ELAB=1 \ +# SKIP_SIM=1 \ +# USER_DEFINED_COMPILE_OPTIONS=<compilation options for your design> \ +# USER_DEFINED_VHDL_COMPILE_OPTIONS=<VHDL compilation options for your design> \ +# USER_DEFINED_VERILOG_COMPILE_OPTIONS=<Verilog compilation options for your design> \ +# QSYS_SIMDIR=<script generation output directory> +# # +# # Compile all design files and testbench files, including the top level. +# # (These are all the files required for simulation other than the files +# # compiled by the IP script) +# # +# vlogan <compilation options> <design and testbench files> +# # +# # TOP_LEVEL_NAME is used in this script to set the top-level simulation or +# # testbench module/entity name. +# # +# # Run the IP script again to elaborate and simulate the top level: +# # - Specify TOP_LEVEL_NAME and USER_DEFINED_ELAB_OPTIONS. +# # - Override the default USER_DEFINED_SIM_OPTIONS. For example, to run +# # until $finish(), set to an empty string: USER_DEFINED_SIM_OPTIONS="". +# # +# source <script generation output directory>/synopsys/vcsmx/vcsmx_setup.sh \ +# SKIP_FILE_COPY=1 \ +# SKIP_DEV_COM=1 \ +# SKIP_COM=1 \ +# TOP_LEVEL_NAME="'-top <simulation top>'" \ +# QSYS_SIMDIR=<script generation output directory> \ +# USER_DEFINED_ELAB_OPTIONS=<elaboration options for your design> \ +# USER_DEFINED_SIM_OPTIONS=<simulation options for your design> +# # +# # TOP-LEVEL TEMPLATE - END +# ---------------------------------------- +# +# IP SIMULATION SCRIPT +# ---------------------------------------- +# If ip_arria10_e2sg_ram_crw_crw is one of several IP cores in your +# Quartus project, you can generate a simulation script +# suitable for inclusion in your top-level simulation +# script by running the following command line: +# +# ip-setup-simulation --quartus-project=<quartus project> +# +# ip-setup-simulation will discover the Intel IP +# within the Quartus project, and generate a unified +# script which supports all the Intel IP within the design. +# ---------------------------------------- +# ACDS 19.4 64 linux 2021.04.14.00:17:37 +# ---------------------------------------- +# initialize variables +TOP_LEVEL_NAME="ip_arria10_e2sg_ram_crw_crw.ip_arria10_e2sg_ram_crw_crw" +QSYS_SIMDIR="./../../" +QUARTUS_INSTALL_DIR="/home/software/Altera/19.4.0.64/quartus/" +SKIP_FILE_COPY=0 +SKIP_DEV_COM=0 +SKIP_COM=0 +SKIP_ELAB=0 +SKIP_SIM=0 +USER_DEFINED_ELAB_OPTIONS="" +USER_DEFINED_SIM_OPTIONS="+vcs+finish+100" + +# ---------------------------------------- +# overwrite variables - DO NOT MODIFY! +# This block evaluates each command line argument, typically used for +# overwriting variables. An example usage: +# sh <simulator>_setup.sh SKIP_SIM=1 +for expression in "$@"; do + eval $expression + if [ $? -ne 0 ]; then + echo "Error: This command line argument, \"$expression\", is/has an invalid expression." >&2 + exit $? + fi +done + +#------------------------------------------- +# check tclsh version no earlier than 8.5 +version=$(echo "puts [package vcompare [info tclversion] 8.5]; exit" | tclsh) +if [ $version -eq -1 ]; then + echo "Error: Minimum required tcl package version is 8.5." >&2 + exit 1 +fi + +# ---------------------------------------- +# initialize simulation properties - DO NOT MODIFY! +ELAB_OPTIONS="" +SIM_OPTIONS="" +if [[ `vcs -platform` != *"amd64"* ]]; then + SIMULATOR_TOOL_BITNESS="bit_32" +else + SIMULATOR_TOOL_BITNESS="bit_64" +fi +TCLSCRIPT=' +set QSYS_SIMDIR [lindex $argv 1] +set SIMULATOR_TOOL_BITNESS [lindex $argv 2] +source $QSYS_SIMDIR/common/vcsmx_files.tcl +set LD_LIBRARY_PATH [dict create] +set LD_LIBRARY_PATH [dict merge $LD_LIBRARY_PATH [dict get [ip_arria10_e2sg_ram_crw_crw::get_env_variables $SIMULATOR_TOOL_BITNESS] "LD_LIBRARY_PATH"]] +if {[dict size $LD_LIBRARY_PATH] !=0 } { + set LD_LIBRARY_PATH [join [dict keys $LD_LIBRARY_PATH] ":"] + puts "LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\"" +} + +set ELAB_OPTIONS "" +append ELAB_OPTIONS [ip_arria10_e2sg_ram_crw_crw::get_elab_options $SIMULATOR_TOOL_BITNESS] +puts "ELAB_OPTIONS+=\"$ELAB_OPTIONS\"" +set SIM_OPTIONS "" +append SIM_OPTIONS [ip_arria10_e2sg_ram_crw_crw::get_sim_options $SIMULATOR_TOOL_BITNESS] +puts "SIM_OPTIONS+=\"$SIM_OPTIONS\"" +exit 0 +' +cmd_output=$( +tclsh -args "$QSYS_SIMDIR" "$SIMULATOR_TOOL_BITNESS" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +eval $cmd_output + +TCLSCRIPT=' +set QSYS_SIMDIR [lindex $argv 1] +set libraries [dict create] +source $QSYS_SIMDIR/common/vcsmx_files.tcl +set libraries [dict merge $libraries [ip_arria10_e2sg_ram_crw_crw::get_design_libraries]] +set design_libraries [dict keys $libraries] +foreach file $design_libraries { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +design_libraries=$cmd_output + +# ---------------------------------------- +# create compilation libraries +mkdir -p ./libraries/work/ +mkdir -p ./libraries/altera/ +mkdir -p ./libraries/lpm/ +mkdir -p ./libraries/sgate/ +mkdir -p ./libraries/altera_mf/ +mkdir -p ./libraries/altera_lnsim/ +mkdir -p ./libraries/twentynm/ +mkdir -p ./libraries/twentynm_hssi/ +mkdir -p ./libraries/twentynm_hip/ +for library in $design_libraries +do + mkdir -p ./libraries/$library +done + +# ---------------------------------------- +# copy RAM/ROM files to simulation directory +TCLSCRIPT=' +set QSYS_SIMDIR [lindex $argv 1] +set memory_files [list] +source $QSYS_SIMDIR/common/vcsmx_files.tcl +set memory_files [concat $memory_files [ip_arria10_e2sg_ram_crw_crw::get_memory_files "$QSYS_SIMDIR"]] +foreach file $memory_files { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +memory_files=$cmd_output +if [ $SKIP_FILE_COPY -eq 0 ]; then + for file in $memory_files + do + cp -f $file ./ + done +fi + +# ---------------------------------------- +# compile device library files +if [ $SKIP_DEV_COM -eq 0 ]; then + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_syn_attributes.vhd" -work altera + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_standard_functions.vhd" -work altera + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/alt_dspbuilder_package.vhd" -work altera + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_europa_support_lib.vhd" -work altera + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives_components.vhd" -work altera + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives.vhd" -work altera + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220pack.vhd" -work lpm + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220model.vhd" -work lpm + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate_pack.vhd" -work sgate + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate.vhd" -work sgate + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf_components.vhd" -work altera_mf + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf.vhd" -work altera_mf + vlogan +v2k -sverilog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim.sv" -work altera_lnsim + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim_components.vhd" -work altera_lnsim + vlogan +v2k $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/synopsys/twentynm_atoms_ncrypt.v" -work twentynm + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_atoms.vhd" -work twentynm + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_components.vhd" -work twentynm + vlogan +v2k $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/synopsys/twentynm_hssi_atoms_ncrypt.v" -work twentynm_hssi + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_components.vhd" -work twentynm_hssi + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_atoms.vhd" -work twentynm_hssi + vlogan +v2k $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/synopsys/twentynm_hip_atoms_ncrypt.v" -work twentynm_hip + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_components.vhd" -work twentynm_hip + vhdlan $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_atoms.vhd" -work twentynm_hip +fi + +# ---------------------------------------- +# get common system verilog package design files +TCLSCRIPT=' +set USER_DEFINED_COMPILE_OPTIONS [lindex $argv 1] +set USER_DEFINED_VERILOG_COMPILE_OPTIONS [lindex $argv 2] +set USER_DEFINED_VHDL_COMPILE_OPTIONS [lindex $argv 3] +set QSYS_SIMDIR [lindex $argv 4] +set design_files [dict create] +source $QSYS_SIMDIR/common/vcsmx_files.tcl +set design_files [dict merge $design_files [ip_arria10_e2sg_ram_crw_crw::get_common_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] +set common_design_files [dict values $design_files] +foreach file $common_design_files { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$USER_DEFINED_COMPILE_OPTIONS" "$USER_DEFINED_VERILOG_COMPILE_OPTIONS" "$USER_DEFINED_VHDL_COMPILE_OPTIONS" "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +common_design_files=$cmd_output + +# ---------------------------------------- +# get design files +TCLSCRIPT=' +set USER_DEFINED_COMPILE_OPTIONS [lindex $argv 1] +set USER_DEFINED_VERILOG_COMPILE_OPTIONS [lindex $argv 2] +set USER_DEFINED_VHDL_COMPILE_OPTIONS [lindex $argv 3] +set QSYS_SIMDIR [lindex $argv 4] +set files [list] +source $QSYS_SIMDIR/common/vcsmx_files.tcl +set files [concat $files [ip_arria10_e2sg_ram_crw_crw::get_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] +set design_files $files +foreach file $design_files { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$USER_DEFINED_COMPILE_OPTIONS" "$USER_DEFINED_VERILOG_COMPILE_OPTIONS" "$USER_DEFINED_VHDL_COMPILE_OPTIONS" "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +design_files=$cmd_output + +# ---------------------------------------- +# compile design files in correct order +if [ $SKIP_COM -eq 0 ]; then + eval "$common_design_files" + eval "$design_files" +fi + +# ---------------------------------------- +# elaborate top level design +if [ $SKIP_ELAB -eq 0 ]; then + vcs -lca -t ps -liblist_work $ELAB_OPTIONS $USER_DEFINED_ELAB_OPTIONS $TOP_LEVEL_NAME +fi + +# ---------------------------------------- +# simulate +if [ $SKIP_SIM -eq 0 ]; then + ./simv $SIM_OPTIONS $USER_DEFINED_SIM_OPTIONS +fi diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/cds.lib b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/cds.lib new file mode 100644 index 0000000000000000000000000000000000000000..c4bbf4b617cde8c5eea291ace049725ea8c898fe --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/cds.lib @@ -0,0 +1,21 @@ + +DEFINE std $CDS_ROOT/tools/inca/files/STD/ +DEFINE synopsys $CDS_ROOT/tools/inca/files/SYNOPSYS/ +DEFINE ieee $CDS_ROOT/tools/inca/files/IEEE/ +DEFINE ambit $CDS_ROOT/tools/inca/files/AMBIT/ +DEFINE vital_memory $CDS_ROOT/tools/inca/files/VITAL_MEMORY/ +DEFINE ncutils $CDS_ROOT/tools/inca/files/NCUTILS/ +DEFINE ncinternal $CDS_ROOT/tools/inca/files/NCINTERNAL/ +DEFINE ncmodels $CDS_ROOT/tools/inca/files/NCMODELS/ +DEFINE cds_assertions $CDS_ROOT/tools/inca/files/CDS_ASSERTIONS/ +DEFINE work ./libraries/work/ +DEFINE ram_2port_2000 ./libraries/ram_2port_2000/ +DEFINE ip_arria10_e2sg_ram_crw_crw ./libraries/ip_arria10_e2sg_ram_crw_crw/ +DEFINE altera ./libraries/altera/ +DEFINE lpm ./libraries/lpm/ +DEFINE sgate ./libraries/sgate/ +DEFINE altera_mf ./libraries/altera_mf/ +DEFINE altera_lnsim ./libraries/altera_lnsim/ +DEFINE twentynm ./libraries/twentynm/ +DEFINE twentynm_hssi ./libraries/twentynm_hssi/ +DEFINE twentynm_hip ./libraries/twentynm_hip/ diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/cds_libs/ip_arria10_e2sg_ram_crw_crw.cds.lib b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/cds_libs/ip_arria10_e2sg_ram_crw_crw.cds.lib new file mode 100644 index 0000000000000000000000000000000000000000..b69bd46f323b6c56fe97c3a27864f4a0d9ac517a --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/cds_libs/ip_arria10_e2sg_ram_crw_crw.cds.lib @@ -0,0 +1,20 @@ + +DEFINE std $CDS_ROOT/tools/inca/files/STD/ +DEFINE synopsys $CDS_ROOT/tools/inca/files/SYNOPSYS/ +DEFINE ieee $CDS_ROOT/tools/inca/files/IEEE/ +DEFINE ambit $CDS_ROOT/tools/inca/files/AMBIT/ +DEFINE vital_memory $CDS_ROOT/tools/inca/files/VITAL_MEMORY/ +DEFINE ncutils $CDS_ROOT/tools/inca/files/NCUTILS/ +DEFINE ncinternal $CDS_ROOT/tools/inca/files/NCINTERNAL/ +DEFINE ncmodels $CDS_ROOT/tools/inca/files/NCMODELS/ +DEFINE cds_assertions $CDS_ROOT/tools/inca/files/CDS_ASSERTIONS/ +DEFINE work ./../libraries/work/ +DEFINE altera ./../libraries/altera/ +DEFINE lpm ./../libraries/lpm/ +DEFINE sgate ./../libraries/sgate/ +DEFINE altera_mf ./../libraries/altera_mf/ +DEFINE altera_lnsim ./../libraries/altera_lnsim/ +DEFINE twentynm ./../libraries/twentynm/ +DEFINE twentynm_hssi ./../libraries/twentynm_hssi/ +DEFINE twentynm_hip ./../libraries/twentynm_hip/ +DEFINE ip_arria10_e2sg_ram_crw_crw ./../libraries/ip_arria10_e2sg_ram_crw_crw/ diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/cds_libs/ram_2port_2000.cds.lib b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/cds_libs/ram_2port_2000.cds.lib new file mode 100644 index 0000000000000000000000000000000000000000..cf2afc78bfef3b8c8ca80de405fd5658af814414 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/cds_libs/ram_2port_2000.cds.lib @@ -0,0 +1,20 @@ + +DEFINE std $CDS_ROOT/tools/inca/files/STD/ +DEFINE synopsys $CDS_ROOT/tools/inca/files/SYNOPSYS/ +DEFINE ieee $CDS_ROOT/tools/inca/files/IEEE/ +DEFINE ambit $CDS_ROOT/tools/inca/files/AMBIT/ +DEFINE vital_memory $CDS_ROOT/tools/inca/files/VITAL_MEMORY/ +DEFINE ncutils $CDS_ROOT/tools/inca/files/NCUTILS/ +DEFINE ncinternal $CDS_ROOT/tools/inca/files/NCINTERNAL/ +DEFINE ncmodels $CDS_ROOT/tools/inca/files/NCMODELS/ +DEFINE cds_assertions $CDS_ROOT/tools/inca/files/CDS_ASSERTIONS/ +DEFINE work ./../libraries/work/ +DEFINE altera ./../libraries/altera/ +DEFINE lpm ./../libraries/lpm/ +DEFINE sgate ./../libraries/sgate/ +DEFINE altera_mf ./../libraries/altera_mf/ +DEFINE altera_lnsim ./../libraries/altera_lnsim/ +DEFINE twentynm ./../libraries/twentynm/ +DEFINE twentynm_hssi ./../libraries/twentynm_hssi/ +DEFINE twentynm_hip ./../libraries/twentynm_hip/ +DEFINE ram_2port_2000 ./../libraries/ram_2port_2000/ diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/hdl.var b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/hdl.var new file mode 100644 index 0000000000000000000000000000000000000000..c1b781426d042871372b372708619b1944b149db --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/hdl.var @@ -0,0 +1,2 @@ + +DEFINE WORK work diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/xcelium_setup.sh b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/xcelium_setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..64217aaaaa4969c192df1aac494876ff28808e89 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/sim/xcelium/xcelium_setup.sh @@ -0,0 +1,327 @@ + +# (C) 2001-2021 Intel Corporation. All rights reserved. +# Your use of Intel Corporation's design tools, logic functions and +# other software and tools, and its AMPP partner logic functions, and +# any output files any of the foregoing (including device programming +# or simulation files), and any associated documentation or information +# are expressly subject to the terms and conditions of the Intel +# Program License Subscription Agreement, Intel MegaCore Function +# License Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Intel and sold by Intel +# or its authorized distributors. Please refer to the applicable +# agreement for further details. + +# ACDS 19.4 64 linux 2021.04.14.00:17:37 + +# ---------------------------------------- +# xcelium - auto-generated simulation script + +# ---------------------------------------- +# This script provides commands to simulate the following IP detected in +# your Quartus project: +# ip_arria10_e2sg_ram_crw_crw +# +# Intel recommends that you source this Quartus-generated IP simulation +# script from your own customized top-level script, and avoid editing this +# generated script. +# +# Xcelium Simulation Script. +# To write a top-level shell script that compiles Intel simulation libraries +# and the Quartus-generated IP in your project, along with your design and +# testbench files, copy the text from the TOP-LEVEL TEMPLATE section below +# into a new file, e.g. named "xcelium_sim.sh", and modify text as directed. +# +# You can also modify the simulation flow to suit your needs. Set the +# following variables to 1 to disable their corresponding processes: +# - SKIP_FILE_COPY: skip copying ROM/RAM initialization files +# - SKIP_DEV_COM: skip compiling the Quartus EDA simulation library +# - SKIP_COM: skip compiling Quartus-generated IP simulation files +# - SKIP_ELAB and SKIP_SIM: skip elaboration and simulation +# +# ---------------------------------------- +# # TOP-LEVEL TEMPLATE - BEGIN +# # +# # QSYS_SIMDIR is used in the Quartus-generated IP simulation script to +# # construct paths to the files required to simulate the IP in your Quartus +# # project. By default, the IP script assumes that you are launching the +# # simulator from the IP script location. If launching from another +# # location, set QSYS_SIMDIR to the output directory you specified when you +# # generated the IP script, relative to the directory from which you launch +# # the simulator. In this case, you must also copy the generated files +# # "cds.lib" and "hdl.var" - plus the directory "cds_libs" if generated - +# # into the location from which you launch the simulator, or incorporate +# # into any existing library setup. +# # +# # Run Quartus-generated IP simulation script once to compile Quartus EDA +# # simulation libraries and Quartus-generated IP simulation files, and copy +# # any ROM/RAM initialization files to the simulation directory. +# # - If necessary, specify any compilation options: +# # USER_DEFINED_COMPILE_OPTIONS +# # USER_DEFINED_VHDL_COMPILE_OPTIONS applied to vhdl compiler +# # USER_DEFINED_VERILOG_COMPILE_OPTIONS applied to verilog compiler +# # +# source <script generation output directory>/xcelium/xcelium_setup.sh \ +# SKIP_ELAB=1 \ +# SKIP_SIM=1 \ +# USER_DEFINED_COMPILE_OPTIONS=<compilation options for your design> \ +# USER_DEFINED_VHDL_COMPILE_OPTIONS=<VHDL compilation options for your design> \ +# USER_DEFINED_VERILOG_COMPILE_OPTIONS=<Verilog compilation options for your design> \ +# QSYS_SIMDIR=<script generation output directory> +# # +# # Compile all design files and testbench files, including the top level. +# # (These are all the files required for simulation other than the files +# # compiled by the IP script) +# # +# xmvlog <compilation options> <design and testbench files> +# # +# # TOP_LEVEL_NAME is used in this script to set the top-level simulation or +# # testbench module/entity name. +# # +# # Run the IP script again to elaborate and simulate the top level: +# # - Specify TOP_LEVEL_NAME and USER_DEFINED_ELAB_OPTIONS. +# # - Override the default USER_DEFINED_SIM_OPTIONS. For example, to run +# # until $finish(), set to an empty string: USER_DEFINED_SIM_OPTIONS="". +# # +# source <script generation output directory>/xcelium/xcelium_setup.sh \ +# SKIP_FILE_COPY=1 \ +# SKIP_DEV_COM=1 \ +# SKIP_COM=1 \ +# TOP_LEVEL_NAME=<simulation top> \ +# USER_DEFINED_ELAB_OPTIONS=<elaboration options for your design> \ +# USER_DEFINED_SIM_OPTIONS=<simulation options for your design> +# # +# # TOP-LEVEL TEMPLATE - END +# ---------------------------------------- +# +# IP SIMULATION SCRIPT +# ---------------------------------------- +# If ip_arria10_e2sg_ram_crw_crw is one of several IP cores in your +# Quartus project, you can generate a simulation script +# suitable for inclusion in your top-level simulation +# script by running the following command line: +# +# ip-setup-simulation --quartus-project=<quartus project> +# +# ip-setup-simulation will discover the Intel IP +# within the Quartus project, and generate a unified +# script which supports all the Intel IP within the design. +# ---------------------------------------- +# ACDS 19.4 64 linux 2021.04.14.00:17:37 +# ---------------------------------------- +# initialize variables +TOP_LEVEL_NAME="ip_arria10_e2sg_ram_crw_crw.ip_arria10_e2sg_ram_crw_crw" +QSYS_SIMDIR="./../" +QUARTUS_INSTALL_DIR="/home/software/Altera/19.4.0.64/quartus/" +SKIP_FILE_COPY=0 +SKIP_DEV_COM=0 +SKIP_COM=0 +SKIP_ELAB=0 +SKIP_SIM=0 +USER_DEFINED_ELAB_OPTIONS="" +USER_DEFINED_SIM_OPTIONS="-input \"@run 100; exit\"" + +# ---------------------------------------- +# overwrite variables - DO NOT MODIFY! +# This block evaluates each command line argument, typically used for +# overwriting variables. An example usage: +# sh <simulator>_setup.sh SKIP_SIM=1 +for expression in "$@"; do + eval $expression + if [ $? -ne 0 ]; then + echo "Error: This command line argument, \"$expression\", is/has an invalid expression." >&2 + exit $? + fi +done + +#------------------------------------------- +# check tclsh version no earlier than 8.5 +version=$(echo "puts [package vcompare [info tclversion] 8.5]; exit" | tclsh) +if [ $version -eq -1 ]; then + echo "Error: Minimum required tcl package version is 8.5." >&2 + exit 1 +fi + +# ---------------------------------------- +# initialize simulation properties - DO NOT MODIFY! +ELAB_OPTIONS="" +SIM_OPTIONS="" +if [[ `xmsim -version` != *"xmsim(64)"* ]]; then + SIMULATOR_TOOL_BITNESS="bit_32" +else + SIMULATOR_TOOL_BITNESS="bit_64" +fi +TCLSCRIPT=' +set QSYS_SIMDIR [lindex $argv 1] +set SIMULATOR_TOOL_BITNESS [lindex $argv 2] +source $QSYS_SIMDIR/common/xcelium_files.tcl +set LD_LIBRARY_PATH [dict create] +set LD_LIBRARY_PATH [dict merge $LD_LIBRARY_PATH [dict get [ip_arria10_e2sg_ram_crw_crw::get_env_variables $SIMULATOR_TOOL_BITNESS] "LD_LIBRARY_PATH"]] +if {[dict size $LD_LIBRARY_PATH] !=0 } { + set LD_LIBRARY_PATH [join [dict keys $LD_LIBRARY_PATH] ":"] + puts "LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\"" +} + +set ELAB_OPTIONS "" +append ELAB_OPTIONS [ip_arria10_e2sg_ram_crw_crw::get_elab_options $SIMULATOR_TOOL_BITNESS] +puts "ELAB_OPTIONS+=\"$ELAB_OPTIONS\"" +set SIM_OPTIONS "" +append SIM_OPTIONS [ip_arria10_e2sg_ram_crw_crw::get_sim_options $SIMULATOR_TOOL_BITNESS] +puts "SIM_OPTIONS+=\"$SIM_OPTIONS\"" +exit 0 +' +cmd_output=$( +tclsh -args "$QSYS_SIMDIR" "$SIMULATOR_TOOL_BITNESS" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +eval $cmd_output + +TCLSCRIPT=' +set QSYS_SIMDIR [lindex $argv 1] +set libraries [dict create] +source $QSYS_SIMDIR/common/xcelium_files.tcl +set libraries [dict merge $libraries [ip_arria10_e2sg_ram_crw_crw::get_design_libraries]] +set design_libraries [dict keys $libraries] +foreach file $design_libraries { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +design_libraries=$cmd_output + +# ---------------------------------------- +# create compilation libraries +mkdir -p ./libraries/work/ +mkdir -p ./libraries/altera/ +mkdir -p ./libraries/lpm/ +mkdir -p ./libraries/sgate/ +mkdir -p ./libraries/altera_mf/ +mkdir -p ./libraries/altera_lnsim/ +mkdir -p ./libraries/twentynm/ +mkdir -p ./libraries/twentynm_hssi/ +mkdir -p ./libraries/twentynm_hip/ +for library in $design_libraries +do + mkdir -p ./libraries/$library +done + +# ---------------------------------------- +# copy RAM/ROM files to simulation directory +TCLSCRIPT=' +set QSYS_SIMDIR [lindex $argv 1] +set memory_files [list] +source $QSYS_SIMDIR/common/xcelium_files.tcl +set memory_files [concat $memory_files [ip_arria10_e2sg_ram_crw_crw::get_memory_files "$QSYS_SIMDIR"]] +foreach file $memory_files { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +memory_files=$cmd_output +if [ $SKIP_FILE_COPY -eq 0 ]; then + for file in $memory_files + do + cp -f $file ./ + done +fi + +# ---------------------------------------- +# compile device library files +if [ $SKIP_DEV_COM -eq 0 ]; then + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_syn_attributes.vhd" -work altera + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_standard_functions.vhd" -work altera + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/alt_dspbuilder_package.vhd" -work altera + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_europa_support_lib.vhd" -work altera + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives_components.vhd" -work altera + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives.vhd" -work altera + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220pack.vhd" -work lpm + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/220model.vhd" -work lpm + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate_pack.vhd" -work sgate + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate.vhd" -work sgate + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf_components.vhd" -work altera_mf + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf.vhd" -work altera_mf + xmvlog -sv $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim.sv" -work altera_lnsim + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim_components.vhd" -work altera_lnsim + xmvlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/cadence/twentynm_atoms_ncrypt.v" -work twentynm + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_atoms.vhd" -work twentynm + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_components.vhd" -work twentynm + xmvlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/cadence/twentynm_hssi_atoms_ncrypt.v" -work twentynm_hssi + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_components.vhd" -work twentynm_hssi + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hssi_atoms.vhd" -work twentynm_hssi + xmvlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/cadence/twentynm_hip_atoms_ncrypt.v" -work twentynm_hip + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_components.vhd" -work twentynm_hip + xmvhdl -v93 $USER_DEFINED_VHDL_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS "$QUARTUS_INSTALL_DIR/eda/sim_lib/twentynm_hip_atoms.vhd" -work twentynm_hip +fi + +# ---------------------------------------- +# get common system verilog package design files +TCLSCRIPT=' +set USER_DEFINED_COMPILE_OPTIONS [lindex $argv 1] +set USER_DEFINED_VERILOG_COMPILE_OPTIONS [lindex $argv 2] +set USER_DEFINED_VHDL_COMPILE_OPTIONS [lindex $argv 3] +set QSYS_SIMDIR [lindex $argv 4] +set design_files [dict create] +source $QSYS_SIMDIR/common/xcelium_files.tcl +set design_files [dict merge $design_files [ip_arria10_e2sg_ram_crw_crw::get_common_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] +set common_design_files [dict values $design_files] +foreach file $common_design_files { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$USER_DEFINED_COMPILE_OPTIONS" "$USER_DEFINED_VERILOG_COMPILE_OPTIONS" "$USER_DEFINED_VHDL_COMPILE_OPTIONS" "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +common_design_files=$cmd_output + +# ---------------------------------------- +# get design files +TCLSCRIPT=' +set USER_DEFINED_COMPILE_OPTIONS [lindex $argv 1] +set USER_DEFINED_VERILOG_COMPILE_OPTIONS [lindex $argv 2] +set USER_DEFINED_VHDL_COMPILE_OPTIONS [lindex $argv 3] +set QSYS_SIMDIR [lindex $argv 4] +set files [list] +source $QSYS_SIMDIR/common/xcelium_files.tcl +set files [concat $files [ip_arria10_e2sg_ram_crw_crw::get_design_files $USER_DEFINED_COMPILE_OPTIONS $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_VHDL_COMPILE_OPTIONS "$QSYS_SIMDIR"]] +set design_files $files +foreach file $design_files { puts "$file" } +exit 0 +' +cmd_output=$( +tclsh -args "$USER_DEFINED_COMPILE_OPTIONS" "$USER_DEFINED_VERILOG_COMPILE_OPTIONS" "$USER_DEFINED_VHDL_COMPILE_OPTIONS" "$QSYS_SIMDIR" << SCRIPT + $TCLSCRIPT +SCRIPT +) + +design_files=$cmd_output + +# ---------------------------------------- +# compile design files in correct order +if [ $SKIP_COM -eq 0 ]; then + eval "$common_design_files" + eval "$design_files" +fi + +# ---------------------------------------- +# elaborate top level design +if [ $SKIP_ELAB -eq 0 ]; then + xmelab -access +w+r+c -namemap_mixgen +DISABLEGENCHK -relax $ELAB_OPTIONS $USER_DEFINED_ELAB_OPTIONS $TOP_LEVEL_NAME +fi + +# ---------------------------------------- +# simulate +if [ $SKIP_SIM -eq 0 ]; then + eval xmsim -licqueue $SIM_OPTIONS $USER_DEFINED_SIM_OPTIONS $TOP_LEVEL_NAME +fi diff --git a/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/synth/ip_arria10_e2sg_ram_crw_crw.vhd b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/synth/ip_arria10_e2sg_ram_crw_crw.vhd new file mode 100644 index 0000000000000000000000000000000000000000..f64a23cd832d75e95228d48a0a5f7fd20c976708 --- /dev/null +++ b/libraries/technology/ip_arria10_e2sg/ram/ip_arria10_e2sg_ram_crw_crw/synth/ip_arria10_e2sg_ram_crw_crw.vhd @@ -0,0 +1,59 @@ +-- ip_arria10_e2sg_ram_crw_crw.vhd + +-- Generated using ACDS version 19.4 64 + +library IEEE; +library ram_2port_2000; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; + +entity ip_arria10_e2sg_ram_crw_crw is + port ( + data_a : in std_logic_vector(7 downto 0) := (others => '0'); -- data_a.datain_a + q_a : out std_logic_vector(7 downto 0); -- q_a.dataout_a + data_b : in std_logic_vector(7 downto 0) := (others => '0'); -- data_b.datain_b + q_b : out std_logic_vector(7 downto 0); -- q_b.dataout_b + address_a : in std_logic_vector(4 downto 0) := (others => '0'); -- address_a.address_a + address_b : in std_logic_vector(4 downto 0) := (others => '0'); -- address_b.address_b + wren_a : in std_logic := '0'; -- wren_a.wren_a + wren_b : in std_logic := '0'; -- wren_b.wren_b + clock_a : in std_logic := '0'; -- clock_a.clk + clock_b : in std_logic := '0' -- clock_b.clk + ); +end entity ip_arria10_e2sg_ram_crw_crw; + +architecture rtl of ip_arria10_e2sg_ram_crw_crw is + component ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey_cmp is + port ( + data_a : in std_logic_vector(7 downto 0) := (others => 'X'); -- datain_a + q_a : out std_logic_vector(7 downto 0); -- dataout_a + data_b : in std_logic_vector(7 downto 0) := (others => 'X'); -- datain_b + q_b : out std_logic_vector(7 downto 0); -- dataout_b + address_a : in std_logic_vector(4 downto 0) := (others => 'X'); -- address_a + address_b : in std_logic_vector(4 downto 0) := (others => 'X'); -- address_b + wren_a : in std_logic := 'X'; -- wren_a + wren_b : in std_logic := 'X'; -- wren_b + clock_a : in std_logic := 'X'; -- clk + clock_b : in std_logic := 'X' -- clk + ); + end component ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey_cmp; + + for ram_2port_0 : ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey_cmp + use entity ram_2port_2000.ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey; +begin + + ram_2port_0 : component ip_arria10_e2sg_ram_crw_crw_ram_2port_2000_zxnv4ey_cmp + port map ( + data_a => data_a, -- data_a.datain_a + q_a => q_a, -- q_a.dataout_a + data_b => data_b, -- data_b.datain_b + q_b => q_b, -- q_b.dataout_b + address_a => address_a, -- address_a.address_a + address_b => address_b, -- address_b.address_b + wren_a => wren_a, -- wren_a.wren_a + wren_b => wren_b, -- wren_b.wren_b + clock_a => clock_a, -- clock_a.clk + clock_b => clock_b -- clock_b.clk + ); + +end architecture rtl; -- of ip_arria10_e2sg_ram_crw_crw diff --git a/libraries/technology/jesd204b/hdllib.cfg b/libraries/technology/jesd204b/hdllib.cfg index b7427c05f0932d42571015ea2c2c5215825cf132..7b51dbf3f6b9c30e68c6118feaff0787d43c8805 100644 --- a/libraries/technology/jesd204b/hdllib.cfg +++ b/libraries/technology/jesd204b/hdllib.cfg @@ -15,12 +15,14 @@ synth_files = tech_jesd204b.vhd test_bench_files = +# FIXME: broken, need fixing # tb_tech_jesd204b_pkg.vhd # tb_tech_jesd204b.vhd # tb_tb_tech_jesd204b.vhd regression_test_vhdl = - tb_tech_jesd204b.vhd +# FIXME: broken, need fixing +# tb_tech_jesd204b.vhd [modelsim_project_file] diff --git a/libraries/technology/mult/hdllib.cfg b/libraries/technology/mult/hdllib.cfg index d845941a08b564bc50fa73564d24cde089e980f8..6cec72909f1987c343efe91bf4226b69ef007453 100644 --- a/libraries/technology/mult/hdllib.cfg +++ b/libraries/technology/mult/hdllib.cfg @@ -13,6 +13,7 @@ hdl_lib_uses_synth = common technology ip_arria10_e2sg_mult_add4 ip_arria10_e2sg_mult_add2 ip_arria10_e2sg_complex_mult + hdl_lib_uses_sim = hdl_lib_technology = hdl_lib_disclose_library_clause_names = diff --git a/libraries/technology/mult/tech_complex_mult.vhd b/libraries/technology/mult/tech_complex_mult.vhd index a7974a797728e81a5b1becefe4653a6e9f648436..bdaa07ad2df9bde03f94a4dd6c555db47fbe33fd 100644 --- a/libraries/technology/mult/tech_complex_mult.vhd +++ b/libraries/technology/mult/tech_complex_mult.vhd @@ -169,7 +169,7 @@ begin -- RTL variant is the same for unb2, unb2a and unb2b gen_ip_arria10_rtl : IF (g_sim=FALSE OR (g_sim=TRUE AND g_sim_level=0)) AND - ((g_technology=c_tech_arria10 OR g_technology=c_tech_arria10_e3sge3 OR g_technology=c_tech_arria10_e1sg ) AND g_variant="RTL") GENERATE + ((g_technology=c_tech_arria10 OR g_technology=c_tech_arria10_e3sge3 OR g_technology=c_tech_arria10_e1sg OR g_technology=c_tech_arria10_e2sg) AND g_variant="RTL") GENERATE u0 : ip_arria10_complex_mult_rtl GENERIC MAP( g_in_a_w => g_in_a_w, @@ -195,7 +195,7 @@ begin END GENERATE; gen_ip_arria10_rtl_canonical : IF (g_sim=FALSE OR (g_sim=TRUE AND g_sim_level=0)) AND - ((g_technology=c_tech_arria10 OR g_technology=c_tech_arria10_e3sge3 OR g_technology=c_tech_arria10_e1sg ) AND g_variant="RTL_C") GENERATE + ((g_technology=c_tech_arria10 OR g_technology=c_tech_arria10_e3sge3 OR g_technology=c_tech_arria10_e1sg OR g_technology=c_tech_arria10_e2sg) AND g_variant="RTL_C") GENERATE u0 : ip_arria10_complex_mult_rtl_canonical GENERIC MAP( g_in_a_w => g_in_a_w,