Skip to content
Snippets Groups Projects
Commit e4e0d30d authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Added DDR4 IP library build scripts for 4G and 8G.

parent 16d93410
No related branches found
No related tags found
No related merge requests found
#------------------------------------------------------------------------------
#
# 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/>.
#
#------------------------------------------------------------------------------
# This file is based on generated file generated/sim/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
set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10/ddr4_4g_1600/generated/sim"
#vlib ./work/ ;# Assume library work already exists
vmap ip_arria10_ddr4_4g_1600_altera_emif_arch_nf_141 ./work/
vmap ip_arria10_ddr4_4g_1600_altera_emif_141 ./work/
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_4g_1600_altera_emif_arch_nf_141_szjjfwa.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_top.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_bufs.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_se_i.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_se_o.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_df_i.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_df_o.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_cp_i.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_bdir_df.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_bdir_se.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_unused.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_pll.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_pll_fast_sim.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_oct.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_core_clks_rsts.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hps_clks_rsts.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_io_aux.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_io_tiles.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_avl_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_sideband_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_mmr_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_amm_data_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_ast_data_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_afi_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_seq_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_regs.sv" -work work
vlog "$IP_DIR/../altera_emif_141/sim/ip_arria10_ddr4_4g_1600_altera_emif_141_mdmsrdi.v" -work work
vcom "$IP_DIR/ip_arria10_ddr4_4g_1600.vhd"
#------------------------------------------------------------------------------
#
# 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/>.
#
#------------------------------------------------------------------------------
# This file is based on Qsys-generated file generated/sim/mentor/msim_setup.tcl
set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10/ddr4_4g_1600/generated/sim"
# Copy ROM/RAM files to simulation directory
if {[file isdirectory $IP_DIR]} {
file copy -force $IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_4g_1600_altera_emif_arch_nf_141_szjjfwa_seq_params_sim.hex ./
file copy -force $IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_4g_1600_altera_emif_arch_nf_141_szjjfwa_seq_params_synth.hex ./
file copy -force $IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_4g_1600_altera_emif_arch_nf_141_szjjfwa_seq_cal_sim.hex ./
file copy -force $IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_4g_1600_altera_emif_arch_nf_141_szjjfwa_seq_cal_synth.hex ./
}
\ No newline at end of file
#!/bin/bash
# -------------------------------------------------------------------------- #
#
# 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/>.
#
# -------------------------------------------------------------------------- #
#
# Purpose: Generate IP with Qsys
# Description:
# Generate the IP in a separate generated/ subdirectory.
#
# Usage:
#
# ./generate_ip.sh
#
# Tool settings for selected target "unb2" with arria10
. ${RADIOHDL}/tools/quartus/set_quartus unb2
#qsys-generate --help
# Only generate the source IP
# - use --synthesis=VHDL to have top level in VHDL similar as with MegaWizard
qsys-generate ip_arria10_ddr4_4g_1600.qsys \
--synthesis=VHDL \
--simulation=VHDL \
--output-directory=generated \
--allow-mixed-language-simulation
# Also generate the testbench IP, this is not useful because it only generates bus functional models, so not a DDR4 memory model
#qsys-generate ip_arria10_ddr4_4g_1600.qsys \
# --synthesis=VHDL \
# --simulation=VHDL \
# --testbench=STANDARD \
# --testbench-simulation=VHDL \
# --output-directory=generated \
# --allow-mixed-language-simulation \
# --allow-mixed-language-testbench-simulation
hdl_lib_name = ip_arria10_ddr4_4g_1600
hdl_library_clause_name = ip_arria10_ddr4_4g_1600_altera_emif_141
hdl_lib_uses =
hdl_lib_technology = ip_arria10
build_dir_sim = $HDL_BUILD_DIR
build_dir_synth = $HDL_BUILD_DIR
modelsim_compile_ip_files =
$RADIOHDL/libraries/technology/ip_arria10/ddr4_4g_1600/compile_ip.tcl
synth_files =
test_bench_files =
quartus_qip_files =
generated/ip_arria10_ddr4_4g_1600.qip
#------------------------------------------------------------------------------
#
# 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/>.
#
#------------------------------------------------------------------------------
# This file is based on generated file generated/sim/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
set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10/ddr4_8g_2400/generated/sim"
#vlib ./work/ ;# Assume library work already exists
vmap ip_arria10_ddr4_8g_2400_altera_emif_arch_nf_141 ./work/
vmap ip_arria10_ddr4_8g_2400_altera_emif_141 ./work/
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_8g_2400_altera_emif_arch_nf_141_rehmf4i.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_top.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_bufs.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_se_i.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_se_o.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_df_i.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_df_o.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_udir_cp_i.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_bdir_df.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_bdir_se.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_buf_unused.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_pll.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_pll_fast_sim.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_oct.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_core_clks_rsts.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hps_clks_rsts.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_io_aux.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_io_tiles.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_avl_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_sideband_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_mmr_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_amm_data_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_hmc_ast_data_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_afi_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_seq_if.sv" -work work
vlog -sv "$IP_DIR/../altera_emif_arch_nf_141/sim/altera_emif_arch_nf_regs.sv" -work work
vlog "$IP_DIR/../altera_emif_141/sim/ip_arria10_ddr4_8g_2400_altera_emif_141_2hmycgy.v" -work work
vcom "$IP_DIR/ip_arria10_ddr4_8g_2400.vhd"
#------------------------------------------------------------------------------
#
# 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/>.
#
#------------------------------------------------------------------------------
# This file is based on Qsys-generated file generated/sim/mentor/msim_setup.tcl
set IP_DIR "$env(RADIOHDL)/libraries/technology/ip_arria10/ddr4_8g_2400/generated/sim"
# Copy ROM/RAM files to simulation directory
if {[file isdirectory $IP_DIR]} {
file copy -force $IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_8g_2400_altera_emif_arch_nf_141_rehmf4i_seq_params_sim.hex ./
file copy -force $IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_8g_2400_altera_emif_arch_nf_141_rehmf4i_seq_params_synth.hex ./
file copy -force $IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_8g_2400_altera_emif_arch_nf_141_rehmf4i_seq_cal_sim.hex ./
file copy -force $IP_DIR/../altera_emif_arch_nf_141/sim/ip_arria10_ddr4_8g_2400_altera_emif_arch_nf_141_rehmf4i_seq_cal_synth.hex ./
}
#!/bin/bash
# -------------------------------------------------------------------------- #
#
# 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/>.
#
# -------------------------------------------------------------------------- #
#
# Purpose: Generate IP with Qsys
# Description:
# Generate the IP in a separate generated/ subdirectory.
#
# Usage:
#
# ./generate_ip.sh
#
# Tool settings for selected target "unb2" with arria10
. ${RADIOHDL}/tools/quartus/set_quartus unb2
#qsys-generate --help
# Only generate the source IP
# - use --synthesis=VHDL to have top level in VHDL similar as with MegaWizard
qsys-generate ip_arria10_ddr4_8g_2400.qsys \
--synthesis=VHDL \
--simulation=VHDL \
--output-directory=generated \
--allow-mixed-language-simulation
# Also generate the testbench IP, this is not useful because it only generates bus functional models, so not a DDR4 memory model
#qsys-generate ip_arria10_ddr4_8g_2400.qsys \
# --synthesis=VHDL \
# --simulation=VHDL \
# --testbench=STANDARD \
# --testbench-simulation=VHDL \
# --output-directory=generated \
# --allow-mixed-language-simulation \
# --allow-mixed-language-testbench-simulation
hdl_lib_name = ip_arria10_ddr4_8g_2400
hdl_library_clause_name = ip_arria10_ddr4_8g_2400_altera_emif_141
hdl_lib_uses =
hdl_lib_technology = ip_arria10
build_dir_sim = $HDL_BUILD_DIR
build_dir_synth = $HDL_BUILD_DIR
modelsim_compile_ip_files =
$RADIOHDL/libraries/technology/ip_arria10/ddr4_8g_2400/compile_ip.tcl
synth_files =
test_bench_files =
quartus_qip_files =
generated/ip_arria10_ddr4_8g_2400.qip
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment