diff --git a/libraries/technology/ip_stratixiv/mac_10gbe/ip_stratixiv_mac_10g.vhd b/libraries/technology/ip_stratixiv/mac_10gbe/ip_stratixiv_mac_10g.vhd new file mode 100644 index 0000000000000000000000000000000000000000..8c2a265934e428fe576b4928dd953b5abe9b7a5c --- /dev/null +++ b/libraries/technology/ip_stratixiv/mac_10gbe/ip_stratixiv_mac_10g.vhd @@ -0,0 +1,175 @@ +-- megafunction wizard: %Ethernet 10G MAC v11.1% +-- GENERATION: XML +-- ip_stratixiv_mac_10g.vhd + +-- Generated using ACDS version 11.1sp2 259 at 2013.04.25.20:38:09 + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; + +entity ip_stratixiv_mac_10g is + port ( + csr_clk_clk : in std_logic := '0'; -- csr_clk.clk + csr_reset_reset_n : in std_logic := '0'; -- csr_reset.reset_n + csr_address : in std_logic_vector(12 downto 0) := (others => '0'); -- csr.address + csr_waitrequest : out std_logic; -- .waitrequest + csr_read : in std_logic := '0'; -- .read + csr_readdata : out std_logic_vector(31 downto 0); -- .readdata + csr_write : in std_logic := '0'; -- .write + csr_writedata : in std_logic_vector(31 downto 0) := (others => '0'); -- .writedata + tx_clk_clk : in std_logic := '0'; -- tx_clk.clk + tx_reset_reset_n : in std_logic := '0'; -- tx_reset.reset_n + avalon_st_tx_startofpacket : in std_logic := '0'; -- avalon_st_tx.startofpacket + avalon_st_tx_valid : in std_logic := '0'; -- .valid + avalon_st_tx_data : in std_logic_vector(63 downto 0) := (others => '0'); -- .data + avalon_st_tx_empty : in std_logic_vector(2 downto 0) := (others => '0'); -- .empty + avalon_st_tx_ready : out std_logic; -- .ready + avalon_st_tx_error : in std_logic_vector(0 downto 0) := (others => '0'); -- .error + avalon_st_tx_endofpacket : in std_logic := '0'; -- .endofpacket + avalon_st_pause_data : in std_logic_vector(1 downto 0) := (others => '0'); -- avalon_st_pause.data + xgmii_tx_data : out std_logic_vector(71 downto 0); -- xgmii_tx.data + avalon_st_txstatus_valid : out std_logic; -- avalon_st_txstatus.valid + avalon_st_txstatus_data : out std_logic_vector(39 downto 0); -- .data + avalon_st_txstatus_error : out std_logic_vector(6 downto 0); -- .error + rx_clk_clk : in std_logic := '0'; -- rx_clk.clk + rx_reset_reset_n : in std_logic := '0'; -- rx_reset.reset_n + xgmii_rx_data : in std_logic_vector(71 downto 0) := (others => '0'); -- xgmii_rx.data + avalon_st_rx_startofpacket : out std_logic; -- avalon_st_rx.startofpacket + avalon_st_rx_endofpacket : out std_logic; -- .endofpacket + avalon_st_rx_valid : out std_logic; -- .valid + avalon_st_rx_ready : in std_logic := '0'; -- .ready + avalon_st_rx_data : out std_logic_vector(63 downto 0); -- .data + avalon_st_rx_empty : out std_logic_vector(2 downto 0); -- .empty + avalon_st_rx_error : out std_logic_vector(5 downto 0); -- .error + avalon_st_rxstatus_valid : out std_logic; -- avalon_st_rxstatus.valid + avalon_st_rxstatus_data : out std_logic_vector(39 downto 0); -- .data + avalon_st_rxstatus_error : out std_logic_vector(6 downto 0); -- .error + link_fault_status_xgmii_rx_data : out std_logic_vector(1 downto 0) -- link_fault_status_xgmii_rx.data + ); +end entity ip_stratixiv_mac_10g; + +architecture rtl of ip_stratixiv_mac_10g is + component ip_stratixiv_mac_10g_0002 is + port ( + csr_clk_clk : in std_logic := 'X'; -- clk + csr_reset_reset_n : in std_logic := 'X'; -- reset_n + csr_address : in std_logic_vector(12 downto 0) := (others => 'X'); -- address + csr_waitrequest : out std_logic; -- waitrequest + csr_read : in std_logic := 'X'; -- read + csr_readdata : out std_logic_vector(31 downto 0); -- readdata + csr_write : in std_logic := 'X'; -- write + csr_writedata : in std_logic_vector(31 downto 0) := (others => 'X'); -- writedata + tx_clk_clk : in std_logic := 'X'; -- clk + tx_reset_reset_n : in std_logic := 'X'; -- reset_n + avalon_st_tx_startofpacket : in std_logic := 'X'; -- startofpacket + avalon_st_tx_valid : in std_logic := 'X'; -- valid + avalon_st_tx_data : in std_logic_vector(63 downto 0) := (others => 'X'); -- data + avalon_st_tx_empty : in std_logic_vector(2 downto 0) := (others => 'X'); -- empty + avalon_st_tx_ready : out std_logic; -- ready + avalon_st_tx_error : in std_logic_vector(0 downto 0) := (others => 'X'); -- error + avalon_st_tx_endofpacket : in std_logic := 'X'; -- endofpacket + avalon_st_pause_data : in std_logic_vector(1 downto 0) := (others => 'X'); -- data + xgmii_tx_data : out std_logic_vector(71 downto 0); -- data + avalon_st_txstatus_valid : out std_logic; -- valid + avalon_st_txstatus_data : out std_logic_vector(39 downto 0); -- data + avalon_st_txstatus_error : out std_logic_vector(6 downto 0); -- error + rx_clk_clk : in std_logic := 'X'; -- clk + rx_reset_reset_n : in std_logic := 'X'; -- reset_n + xgmii_rx_data : in std_logic_vector(71 downto 0) := (others => 'X'); -- data + avalon_st_rx_startofpacket : out std_logic; -- startofpacket + avalon_st_rx_endofpacket : out std_logic; -- endofpacket + avalon_st_rx_valid : out std_logic; -- valid + avalon_st_rx_ready : in std_logic := 'X'; -- ready + avalon_st_rx_data : out std_logic_vector(63 downto 0); -- data + avalon_st_rx_empty : out std_logic_vector(2 downto 0); -- empty + avalon_st_rx_error : out std_logic_vector(5 downto 0); -- error + avalon_st_rxstatus_valid : out std_logic; -- valid + avalon_st_rxstatus_data : out std_logic_vector(39 downto 0); -- data + avalon_st_rxstatus_error : out std_logic_vector(6 downto 0); -- error + link_fault_status_xgmii_rx_data : out std_logic_vector(1 downto 0) -- data + ); + end component ip_stratixiv_mac_10g_0002; + +begin + + ip_stratixiv_mac_10g_inst : component ip_stratixiv_mac_10g_0002 + port map ( + csr_clk_clk => csr_clk_clk, -- csr_clk.clk + csr_reset_reset_n => csr_reset_reset_n, -- csr_reset.reset_n + csr_address => csr_address, -- csr.address + csr_waitrequest => csr_waitrequest, -- .waitrequest + csr_read => csr_read, -- .read + csr_readdata => csr_readdata, -- .readdata + csr_write => csr_write, -- .write + csr_writedata => csr_writedata, -- .writedata + tx_clk_clk => tx_clk_clk, -- tx_clk.clk + tx_reset_reset_n => tx_reset_reset_n, -- tx_reset.reset_n + avalon_st_tx_startofpacket => avalon_st_tx_startofpacket, -- avalon_st_tx.startofpacket + avalon_st_tx_valid => avalon_st_tx_valid, -- .valid + avalon_st_tx_data => avalon_st_tx_data, -- .data + avalon_st_tx_empty => avalon_st_tx_empty, -- .empty + avalon_st_tx_ready => avalon_st_tx_ready, -- .ready + avalon_st_tx_error => avalon_st_tx_error, -- .error + avalon_st_tx_endofpacket => avalon_st_tx_endofpacket, -- .endofpacket + avalon_st_pause_data => avalon_st_pause_data, -- avalon_st_pause.data + xgmii_tx_data => xgmii_tx_data, -- xgmii_tx.data + avalon_st_txstatus_valid => avalon_st_txstatus_valid, -- avalon_st_txstatus.valid + avalon_st_txstatus_data => avalon_st_txstatus_data, -- .data + avalon_st_txstatus_error => avalon_st_txstatus_error, -- .error + rx_clk_clk => rx_clk_clk, -- rx_clk.clk + rx_reset_reset_n => rx_reset_reset_n, -- rx_reset.reset_n + xgmii_rx_data => xgmii_rx_data, -- xgmii_rx.data + avalon_st_rx_startofpacket => avalon_st_rx_startofpacket, -- avalon_st_rx.startofpacket + avalon_st_rx_endofpacket => avalon_st_rx_endofpacket, -- .endofpacket + avalon_st_rx_valid => avalon_st_rx_valid, -- .valid + avalon_st_rx_ready => avalon_st_rx_ready, -- .ready + avalon_st_rx_data => avalon_st_rx_data, -- .data + avalon_st_rx_empty => avalon_st_rx_empty, -- .empty + avalon_st_rx_error => avalon_st_rx_error, -- .error + avalon_st_rxstatus_valid => avalon_st_rxstatus_valid, -- avalon_st_rxstatus.valid + avalon_st_rxstatus_data => avalon_st_rxstatus_data, -- .data + avalon_st_rxstatus_error => avalon_st_rxstatus_error, -- .error + link_fault_status_xgmii_rx_data => link_fault_status_xgmii_rx_data -- link_fault_status_xgmii_rx.data + ); + +end architecture rtl; -- of ip_stratixiv_mac_10g +-- Retrieval info: <?xml version="1.0"?> +--<!-- +-- Generated by Altera MegaWizard Launcher Utility version 1.0 +-- ************************************************************ +-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- ************************************************************ +-- Copyright (C) 1991-2013 Altera Corporation +-- Any megafunction design, and related net list (encrypted or decrypted), +-- support information, device programming or simulation file, and any other +-- associated documentation or information provided by Altera or a partner +-- under Altera's Megafunction Partnership Program may be used only to +-- program PLD devices (but not masked PLD devices) from Altera. Any other +-- use of such megafunction design, net list, support information, device +-- programming or simulation file, or any other related documentation or +-- information is prohibited for any other purpose, including, but not +-- limited to modification, reverse engineering, de-compiling, or use with +-- any other silicon devices, unless such use is explicitly licensed under +-- a separate agreement with Altera or a megafunction partner. Title to +-- the intellectual property, including patents, copyrights, trademarks, +-- trade secrets, or maskworks, embodied in any such megafunction design, +-- net list, support information, device programming or simulation file, or +-- any other related documentation or information provided by Altera or a +-- megafunction partner, remains with Altera, the megafunction partner, or +-- their respective licensors. No other licenses, including any licenses +-- needed under any third party's intellectual property, are provided herein. +----> +-- Retrieval info: <instance entity-name="altera_eth_10g_mac" version="11.1" > +-- Retrieval info: <generic name="PREAMBLE_PASSTHROUGH" value="0" /> +-- Retrieval info: <generic name="ENABLE_PFC" value="0" /> +-- Retrieval info: <generic name="PFC_PRIORITY_NUM" value="8" /> +-- Retrieval info: <generic name="DATAPATH_OPTION" value="3" /> +-- Retrieval info: <generic name="ENABLE_SUPP_ADDR" value="1" /> +-- Retrieval info: <generic name="INSTANTIATE_TX_CRC" value="1" /> +-- Retrieval info: <generic name="INSTANTIATE_STATISTICS" value="1" /> +-- Retrieval info: <generic name="REGISTER_BASED_STATISTICS" value="0" /> +-- Retrieval info: <generic name="DEVICE_FAMILY" value="Stratix IV" /> +-- Retrieval info: </instance> +-- IPFS_FILES : ip_stratixiv_mac_10g.vho +-- RELATED_FILES: ip_stratixiv_mac_10g.vhd, ip_stratixiv_mac_10g_0002.v, altera_merlin_master_translator.sv, altera_avalon_mm_bridge.v, altera_eth_packet_underflow_control.v, altera_eth_pad_inserter.v, altera_eth_pkt_backpressure_control.v, altera_eth_pause_beat_conversion.v, altera_eth_pause_controller.v, altera_eth_pause_ctrl_gen.v, altera_eth_pause_gen.v, ip_stratixiv_mac_10g_tx_st_pause_ctrl_error_adapter.v, ip_stratixiv_mac_10g_tx_st_mux_flow_control_user_frame.v, altera_eth_address_inserter.v, altera_eth_crc.v, crc32.v, gf_mult32_kc.v, altera_avalon_st_pipeline_stage.sv, altera_avalon_st_pipeline_base.v, altera_avalon_st_splitter.sv, ip_stratixiv_mac_10g_tx_st_timing_adapter_frame_decoder.v, altera_eth_frame_decoder.v, ip_stratixiv_mac_10g_tx_st_error_adapter_stat.v, ip_stratixiv_mac_10g_tx_st_timing_adapter_splitter_status_in.v, ip_stratixiv_mac_10g_tx_st_timing_adapter_splitter_status_output.v, altera_avalon_st_splitter.sv, ip_stratixiv_mac_10g_tx_st_timing_adapter_splitter_status_output.v, altera_eth_10gmem_statistics_collector.v, altera_eth_packet_formatter.v, altera_eth_xgmii_termination.v, altera_eth_link_fault_generation.v, altera_avalon_mm_bridge.v, ip_stratixiv_mac_10g_rx_st_timing_adapter_interface_conversion.v, altera_avalon_st_splitter.sv, ip_stratixiv_mac_10g_rx_st_timing_adapter_lane_decoder.v, ip_stratixiv_mac_10g_rx_st_timing_adapter_lane_decoder.v, altera_eth_link_fault_detection.v, altera_eth_lane_decoder.v, altera_eth_pkt_backpressure_control.v, ip_stratixiv_mac_10g_rx_st_timing_adapter_frame_status_in.v, altera_avalon_st_splitter.sv, altera_eth_frame_decoder.v, altera_avalon_st_pipeline_stage.sv, altera_avalon_st_pipeline_base.v, altera_eth_crc.v, crc32.v, gf_mult32_kc.v, ip_stratixiv_mac_10g_rx_timing_adapter_frame_status_out_frame_decoder.v, ip_stratixiv_mac_10g_rx_timing_adapter_frame_status_out_frame_decoder.v, altera_eth_frame_status_merger.v, altera_eth_crc_pad_rem.v, altera_eth_crc_rem.v, altera_packet_stripper.v, altera_eth_packet_overflow_control.v, altera_avalon_st_delay.sv, ip_stratixiv_mac_10g_rx_st_error_adapter_stat.v, ip_stratixiv_mac_10g_tx_st_timing_adapter_splitter_status_in.v, altera_avalon_st_splitter.sv, ip_stratixiv_mac_10g_tx_st_timing_adapter_splitter_status_output.v, ip_stratixiv_mac_10g_tx_st_timing_adapter_splitter_status_output.v, altera_avalon_st_delay.sv, altera_eth_10gmem_statistics_collector.v, ip_stratixiv_mac_10g_txrx_timing_adapter_link_fault_status_rx.v, altera_avalon_st_splitter.sv, ip_stratixiv_mac_10g_txrx_timing_adapter_link_fault_status_export.v, altera_avalon_dc_fifo.v, altera_dcfifo_synchronizer_bundle.v, ip_stratixiv_mac_10g_txrx_timing_adapter_link_fault_status_export.v, ip_stratixiv_mac_10g_rxtx_timing_adapter_pauselen_rx.v, altera_avalon_dc_fifo.v, altera_dcfifo_synchronizer_bundle.v, ip_stratixiv_mac_10g_rxtx_timing_adapter_pauselen_tx.v, altera_merlin_master_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_master_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_master_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_translator.sv, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_avalon_sc_fifo.v, altera_merlin_master_agent.sv, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_master_agent.sv, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_master_agent.sv, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, altera_merlin_slave_agent.sv, altera_merlin_burst_uncompressor.sv, altera_avalon_sc_fifo.v, ip_stratixiv_mac_10g_addr_router.sv, ip_stratixiv_mac_10g_id_router.sv, ip_stratixiv_mac_10g_id_router.sv, ip_stratixiv_mac_10g_addr_router_001.sv, ip_stratixiv_mac_10g_id_router_002.sv, ip_stratixiv_mac_10g_id_router_002.sv, ip_stratixiv_mac_10g_id_router_002.sv, ip_stratixiv_mac_10g_id_router_002.sv, ip_stratixiv_mac_10g_id_router_002.sv, ip_stratixiv_mac_10g_id_router_002.sv, ip_stratixiv_mac_10g_id_router_002.sv, ip_stratixiv_mac_10g_id_router_002.sv, ip_stratixiv_mac_10g_addr_router_002.sv, ip_stratixiv_mac_10g_id_router_010.sv, ip_stratixiv_mac_10g_id_router_010.sv, ip_stratixiv_mac_10g_id_router_010.sv, ip_stratixiv_mac_10g_id_router_010.sv, ip_stratixiv_mac_10g_id_router_010.sv, ip_stratixiv_mac_10g_id_router_010.sv, ip_stratixiv_mac_10g_id_router_010.sv, altera_merlin_traffic_limiter.sv, altera_merlin_traffic_limiter.sv, altera_avalon_st_pipeline_base.v, altera_merlin_traffic_limiter.sv, altera_avalon_st_pipeline_base.v, altera_reset_controller.v, altera_reset_synchronizer.v, altera_reset_controller.v, altera_reset_synchronizer.v, altera_reset_controller.v, altera_reset_synchronizer.v, ip_stratixiv_mac_10g_cmd_xbar_demux.sv, ip_stratixiv_mac_10g_rsp_xbar_demux.sv, ip_stratixiv_mac_10g_rsp_xbar_demux.sv, altera_merlin_arbitrator.sv, ip_stratixiv_mac_10g_rsp_xbar_mux.sv, ip_stratixiv_mac_10g_cmd_xbar_demux_001.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_002.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_002.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_002.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_002.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_002.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_002.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_002.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_002.sv, ip_stratixiv_mac_10g_rsp_xbar_mux_001.sv, ip_stratixiv_mac_10g_cmd_xbar_demux_002.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_010.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_010.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_010.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_010.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_010.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_010.sv, ip_stratixiv_mac_10g_rsp_xbar_demux_010.sv, ip_stratixiv_mac_10g_rsp_xbar_mux_002.sv, altera_avalon_st_handshake_clock_crosser.v, altera_avalon_st_clock_crosser.v, altera_avalon_st_handshake_clock_crosser.v, altera_avalon_st_clock_crosser.v, altera_avalon_st_pipeline_base.v, altera_avalon_st_handshake_clock_crosser.v, altera_avalon_st_clock_crosser.v, altera_avalon_st_pipeline_base.v, altera_avalon_st_handshake_clock_crosser.v, altera_avalon_st_clock_crosser.v, altera_avalon_st_pipeline_base.v