From df84ed9eb93d968745ed230abc5c5de3bde821ab Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Wed, 11 Jun 2014 10:06:27 +0000 Subject: [PATCH] Added purpose and usage. Use hton() from common_pkg.vhd. The tb simulates OK. --- .../vhdl/tb_ip_stratixiv_tse_sgmii_lvds.vhd | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/libraries/technology/ip_stratixiv/tse_sgmii_lvds/tb/vhdl/tb_ip_stratixiv_tse_sgmii_lvds.vhd b/libraries/technology/ip_stratixiv/tse_sgmii_lvds/tb/vhdl/tb_ip_stratixiv_tse_sgmii_lvds.vhd index df04cadee4..3e52d14989 100644 --- a/libraries/technology/ip_stratixiv/tse_sgmii_lvds/tb/vhdl/tb_ip_stratixiv_tse_sgmii_lvds.vhd +++ b/libraries/technology/ip_stratixiv/tse_sgmii_lvds/tb/vhdl/tb_ip_stratixiv_tse_sgmii_lvds.vhd @@ -19,6 +19,17 @@ -- ------------------------------------------------------------------------------- +-- Purpose: Testbench for ip_stratixiv_tse_sgmii_lvds. +-- Description: +-- The testbench in /testbench/tse_sgmii_lvds/tse_sgmii_lvds_tb.vhd that is +-- generated by the MegaWizard provides an elaborate testbench. For +-- Uniboard purposes in tb/ a minimal testbench tb_tse_sgmii_lvds.vhd was +-- derived manually from the generated testbench. This tb_tse_sgmii_lvds +-- is more easy to use. +-- Usage: +-- > as 10 +-- > run 50 us + LIBRARY IEEE, common_lib; USE IEEE.std_logic_1164.ALL; USE IEEE.numeric_std.ALL; @@ -247,15 +258,15 @@ ARCHITECTURE tb OF tb_ip_stratixiv_tse_sgmii_lvds IS -- DST MAC dp_src_out.empty <= STD_LOGIC_VECTOR(TO_UNSIGNED(0, c_tse_empty_w)); dp_src_out.data <= (OTHERS=>'0'); - dp_src_out.data(15 DOWNTO 0) <= htons(dst_mac_addr(15 DOWNTO 0)); -- send to itself + dp_src_out.data(15 DOWNTO 0) <= hton(dst_mac_addr(15 DOWNTO 0)); -- send to itself proc_ready_latency(c_tx_ready_latency, dp_clk, dp_src_in.ready, '1', '1', '0', dp_src_out.valid, dp_src_out.sop, dp_src_out.eop); - dp_src_out.data <= htonl(dst_mac_addr(47 DOWNTO 16)); + dp_src_out.data <= hton(dst_mac_addr(47 DOWNTO 16)); proc_ready_latency(c_tx_ready_latency, dp_clk, dp_src_in.ready, '1', '0', '0', dp_src_out.valid, dp_src_out.sop, dp_src_out.eop); -- SRC MAC - dp_src_out.data <= htonl(src_mac_addr(31 DOWNTO 0)); + dp_src_out.data <= hton(src_mac_addr(31 DOWNTO 0)); proc_ready_latency(c_tx_ready_latency, dp_clk, dp_src_in.ready, '1', '0', '0', dp_src_out.valid, dp_src_out.sop, dp_src_out.eop); -- SRC MAC & ETHERTYPE - dp_src_out.data <= htons(src_mac_addr(47 DOWNTO 32)) & htons(c_eth_ethertype); + dp_src_out.data <= hton(src_mac_addr(47 DOWNTO 32)) & hton(c_eth_ethertype); -- DATA FOR I IN 0 TO c_nof_data_beats-1 LOOP proc_ready_latency(c_tx_ready_latency, dp_clk, dp_src_in.ready, '1', '0', '0', dp_src_out.valid, dp_src_out.sop, dp_src_out.eop); @@ -332,17 +343,17 @@ ARCHITECTURE tb OF tb_ip_stratixiv_tse_sgmii_lvds IS dp_snk_out.ready <= '1'; -- Verify DST MAC proc_valid_sop(dp_clk, dp_snk_in.valid, dp_snk_in.sop); - ASSERT dp_snk_in.data(31 DOWNTO 16) = X"0000" REPORT "RX: Alignment half word not zero" SEVERITY ERROR; - ASSERT dp_snk_in.data(15 DOWNTO 0) = htons(dst_mac_addr(15 DOWNTO 0)) REPORT "RX: Wrong dst_mac_addr(15 DOWNTO 0)" SEVERITY ERROR; + ASSERT dp_snk_in.data(31 DOWNTO 16) = X"0000" REPORT "RX: Alignment half word not zero" SEVERITY ERROR; + ASSERT dp_snk_in.data(15 DOWNTO 0) = hton(dst_mac_addr(15 DOWNTO 0)) REPORT "RX: Wrong dst_mac_addr(15 DOWNTO 0)" SEVERITY ERROR; proc_valid(dp_clk, dp_snk_in.valid); - ASSERT dp_snk_in.data(31 DOWNTO 0) = htonl(dst_mac_addr(47 DOWNTO 16)) REPORT "RX: Wrong dst_mac_addr(47 DOWNTO 16)" SEVERITY ERROR; + ASSERT dp_snk_in.data(31 DOWNTO 0) = hton(dst_mac_addr(47 DOWNTO 16)) REPORT "RX: Wrong dst_mac_addr(47 DOWNTO 16)" SEVERITY ERROR; -- Verify SRC MAC proc_valid(dp_clk, dp_snk_in.valid); - ASSERT dp_snk_in.data(31 DOWNTO 0) = htonl(src_mac_addr(31 DOWNTO 0)) REPORT "RX: Wrong src_mac_addr(31 DOWNTO 0)" SEVERITY ERROR; + ASSERT dp_snk_in.data(31 DOWNTO 0) = hton(src_mac_addr(31 DOWNTO 0)) REPORT "RX: Wrong src_mac_addr(31 DOWNTO 0)" SEVERITY ERROR; -- Verify SRC MAC & ETHERTYPE proc_valid(dp_clk, dp_snk_in.valid); - ASSERT dp_snk_in.data(31 DOWNTO 16) = htons(src_mac_addr(47 DOWNTO 32)) REPORT "RX: Wrong src_mac_addr(47 DOWNTO 32)" SEVERITY ERROR; - ASSERT dp_snk_in.data(15 DOWNTO 0) = htons(c_eth_ethertype) REPORT "RX: Wrong ethertype" SEVERITY ERROR; + ASSERT dp_snk_in.data(31 DOWNTO 16) = hton(src_mac_addr(47 DOWNTO 32)) REPORT "RX: Wrong src_mac_addr(47 DOWNTO 32)" SEVERITY ERROR; + ASSERT dp_snk_in.data(15 DOWNTO 0) = hton(c_eth_ethertype) REPORT "RX: Wrong ethertype" SEVERITY ERROR; -- Verify DATA v_first := TRUE; proc_valid(dp_clk, dp_snk_in.valid); -- GitLab