diff --git a/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/hdllib.cfg b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/hdllib.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b92e6f5e2fd444acc6c843a11c22e5b5661dc503 --- /dev/null +++ b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/hdllib.cfg @@ -0,0 +1,42 @@ +hdl_lib_name = unb1_test_ddr_16g_MB_II +hdl_library_clause_name = unb1_test_ddr_16g_MB_II_lib +hdl_lib_uses_synth = unb1_board unb1_test +hdl_lib_uses_sim = +hdl_lib_excludes = ip_stratixiv_ddr3_uphy_4g_800_master ip_stratixiv_ddr3_uphy_4g_800_slave ip_stratixiv_ddr3_uphy_4g_single_rank_800_master ip_stratixiv_ddr3_uphy_4g_single_rank_800_slave + +hdl_lib_technology = ip_stratixiv + +synth_files = + unb1_test_ddr_16g_MB_II.vhd + +test_bench_files = + tb_unb1_test_ddr_16g_MB_II.vhd + +modelsim_copy_files = + ../../src/hex hex + +synth_top_level_entity = + +quartus_copy_files = + ../../quartus/qsys_unb1_test.qsys . + ../../src/hex hex + +quartus_qsf_files = + $RADIOHDL/boards/uniboard1/libraries/unb1_board/quartus/unb1_board.qsf + +quartus_sdc_files = + $RADIOHDL/boards/uniboard1/libraries/unb1_board/quartus/unb1_board.sdc + +quartus_tcl_files = + quartus/unb1_test_ddr_pins_16g_MB_II.tcl + quartus/unb1_test_pins_constraints_16g_MB_II.tcl + +quartus_vhdl_files = + +quartus_qip_files = + $HDL_BUILD_DIR/unb1/quartus/unb1_test_ddr_16g_MB_II/qsys_unb1_test/synthesis/qsys_unb1_test.qip + $RADIOHDL/libraries/technology/ip_stratixiv/ddr3_uphy_16g_dual_rank_800/generated/ip_stratixiv_ddr3_uphy_16g_dual_rank_800.qip + +modelsim_compile_ip_files = + $RADIOHDL/libraries/technology/ip_stratixiv/ddr3_uphy_16g_dual_rank_800/copy_hex_files.tcl + diff --git a/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/quartus/unb1_test_ddr_pins_16g_MB_II.tcl b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/quartus/unb1_test_ddr_pins_16g_MB_II.tcl new file mode 100644 index 0000000000000000000000000000000000000000..e6d56bb52235271c951e6ad24dee00083315d502 --- /dev/null +++ b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/quartus/unb1_test_ddr_pins_16g_MB_II.tcl @@ -0,0 +1,29 @@ +############################################################################### +# +# 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(UNB)/Firmware/designs/unb_common/src/tcl/COMMON_NODE_general_pins.tcl +source $::env(UNB)/Firmware/designs/unb_common/src/tcl/COMMON_NODE_other_pins.tcl +source $::env(UNB)/Firmware/designs/unb_common/src/tcl/COMMON_NODE_1Gbe_pins.tcl +source $::env(UNB)/Firmware/designs/unb_common/src/tcl/COMMON_NODE_sensor_pins.tcl + +# -- include ddr3 pins +source $::env(RADIOHDL)/boards/uniboard1/libraries/unb1_board/src/tcl/COMMON_NODE_ddr_II_rec_pins.tcl + diff --git a/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/quartus/unb1_test_pins_constraints_16g_MB_II.tcl b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/quartus/unb1_test_pins_constraints_16g_MB_II.tcl new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/tb_unb1_test_ddr_16g_MB_II.vhd b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/tb_unb1_test_ddr_16g_MB_II.vhd new file mode 100644 index 0000000000000000000000000000000000000000..d8d7f3d8640bc605b9c978e9f04ddcb61e6c6107 --- /dev/null +++ b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/tb_unb1_test_ddr_16g_MB_II.vhd @@ -0,0 +1,43 @@ +------------------------------------------------------------------------------- +-- +-- 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/>. +-- +------------------------------------------------------------------------------- + +-- Purpose: Test bench for unb1_test_ddr_16g_MB_II. +-- Description: see tb_unb1_test + + +LIBRARY IEEE, unb1_test_lib; +USE IEEE.std_logic_1164.ALL; + + +ENTITY tb_unb1_test_ddr_16g_MB_II IS +END tb_unb1_test_ddr_16g_MB_II; + + +ARCHITECTURE tb OF tb_unb1_test_ddr_16g_MB_II IS +BEGIN + u_tb_unb1_test : ENTITY unb1_test_lib.tb_unb1_test + GENERIC MAP ( + g_design_name => "unb1_test_ddr_16g_MB_II", + --g_sim_node_nr => 7 -- BN3 + g_sim_node_nr => 0 --FN0 + ); +END tb; diff --git a/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/unb1_test_ddr_16g_MB_II.vhd b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/unb1_test_ddr_16g_MB_II.vhd new file mode 100644 index 0000000000000000000000000000000000000000..a8d2419f9426040aeb641d04a486b336fc37fab4 --- /dev/null +++ b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_ddr_16g_MB_II/unb1_test_ddr_16g_MB_II.vhd @@ -0,0 +1,115 @@ +------------------------------------------------------------------------------- +-- +-- 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, unb1_board_lib, unb1_test_lib, technology_lib, tech_ddr_lib; +USE IEEE.STD_LOGIC_1164.ALL; +USE common_lib.common_pkg.ALL; +USE unb1_board_lib.unb1_board_pkg.ALL; +USE technology_lib.technology_select_pkg.ALL; +USE tech_ddr_lib.tech_ddr_pkg.ALL; + +ENTITY unb1_test_ddr_16g_MB_II IS + GENERIC ( + g_design_name : STRING := "unb1_test_ddr_16g_MB_II"; -- use revision name = entity name = design name + g_design_note : STRING := "Test with 16GB MB_II DDR3"; + g_sim : BOOLEAN := FALSE; --Overridden by TB + g_sim_unb_nr : NATURAL := 0; + g_sim_node_nr : NATURAL := 0; -- FN0 + g_stamp_date : NATURAL := 0; -- Date (YYYYMMDD) -- set by QSF + g_stamp_time : NATURAL := 0; -- Time (HHMMSS) -- set by QSF + g_stamp_svn : NATURAL := 0 -- SVN revision -- 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_unb1_board_aux.version_w-1 DOWNTO 0); + ID : IN STD_LOGIC_VECTOR(c_unb1_board_aux.id_w-1 DOWNTO 0); + TESTIO : INOUT STD_LOGIC_VECTOR(c_unb1_board_aux.testio_w-1 DOWNTO 0); + + -- I2C Interface to Sensors + SENS_SC : INOUT STD_LOGIC; + SENS_SD : INOUT STD_LOGIC; + + -- 1GbE Control Interface + ETH_CLK : IN STD_LOGIC; + ETH_SGIN : IN STD_LOGIC; + ETH_SGOUT : OUT STD_LOGIC; + + -- SO-DIMM Memory Bank II + MB_II_IN : IN t_tech_ddr3_phy_in; + MB_II_IO : INOUT t_tech_ddr3_phy_io; + MB_II_OU : OUT t_tech_ddr3_phy_ou + ); +END unb1_test_ddr_16g_MB_II; + + +ARCHITECTURE str OF unb1_test_ddr_16g_MB_II IS + +BEGIN + + u_revision : ENTITY unb1_test_lib.unb1_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_stamp_svn => g_stamp_svn + ) + PORT MAP ( + -- GENERAL + CLK => CLK, + PPS => PPS, + WDI => WDI, + INTA => INTA, + INTB => INTB, + + -- Others + VERSION => VERSION, + ID => ID, + TESTIO => TESTIO, + + -- I2C Interface to Sensors + sens_sc => sens_sc, + sens_sd => sens_sd, + + -- 1GbE Control Interface + ETH_clk => ETH_clk, + ETH_SGIN => ETH_SGIN, + ETH_SGOUT => ETH_SGOUT, + + -- SO-DIMM Memory Bank II + MB_II_IN => MB_II_IN, + MB_II_IO => MB_II_IO, + MB_II_OU => MB_II_OU + ); + +END str; +