diff --git a/libraries/technology/ip_arria10/phy_10gbase_r/ip/compile_ip.tcl b/libraries/technology/ip_arria10/phy_10gbase_r/ip/compile_ip.tcl new file mode 100644 index 0000000000000000000000000000000000000000..0085fab2d1eeeb5ba244cdca6161b0e35ec76405 --- /dev/null +++ b/libraries/technology/ip_arria10/phy_10gbase_r/ip/compile_ip.tcl @@ -0,0 +1,111 @@ +#------------------------------------------------------------------------------ +# +# Copyright (C) 2014 +# 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. + +set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10/phy_10gbase_r/ip/generated/sim" + +vlib ./work/ + +vmap ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 ./work/ + +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/altera_xcvr_functions.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/altera_xcvr_functions.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/alt_xcvr_resync.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/alt_xcvr_resync.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_pcs.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_pcs_ch.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_pma.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_pma_ch.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_xcvr_avmm.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_xcvr_native.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_pcs.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_pcs_ch.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_pma.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_pma_ch.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_xcvr_avmm.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_xcvr_native.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_10g_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_10g_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_8g_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_8g_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_common_pcs_pma_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_common_pld_pcs_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_fifo_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_fifo_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_gen3_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_gen3_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_krfec_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_krfec_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_pipe_gen1_2_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_pipe_gen3_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_pma_rx_dfe_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_pma_rx_odi_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_pma_rx_sd_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_pma_tx_buf_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_pma_tx_cgb_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_pma_tx_ser_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_rx_pcs_pma_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_rx_pld_pcs_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_tx_pcs_pma_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/twentynm_hssi_tx_pld_pcs_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_10g_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_10g_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_8g_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_8g_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_common_pcs_pma_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_common_pld_pcs_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_fifo_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_fifo_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_gen3_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_gen3_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_krfec_rx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_krfec_tx_pcs_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_pipe_gen1_2_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_pipe_gen3_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_pma_rx_dfe_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_pma_rx_odi_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_pma_rx_sd_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_pma_tx_buf_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_pma_tx_cgb_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_pma_tx_ser_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_rx_pcs_pma_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_rx_pld_pcs_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_tx_pcs_pma_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/twentynm_hssi_tx_pld_pcs_interface_rbc.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/a10_avmm_h.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/altera_xcvr_native_a10.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/alt_xcvr_native_avmm_nf.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/alt_xcvr_native_avmm_csr.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/alt_xcvr_native_prbs_accum.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/alt_xcvr_native_embedded_debug.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/a10_avmm_h.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/altera_xcvr_native_a10.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/alt_xcvr_native_avmm_nf.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/alt_xcvr_native_avmm_csr.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/alt_xcvr_native_prbs_accum.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vlog -sv "$IP_DIR/../altera_xcvr_native_a10_140/sim/mentor/alt_xcvr_native_embedded_debug.sv" -work ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +vcom "$IP_DIR/ip_arria10_phy_10gbase_r.vhd"