From f9cb5b120540f708a8ca6f2b079fe8a99fb1a166 Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Thu, 20 Nov 2014 11:57:38 +0000 Subject: [PATCH] No need to use ip/ and no need to use *_top.vhd. --- .../ip_arria10/phy_10gbase_r/README.txt | 23 ++-- .../phy_10gbase_r/{ip => }/compile_ip.tcl | 0 .../phy_10gbase_r/{ip => }/generate_ip.sh | 0 .../ip_arria10/phy_10gbase_r/hdllib.cfg | 13 +- .../ip_arria10/phy_10gbase_r/ip/hdllib.cfg | 17 --- .../{ip => }/ip_arria10_phy_10gbase_r.qsys | 0 .../ip_arria10_phy_10gbase_r_top.vhd | 123 ------------------ 7 files changed, 18 insertions(+), 158 deletions(-) rename libraries/technology/ip_arria10/phy_10gbase_r/{ip => }/compile_ip.tcl (100%) rename libraries/technology/ip_arria10/phy_10gbase_r/{ip => }/generate_ip.sh (100%) delete mode 100644 libraries/technology/ip_arria10/phy_10gbase_r/ip/hdllib.cfg rename libraries/technology/ip_arria10/phy_10gbase_r/{ip => }/ip_arria10_phy_10gbase_r.qsys (100%) delete mode 100644 libraries/technology/ip_arria10/phy_10gbase_r/ip_arria10_phy_10gbase_r_top.vhd diff --git a/libraries/technology/ip_arria10/phy_10gbase_r/README.txt b/libraries/technology/ip_arria10/phy_10gbase_r/README.txt index 450030a182..ef088be392 100644 --- a/libraries/technology/ip_arria10/phy_10gbase_r/README.txt +++ b/libraries/technology/ip_arria10/phy_10gbase_r/README.txt @@ -16,18 +16,18 @@ The phy_10gbase_r IP is new for Arria10. However it serves the similar purpose a The generated IP is not kept in SVN, only the Qsys source file: - ip/ip_arria10_phy_10gbase_r.qsys + ip_arria10_phy_10gbase_r.qsys Therefore first the IP needs to be generated using: - ip/generate_ip.sh + generate_ip.sh 3) Compilation, simulation and verification The genrated IP also contains a msim_setup.tcl file that was used to manually create: - ip/compile_ip.tcl + compile_ip.tcl This compile_ip.tcl is in the hdllib.cfg and gets compiled before the other code. @@ -36,20 +36,19 @@ This compile_ip.tcl is in the hdllib.cfg and gets compiled before the other code No synthesis trials were done, because this will implicitely be done when the IP is used in a design. The QIP file: - ip/generated/ip_arria10_phy_10gbase_r.qip + generated/ip_arria10_phy_10gbase_r.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_phy_10gbase_r.vhd uses IP specific library ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_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_phy_10gbase_r_altera_xcvr_native_a10_140 - hdl_library_clause_name = ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 + hdl_lib_name = ip_arria10_<lib_name> + hdl_library_clause_name = ip_arria10_<lib_name>_<ip_specific> - The ip_arria10_phy_10gbase_r_top.vhd wrapper makes the IP accessible via ip_arria10_phy_10gbase_r_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/phy_10gbase_r/ip/compile_ip.tcl b/libraries/technology/ip_arria10/phy_10gbase_r/compile_ip.tcl similarity index 100% rename from libraries/technology/ip_arria10/phy_10gbase_r/ip/compile_ip.tcl rename to libraries/technology/ip_arria10/phy_10gbase_r/compile_ip.tcl diff --git a/libraries/technology/ip_arria10/phy_10gbase_r/ip/generate_ip.sh b/libraries/technology/ip_arria10/phy_10gbase_r/generate_ip.sh similarity index 100% rename from libraries/technology/ip_arria10/phy_10gbase_r/ip/generate_ip.sh rename to libraries/technology/ip_arria10/phy_10gbase_r/generate_ip.sh diff --git a/libraries/technology/ip_arria10/phy_10gbase_r/hdllib.cfg b/libraries/technology/ip_arria10/phy_10gbase_r/hdllib.cfg index 1e3aa949f7..749313a883 100644 --- a/libraries/technology/ip_arria10/phy_10gbase_r/hdllib.cfg +++ b/libraries/technology/ip_arria10/phy_10gbase_r/hdllib.cfg @@ -1,16 +1,17 @@ hdl_lib_name = ip_arria10_phy_10gbase_r -hdl_library_clause_name = ip_arria10_phy_10gbase_r_lib -hdl_lib_uses = ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 +hdl_library_clause_name = ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_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/phy_10gbase_r/compile_ip.tcl + synth_files = - ip_arria10_phy_10gbase_r_top.vhd test_bench_files = -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_phy_10gbase_r.qip diff --git a/libraries/technology/ip_arria10/phy_10gbase_r/ip/hdllib.cfg b/libraries/technology/ip_arria10/phy_10gbase_r/ip/hdllib.cfg deleted file mode 100644 index 011b0f78f8..0000000000 --- a/libraries/technology/ip_arria10/phy_10gbase_r/ip/hdllib.cfg +++ /dev/null @@ -1,17 +0,0 @@ -hdl_lib_name = ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 -hdl_library_clause_name = ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_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/phy_10gbase_r/ip/compile_ip.tcl - -synth_files = - -test_bench_files = - -quartus_qip_files = - generated/ip_arria10_phy_10gbase_r.qip diff --git a/libraries/technology/ip_arria10/phy_10gbase_r/ip/ip_arria10_phy_10gbase_r.qsys b/libraries/technology/ip_arria10/phy_10gbase_r/ip_arria10_phy_10gbase_r.qsys similarity index 100% rename from libraries/technology/ip_arria10/phy_10gbase_r/ip/ip_arria10_phy_10gbase_r.qsys rename to libraries/technology/ip_arria10/phy_10gbase_r/ip_arria10_phy_10gbase_r.qsys diff --git a/libraries/technology/ip_arria10/phy_10gbase_r/ip_arria10_phy_10gbase_r_top.vhd b/libraries/technology/ip_arria10/phy_10gbase_r/ip_arria10_phy_10gbase_r_top.vhd deleted file mode 100644 index 3ca94b5c25..0000000000 --- a/libraries/technology/ip_arria10/phy_10gbase_r/ip_arria10_phy_10gbase_r_top.vhd +++ /dev/null @@ -1,123 +0,0 @@ -------------------------------------------------------------------------------- --- --- Copyright (C) 2014 --- 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: Wrapper for generated ip_arria10_phy_10gbase_r.vhd --- Description: --- This wrapper avoids the need to vmap the ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140 library --- in the technology independent library that instantiate this IP. --- Remarks: --- . Manually created from generated ip_arria10_phy_10gbase_r.vhd. - -library IEEE; -use IEEE.std_logic_1164.all; - -library ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140; - -entity ip_arria10_phy_10gbase_r_top is - port ( - tx_analogreset : in std_logic_vector(0 downto 0) := (others => '0'); -- tx_analogreset.tx_analogreset - tx_digitalreset : in std_logic_vector(0 downto 0) := (others => '0'); -- tx_digitalreset.tx_digitalreset - rx_analogreset : in std_logic_vector(0 downto 0) := (others => '0'); -- rx_analogreset.rx_analogreset - rx_digitalreset : in std_logic_vector(0 downto 0) := (others => '0'); -- rx_digitalreset.rx_digitalreset - tx_cal_busy : out std_logic_vector(0 downto 0); -- tx_cal_busy.tx_cal_busy - rx_cal_busy : out std_logic_vector(0 downto 0); -- rx_cal_busy.rx_cal_busy - tx_serial_clk0 : in std_logic_vector(0 downto 0) := (others => '0'); -- tx_serial_clk0.clk - rx_cdr_refclk0 : in std_logic := '0'; -- rx_cdr_refclk0.clk - tx_serial_data : out std_logic_vector(0 downto 0); -- tx_serial_data.tx_serial_data - rx_serial_data : in std_logic_vector(0 downto 0) := (others => '0'); -- rx_serial_data.rx_serial_data - rx_is_lockedtoref : out std_logic_vector(0 downto 0); -- rx_is_lockedtoref.rx_is_lockedtoref - rx_is_lockedtodata : out std_logic_vector(0 downto 0); -- rx_is_lockedtodata.rx_is_lockedtodata - tx_coreclkin : in std_logic_vector(0 downto 0) := (others => '0'); -- tx_coreclkin.clk - rx_coreclkin : in std_logic_vector(0 downto 0) := (others => '0'); -- rx_coreclkin.clk - tx_clkout : out std_logic_vector(0 downto 0); -- tx_clkout.clk - rx_clkout : out std_logic_vector(0 downto 0); -- rx_clkout.clk - tx_parallel_data : in std_logic_vector(63 downto 0) := (others => '0'); -- tx_parallel_data.tx_parallel_data - rx_parallel_data : out std_logic_vector(63 downto 0); -- rx_parallel_data.rx_parallel_data - tx_pma_div_clkout : out std_logic_vector(0 downto 0); -- tx_pma_div_clkout.clk - tx_control : in std_logic_vector(7 downto 0) := (others => '0'); -- tx_control.tx_control - tx_err_ins : in std_logic := '0'; -- tx_err_ins.tx_err_ins - unused_tx_parallel_data : in std_logic_vector(63 downto 0) := (others => '0'); -- unused_tx_parallel_data.unused_tx_parallel_data - unused_tx_control : in std_logic_vector(8 downto 0) := (others => '0'); -- unused_tx_control.unused_tx_control - rx_control : out std_logic_vector(7 downto 0); -- rx_control.rx_control - unused_rx_parallel_data : out std_logic_vector(63 downto 0); -- unused_rx_parallel_data.unused_rx_parallel_data - unused_rx_control : out std_logic_vector(11 downto 0); -- unused_rx_control.unused_rx_control - tx_enh_data_valid : in std_logic_vector(0 downto 0) := (others => '0'); -- tx_enh_data_valid.tx_enh_data_valid - tx_enh_fifo_full : out std_logic_vector(0 downto 0); -- tx_enh_fifo_full.tx_enh_fifo_full - tx_enh_fifo_pfull : out std_logic_vector(0 downto 0); -- tx_enh_fifo_pfull.tx_enh_fifo_pfull - tx_enh_fifo_empty : out std_logic_vector(0 downto 0); -- tx_enh_fifo_empty.tx_enh_fifo_empty - tx_enh_fifo_pempty : out std_logic_vector(0 downto 0); -- tx_enh_fifo_pempty.tx_enh_fifo_pempty - rx_enh_data_valid : out std_logic_vector(0 downto 0); -- rx_enh_data_valid.rx_enh_data_valid - rx_enh_fifo_full : out std_logic_vector(0 downto 0); -- rx_enh_fifo_full.rx_enh_fifo_full - rx_enh_fifo_empty : out std_logic_vector(0 downto 0); -- rx_enh_fifo_empty.rx_enh_fifo_empty - rx_enh_fifo_del : out std_logic_vector(0 downto 0); -- rx_enh_fifo_del.rx_enh_fifo_del - rx_enh_fifo_insert : out std_logic_vector(0 downto 0); -- rx_enh_fifo_insert.rx_enh_fifo_insert - rx_enh_highber : out std_logic_vector(0 downto 0); -- rx_enh_highber.rx_enh_highber - rx_enh_blk_lock : out std_logic_vector(0 downto 0) -- rx_enh_blk_lock.rx_enh_blk_lock - ); -end ip_arria10_phy_10gbase_r_top; - -architecture str of ip_arria10_phy_10gbase_r_top is -begin - - u_ip_arria10_phy_10gbase_r : entity ip_arria10_phy_10gbase_r_altera_xcvr_native_a10_140.ip_arria10_phy_10gbase_r - port map ( - tx_analogreset => tx_analogreset , -- tx_analogreset.tx_analogreset - tx_digitalreset => tx_digitalreset , -- tx_digitalreset.tx_digitalreset - rx_analogreset => rx_analogreset , -- rx_analogreset.rx_analogreset - rx_digitalreset => rx_digitalreset , -- rx_digitalreset.rx_digitalreset - tx_cal_busy => tx_cal_busy , -- tx_cal_busy.tx_cal_busy - rx_cal_busy => rx_cal_busy , -- rx_cal_busy.rx_cal_busy - tx_serial_clk0 => tx_serial_clk0 , -- tx_serial_clk0.clk - rx_cdr_refclk0 => rx_cdr_refclk0 , -- rx_cdr_refclk0.clk - tx_serial_data => tx_serial_data , -- tx_serial_data.tx_serial_data - rx_serial_data => rx_serial_data , -- rx_serial_data.rx_serial_data - rx_is_lockedtoref => rx_is_lockedtoref , -- rx_is_lockedtoref.rx_is_lockedtoref - rx_is_lockedtodata => rx_is_lockedtodata , -- rx_is_lockedtodata.rx_is_lockedtodata - tx_coreclkin => tx_coreclkin , -- tx_coreclkin.clk - rx_coreclkin => rx_coreclkin , -- rx_coreclkin.clk - tx_clkout => tx_clkout , -- tx_clkout.clk - rx_clkout => rx_clkout , -- rx_clkout.clk - tx_parallel_data => tx_parallel_data , -- tx_parallel_data.tx_parallel_data - rx_parallel_data => rx_parallel_data , -- rx_parallel_data.rx_parallel_data - tx_pma_div_clkout => tx_pma_div_clkout , -- tx_pma_div_clkout.clk - tx_control => tx_control , -- tx_control.tx_control - tx_err_ins => tx_err_ins , -- tx_err_ins.tx_err_ins - unused_tx_parallel_data => unused_tx_parallel_data, -- unused_tx_parallel_data.unused_tx_parallel_data - unused_tx_control => unused_tx_control , -- unused_tx_control.unused_tx_control - rx_control => rx_control , -- rx_control.rx_control - unused_rx_parallel_data => unused_rx_parallel_data, -- unused_rx_parallel_data.unused_rx_parallel_data - unused_rx_control => unused_rx_control , -- unused_rx_control.unused_rx_control - tx_enh_data_valid => tx_enh_data_valid , -- tx_enh_data_valid.tx_enh_data_valid - tx_enh_fifo_full => tx_enh_fifo_full , -- tx_enh_fifo_full.tx_enh_fifo_full - tx_enh_fifo_pfull => tx_enh_fifo_pfull , -- tx_enh_fifo_pfull.tx_enh_fifo_pfull - tx_enh_fifo_empty => tx_enh_fifo_empty , -- tx_enh_fifo_empty.tx_enh_fifo_empty - tx_enh_fifo_pempty => tx_enh_fifo_pempty , -- tx_enh_fifo_pempty.tx_enh_fifo_pempty - rx_enh_data_valid => rx_enh_data_valid , -- rx_enh_data_valid.rx_enh_data_valid - rx_enh_fifo_full => rx_enh_fifo_full , -- rx_enh_fifo_full.rx_enh_fifo_full - rx_enh_fifo_empty => rx_enh_fifo_empty , -- rx_enh_fifo_empty.rx_enh_fifo_empty - rx_enh_fifo_del => rx_enh_fifo_del , -- rx_enh_fifo_del.rx_enh_fifo_del - rx_enh_fifo_insert => rx_enh_fifo_insert , -- rx_enh_fifo_insert.rx_enh_fifo_insert - rx_enh_highber => rx_enh_highber , -- rx_enh_highber.rx_enh_highber - rx_enh_blk_lock => rx_enh_blk_lock -- rx_enh_blk_lock.rx_enh_blk_lock - ); - -end str; -- GitLab