diff --git a/libraries/technology/ip_arria10/mac_10g/README.txt b/libraries/technology/ip_arria10/mac_10g/README.txt index e7b15700d0e841a0eb48334de4fa2b31ec1d10bf..39766e46ccf196734329497a8fd824781a9b3fc1 100644 --- a/libraries/technology/ip_arria10/mac_10g/README.txt +++ b/libraries/technology/ip_arria10/mac_10g/README.txt @@ -39,18 +39,17 @@ No synthesis trials were done, because this will implicitely be done when the IP generated/ip_arria10_mac_10g.qip -is included in the ip/hdllib.cfg and contains what is needed to synthesize the IP. +is included in the hdllib.cfg and contains what is needed to synthesize the IP. 5) Remarks -a) Generated ip_arria10_mac_10g.vhd uses IP specific library ip_arria10_mac_10g_alt_em10g32_140 - - The ip/hdllib.cfg defines the IP specific library to make it known: +a) Use generated IP specific library clause name + + The generated ip_arria10_<lib_name>.vhd uses an IP specific library name. Therefore the hdllib.cfg uses the IP + specific library as library claus name to make it known: - hdl_lib_name = ip_arria10_mac_10g_alt_em10g32_140 - hdl_library_clause_name = ip_arria10_mac_10g_alt_em10g32_140 + hdl_lib_name = ip_arria10_<lib_name> + hdl_library_clause_name = ip_arria10_<lib_name>_<ip_specific> - The ip_arria10_mac_10g_top.vhd wrapper makes the IP accessible via ip_arria10_mac_10g_lib, to - avoid that the IP specific library needs to be used at the technology independent level. \ No newline at end of file diff --git a/libraries/technology/ip_arria10/mac_10g/ip/compile_ip.tcl b/libraries/technology/ip_arria10/mac_10g/compile_ip.tcl similarity index 100% rename from libraries/technology/ip_arria10/mac_10g/ip/compile_ip.tcl rename to libraries/technology/ip_arria10/mac_10g/compile_ip.tcl diff --git a/libraries/technology/ip_arria10/mac_10g/ip/generate_ip.sh b/libraries/technology/ip_arria10/mac_10g/generate_ip.sh similarity index 100% rename from libraries/technology/ip_arria10/mac_10g/ip/generate_ip.sh rename to libraries/technology/ip_arria10/mac_10g/generate_ip.sh diff --git a/libraries/technology/ip_arria10/mac_10g/hdllib.cfg b/libraries/technology/ip_arria10/mac_10g/hdllib.cfg index a58f4fd7a69a7d2dcbae2c3dc007e9cda74ad9c6..bcd55797646df6bd5ec443f2f6a137cf71cad869 100644 --- a/libraries/technology/ip_arria10/mac_10g/hdllib.cfg +++ b/libraries/technology/ip_arria10/mac_10g/hdllib.cfg @@ -1,16 +1,20 @@ hdl_lib_name = ip_arria10_mac_10g -hdl_library_clause_name = ip_arria10_mac_10g_lib -hdl_lib_uses = ip_arria10_mac_10g_alt_em10g32_140 +hdl_library_clause_name = ip_arria10_mac_10g_alt_em10g32_140 +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/mac_10g/compile_ip.tcl + synth_files = - ip_arria10_mac_10g_top.vhd test_bench_files = + # The generated testbench is listed here to create a simulation configuration for it. However + # the tb is commented because it is not useful, see generate_ip.sh. + #$RADIOHDL/libraries/technology/ip_arria10/mac_10g/generated_tb/generated/sim/ip_arria10_mac_10g_tb.vhd -modelsim_search_libraries = - altera_ver lpm_ver sgate_ver altera_mf_ver altera_lnsim_ver twentynm_ver twentynm_hssi_ver twentynm_hip_ver - altera lpm sgate altera_mf altera_lnsim twentynm twentynm_hssi twentynm_hip +quartus_qip_files = + generated/ip_arria10_mac_10g.qip diff --git a/libraries/technology/ip_arria10/mac_10g/ip/hdllib.cfg b/libraries/technology/ip_arria10/mac_10g/ip/hdllib.cfg deleted file mode 100644 index 19c6870c74ba22c56da4ed39d68ff331a0d0d9a1..0000000000000000000000000000000000000000 --- a/libraries/technology/ip_arria10/mac_10g/ip/hdllib.cfg +++ /dev/null @@ -1,20 +0,0 @@ -hdl_lib_name = ip_arria10_mac_10g_alt_em10g32_140 -hdl_library_clause_name = ip_arria10_mac_10g_alt_em10g32_140 -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/mac_10g/ip/compile_ip.tcl - -synth_files = - -test_bench_files = - # The generated testbench is listed here to create a simulation configuration for it. However - # the tb is commented because it is not useful, see generate_ip.sh. - #$RADIOHDL/libraries/technology/ip_arria10/mac_10g/generated_tb/generated/sim/ip_arria10_mac_10g_tb.vhd - -quartus_qip_files = - generated/ip_arria10_mac_10g.qip diff --git a/libraries/technology/ip_arria10/mac_10g/ip/ip_arria10_mac_10g.qsys b/libraries/technology/ip_arria10/mac_10g/ip_arria10_mac_10g.qsys similarity index 100% rename from libraries/technology/ip_arria10/mac_10g/ip/ip_arria10_mac_10g.qsys rename to libraries/technology/ip_arria10/mac_10g/ip_arria10_mac_10g.qsys diff --git a/libraries/technology/ip_arria10/mac_10g/ip_arria10_mac_10g_top.vhd b/libraries/technology/ip_arria10/mac_10g/ip_arria10_mac_10g_top.vhd deleted file mode 100644 index 138b40c7fd2d9ca2d33cb943a35e3996b7dcea5a..0000000000000000000000000000000000000000 --- a/libraries/technology/ip_arria10/mac_10g/ip_arria10_mac_10g_top.vhd +++ /dev/null @@ -1,126 +0,0 @@ -------------------------------------------------------------------------------- --- --- 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/>. --- -------------------------------------------------------------------------------- - --- Purpose: Wrapper for generated ip_arria10_mac_10g.vhd --- Description: --- This wrapper avoids the need to vmap the ip_arria10_mac_10g_alt_em10g32_140 library --- in the technology independent library that instantiate this IP. --- Remarks: --- . Manually created from generated ip_arria10_mac_10g.vhd. - -library IEEE; -use IEEE.std_logic_1164.all; - -library ip_arria10_mac_10g_alt_em10g32_140; - -entity ip_arria10_mac_10g_top is - port ( - csr_read : in std_logic := '0'; -- csr.read - csr_write : in std_logic := '0'; -- .write - csr_writedata : in std_logic_vector(31 downto 0) := (others => '0'); -- .writedata - csr_readdata : out std_logic_vector(31 downto 0); -- .readdata - csr_waitrequest : out std_logic; -- .waitrequest - csr_address : in std_logic_vector(12 downto 0) := (others => '0'); -- .address - tx_312_5_clk : in std_logic := '0'; -- tx_312_5_clk.clk - tx_156_25_clk : in std_logic := '0'; -- tx_156_25_clk.clk - rx_312_5_clk : in std_logic := '0'; -- rx_312_5_clk.clk - rx_156_25_clk : in std_logic := '0'; -- rx_156_25_clk.clk - csr_clk : in std_logic := '0'; -- csr_clk.clk - csr_rst_n : in std_logic := '0'; -- csr_rst_n.reset_n - tx_rst_n : in std_logic := '0'; -- tx_rst_n.reset_n - rx_rst_n : in std_logic := '0'; -- rx_rst_n.reset_n - avalon_st_tx_startofpacket : in std_logic := '0'; -- avalon_st_tx.startofpacket - avalon_st_tx_endofpacket : in std_logic := '0'; -- .endofpacket - 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_error : in std_logic := '0'; -- .error - avalon_st_tx_ready : out std_logic; -- .ready - avalon_st_pause_data : in std_logic_vector(1 downto 0) := (others => '0'); -- avalon_st_pause.data - xgmii_tx : 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 - xgmii_rx : in std_logic_vector(71 downto 0) := (others => '0'); -- xgmii_rx.data - link_fault_status_xgmii_rx_data : out std_logic_vector(1 downto 0); -- link_fault_status_xgmii_rx.data - avalon_st_rx_data : out std_logic_vector(63 downto 0); -- avalon_st_rx.data - avalon_st_rx_startofpacket : out std_logic; -- .startofpacket - avalon_st_rx_valid : out std_logic; -- .valid - 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_rx_ready : in std_logic := '0'; -- .ready - avalon_st_rx_endofpacket : out std_logic; -- .endofpacket - 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 - unidirectional_en : out std_logic; -- unidirectional.en - unidirectional_remote_fault_dis : out std_logic -- .remote_fault_dis - ); -end ip_arria10_mac_10g_top; - -architecture str of ip_arria10_mac_10g_top is -begin - - u_ip_arria10_mac_10g : entity ip_arria10_mac_10g_alt_em10g32_140.ip_arria10_mac_10g - port map ( - csr_read => csr_read , -- csr.read - csr_write => csr_write , -- .write - csr_writedata => csr_writedata , -- .writedata - csr_readdata => csr_readdata , -- .readdata - csr_waitrequest => csr_waitrequest , -- .waitrequest - csr_address => csr_address , -- .address - tx_312_5_clk => tx_312_5_clk , -- tx_312_5_clk.clk - tx_156_25_clk => tx_156_25_clk , -- tx_156_25_clk.clk - rx_312_5_clk => rx_312_5_clk , -- rx_312_5_clk.clk - rx_156_25_clk => rx_156_25_clk , -- rx_156_25_clk.clk - csr_clk => csr_clk , -- csr_clk.clk - csr_rst_n => csr_rst_n , -- csr_rst_n.reset_n - tx_rst_n => tx_rst_n , -- tx_rst_n.reset_n - rx_rst_n => rx_rst_n , -- rx_rst_n.reset_n - avalon_st_tx_startofpacket => avalon_st_tx_startofpacket , -- avalon_st_tx.startofpacket - avalon_st_tx_endofpacket => avalon_st_tx_endofpacket , -- .endofpacket - 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_error => avalon_st_tx_error , -- .error - avalon_st_tx_ready => avalon_st_tx_ready , -- .ready - avalon_st_pause_data => avalon_st_pause_data , -- avalon_st_pause.data - xgmii_tx => xgmii_tx , -- 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 - xgmii_rx => xgmii_rx , -- xgmii_rx.data - link_fault_status_xgmii_rx_data => link_fault_status_xgmii_rx_data, -- link_fault_status_xgmii_rx.data - avalon_st_rx_data => avalon_st_rx_data , -- avalon_st_rx.data - avalon_st_rx_startofpacket => avalon_st_rx_startofpacket , -- .startofpacket - avalon_st_rx_valid => avalon_st_rx_valid , -- .valid - avalon_st_rx_empty => avalon_st_rx_empty , -- .empty - avalon_st_rx_error => avalon_st_rx_error , -- .error - avalon_st_rx_ready => avalon_st_rx_ready , -- .ready - avalon_st_rx_endofpacket => avalon_st_rx_endofpacket , -- .endofpacket - 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 - unidirectional_en => unidirectional_en , -- unidirectional.en - unidirectional_remote_fault_dis => unidirectional_remote_fault_dis -- .remote_fault_dis - ); - -end str;