Skip to content
Snippets Groups Projects
Commit 9c4d63e6 authored by Kenneth Hiemstra's avatar Kenneth Hiemstra
Browse files

New eth for 1GbE and M&C

parent 7a70e024
No related branches found
No related tags found
No related merge requests found
hdl_lib_name = eth1g
hdl_library_clause_name = eth1g_lib
hdl_lib_uses_synth = dp common eth
hdl_lib_uses_sim =
hdl_lib_technology =
synth_files =
src/vhdl/eth1g.vhd
test_bench_files =
tb/vhdl/tb_eth1g.vhd
tb/vhdl/tb_tb_eth1g.vhd
regression_test_vhdl =
# tb/vhdl/tb_eth_checksum.vhd
# tb/vhdl/tb_eth_crc_ctrl.vhd
# tb/vhdl/tb_eth_hdr.vhd
# tb/vhdl/tb_eth_udp_offload.vhd
# tb/vhdl/tb_eth_ihl_to_20.vhd
# tb/vhdl/tb_tb_eth.vhd
[modelsim_project_file]
[quartus_project_file]
This diff is collapsed.
This diff is collapsed.
-------------------------------------------------------------------------------
--
-- Copyright (C) 2010
-- 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: Multi-testbench for eth1g
-- Description:
-- Verify eth1g for different data types
-- Usage:
-- > as 3
-- > run -all
LIBRARY IEEE, technology_lib, tech_tse_lib;
USE IEEE.std_logic_1164.ALL;
USE technology_lib.technology_pkg.ALL;
USE technology_lib.technology_select_pkg.ALL;
USE tech_tse_lib.tb_tech_tse_pkg.ALL;
ENTITY tb_tb_eth1g IS
GENERIC (
g_technology_dut : NATURAL := c_tech_select_default
);
END tb_tb_eth1g;
ARCHITECTURE tb OF tb_tb_eth1g IS
CONSTANT c_technology_lcu : NATURAL := c_tech_select_default;
CONSTANT c_tb_end_vec : STD_LOGIC_VECTOR(15 DOWNTO 0) := (OTHERS=>'1');
SIGNAL tb_end_vec : STD_LOGIC_VECTOR(15 DOWNTO 0) := c_tb_end_vec; -- sufficiently long to fit all tb instances
SIGNAL tb_end : STD_LOGIC := '0';
BEGIN
-- g_technology_dut : NATURAL := c_tech_select_default;
-- g_technology_lcu : NATURAL := c_tech_select_default;
-- g_frm_discard_en : BOOLEAN := TRUE; -- when TRUE discard frame types that would otherwise have to be discarded by the Nios MM master
-- g_flush_test_en : BOOLEAN := FALSE; -- when TRUE send many large frames to enforce flush in eth_buffer
-- g_tb_end : BOOLEAN := TRUE; -- when TRUE then tb_end ends this simulation, else a higher multi-testbench will end the simulation
-- -- g_data_type = c_tb_tech_tse_data_type_symbols = 0
-- -- g_data_type = c_tb_tech_tse_data_type_counter = 1
-- -- g_data_type = c_tb_tech_tse_data_type_arp = 2
-- -- g_data_type = c_tb_tech_tse_data_type_ping = 3
-- -- g_data_type = c_tb_tech_tse_data_type_udp = 4
-- g_data_type : NATURAL := c_tb_tech_tse_data_type_udp
u_use_symbols : ENTITY work.tb_eth1g GENERIC MAP (g_technology_dut, c_technology_lcu, FALSE, FALSE, FALSE, c_tb_tech_tse_data_type_symbols) PORT MAP (tb_end_vec(0));
u_use_counter : ENTITY work.tb_eth1g GENERIC MAP (g_technology_dut, c_technology_lcu, FALSE, FALSE, FALSE, c_tb_tech_tse_data_type_counter) PORT MAP (tb_end_vec(1));
u_use_arp : ENTITY work.tb_eth1g GENERIC MAP (g_technology_dut, c_technology_lcu, TRUE, FALSE, FALSE, c_tb_tech_tse_data_type_arp ) PORT MAP (tb_end_vec(2));
u_use_ping : ENTITY work.tb_eth1g GENERIC MAP (g_technology_dut, c_technology_lcu, TRUE, FALSE, FALSE, c_tb_tech_tse_data_type_ping ) PORT MAP (tb_end_vec(3));
u_use_udp : ENTITY work.tb_eth1g GENERIC MAP (g_technology_dut, c_technology_lcu, TRUE, FALSE, FALSE, c_tb_tech_tse_data_type_udp ) PORT MAP (tb_end_vec(4));
u_use_udp_flush : ENTITY work.tb_eth1g GENERIC MAP (g_technology_dut, c_technology_lcu, TRUE, TRUE, FALSE, c_tb_tech_tse_data_type_udp ) PORT MAP (tb_end_vec(5));
tb_end <= '1' WHEN tb_end_vec=c_tb_end_vec ELSE '0';
p_tb_end : PROCESS
BEGIN
WAIT UNTIL tb_end='1';
WAIT FOR 1 ns;
REPORT "Multi tb simulation finished." SEVERITY FAILURE;
WAIT;
END PROCESS;
END tb;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment