Commit 23979725 authored by li hongming's avatar li hongming

change 8ports to 2ports to reduce compiling time.

parent 95746526
wr-hdl wr-hdl
general-cores general-cores
*.en
wr-cores @ bb0e1b6d
Subproject commit 3c2a6c72fd6e6c1594212b03d75ed2c8863cb8b3 Subproject commit bb0e1b6d5a285547f83b3a9bcd526d5545a52a00
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -131,17 +131,17 @@ NET "clk_sel_o" LOC="AK17"; ...@@ -131,17 +131,17 @@ NET "clk_sel_o" LOC="AK17";
#NET "gtx4_7_clk_n_i" IOSTANDARD="LVPECL_25"; #NET "gtx4_7_clk_n_i" IOSTANDARD="LVPECL_25";
#NET "gtx4_7_clk_p_i" IOSTANDARD="LVPECL_25"; #NET "gtx4_7_clk_p_i" IOSTANDARD="LVPECL_25";
NET "gtx8_11_clk_n_i" LOC="V5"; # NET "gtx8_11_clk_n_i" LOC="V5";
NET "gtx8_11_clk_p_i" LOC="V6"; # NET "gtx8_11_clk_p_i" LOC="V6";
NET "gtx8_11_clk_n_i" IOSTANDARD="LVPECL_25"; # NET "gtx8_11_clk_n_i" IOSTANDARD="LVPECL_25";
NET "gtx8_11_clk_p_i" IOSTANDARD="LVPECL_25"; # NET "gtx8_11_clk_p_i" IOSTANDARD="LVPECL_25";
NET "gtx12_15_clk_n_i" LOC="P5"; # NET "gtx12_15_clk_n_i" LOC="P5";
NET "gtx12_15_clk_p_i" LOC="P6"; # NET "gtx12_15_clk_p_i" LOC="P6";
NET "gtx12_15_clk_n_i" IOSTANDARD="LVPECL_25"; # NET "gtx12_15_clk_n_i" IOSTANDARD="LVPECL_25";
NET "gtx12_15_clk_p_i" IOSTANDARD="LVPECL_25"; # NET "gtx12_15_clk_p_i" IOSTANDARD="LVPECL_25";
NET "gtx16_19_clk_n_i" LOC="H5"; NET "gtx16_19_clk_n_i" LOC="H5";
NET "gtx16_19_clk_p_i" LOC="H6"; NET "gtx16_19_clk_p_i" LOC="H6";
...@@ -210,41 +210,41 @@ NET "gtx16_19_clk_p_i" IOSTANDARD="LVPECL_25"; ...@@ -210,41 +210,41 @@ NET "gtx16_19_clk_p_i" IOSTANDARD="LVPECL_25";
#NET "gtx_txp_o[9]" LOC="V1"; #NET "gtx_txp_o[9]" LOC="V1";
#NET "gtx_txn_o[9]" LOC="V2"; #NET "gtx_txn_o[9]" LOC="V2";
NET "gtx_rxp_i[7]" LOC="U3"; # NET "gtx_rxp_i[7]" LOC="U3";
NET "gtx_rxn_i[7]" LOC="U4"; # NET "gtx_rxn_i[7]" LOC="U4";
NET "gtx_txp_o[7]" LOC="T1"; # NET "gtx_txp_o[7]" LOC="T1";
NET "gtx_txn_o[7]" LOC="T2"; # NET "gtx_txn_o[7]" LOC="T2";
NET "gtx_rxp_i[6]" LOC="R3"; # NET "gtx_rxp_i[6]" LOC="R3";
NET "gtx_rxn_i[6]" LOC="R4"; # NET "gtx_rxn_i[6]" LOC="R4";
NET "gtx_txp_o[6]" LOC="P1"; # NET "gtx_txp_o[6]" LOC="P1";
NET "gtx_txn_o[6]" LOC="P2"; # NET "gtx_txn_o[6]" LOC="P2";
NET "gtx_rxp_i[5]" LOC="N3"; # NET "gtx_rxp_i[5]" LOC="N3";
NET "gtx_rxn_i[5]" LOC="N4"; # NET "gtx_rxn_i[5]" LOC="N4";
NET "gtx_txp_o[5]" LOC="M1"; # NET "gtx_txp_o[5]" LOC="M1";
NET "gtx_txn_o[5]" LOC="M2"; # NET "gtx_txn_o[5]" LOC="M2";
NET "gtx_rxp_i[4]" LOC="L3"; # NET "gtx_rxp_i[4]" LOC="L3";
NET "gtx_rxn_i[4]" LOC="L4"; # NET "gtx_rxn_i[4]" LOC="L4";
NET "gtx_txp_o[4]" LOC="K1"; # NET "gtx_txp_o[4]" LOC="K1";
NET "gtx_txn_o[4]" LOC="K2"; # NET "gtx_txn_o[4]" LOC="K2";
NET "gtx_rxp_i[3]" LOC="K5"; #gtx14 # NET "gtx_rxp_i[3]" LOC="K5"; #gtx14
NET "gtx_rxn_i[3]" LOC="K6"; # NET "gtx_rxn_i[3]" LOC="K6";
NET "gtx_txp_o[3]" LOC="H1"; # NET "gtx_txp_o[3]" LOC="H1";
NET "gtx_txn_o[3]" LOC="H2"; # NET "gtx_txn_o[3]" LOC="H2";
NET "gtx_rxp_i[2]" LOC="J3"; # gtx15 # NET "gtx_rxp_i[2]" LOC="J3"; # gtx15
NET "gtx_rxn_i[2]" LOC="J4"; # NET "gtx_rxn_i[2]" LOC="J4";
NET "gtx_txp_o[2]" LOC="F1"; # NET "gtx_txp_o[2]" LOC="F1";
NET "gtx_txn_o[2]" LOC="F2"; # NET "gtx_txn_o[2]" LOC="F2";
NET "gtx_rxp_i[1]" LOC="G3"; # gtx16 NET "gtx_rxp_i[1]" LOC="G3"; # gtx16
NET "gtx_rxn_i[1]" LOC="G4"; NET "gtx_rxn_i[1]" LOC="G4";
...@@ -260,13 +260,13 @@ NET "gtx_txn_o[0]" LOC="C4"; ...@@ -260,13 +260,13 @@ NET "gtx_txn_o[0]" LOC="C4";
NET "led_act_o[0]" LOC="AE33"; NET "led_act_o[0]" LOC="AE33";
NET "led_act_o[1]" LOC="AE34"; NET "led_act_o[1]" LOC="AE34";
NET "led_act_o[2]" LOC="AB30"; # NET "led_act_o[2]" LOC="AB30";
NET "led_act_o[3]" LOC="AC30"; # NET "led_act_o[3]" LOC="AC30";
NET "led_act_o[4]" LOC="AA26"; # NET "led_act_o[4]" LOC="AA26";
NET "led_act_o[5]" LOC="AA25"; # NET "led_act_o[5]" LOC="AA25";
NET "led_act_o[6]" LOC="AB27"; # NET "led_act_o[6]" LOC="AB27";
NET "led_act_o[7]" LOC="AC27"; # NET "led_act_o[7]" LOC="AC27";
NET "clk_dmtd_divsel_o" LOC="AN15"; NET "clk_dmtd_divsel_o" LOC="AN15";
...@@ -318,7 +318,7 @@ TIMESPEC TS_fpga_clk_ref_p_i = PERIOD "fpga_clk_ref_p_i" 16 ns HIGH 50%; ...@@ -318,7 +318,7 @@ TIMESPEC TS_fpga_clk_ref_p_i = PERIOD "fpga_clk_ref_p_i" 16 ns HIGH 50%;
#NET "gen_phys[7].U_PHY/rx_rec_clk_bufin" TNM_NET = gen_phys[7].U_PHY/rx_rec_clk_bufin; #NET "gen_phys[7].U_PHY/rx_rec_clk_bufin" TNM_NET = gen_phys[7].U_PHY/rx_rec_clk_bufin;
#TIMESPEC TS_gen_phys_7__U_PHY_rx_rec_clk_bufin = PERIOD "gen_phys[7].U_PHY/rx_rec_clk_bufin" 16 ns HIGH 50%; #TIMESPEC TS_gen_phys_7__U_PHY_rx_rec_clk_bufin = PERIOD "gen_phys[7].U_PHY/rx_rec_clk_bufin" 16 ns HIGH 50%;
#NET "gen_phys[8].U_PHY/rx_rec_clk_bufin" TNM_NET = gen_phys[8].U_PHY/rx_rec_clk_bufin; #NET "gen_phys[8].U_PHY/rx_rec_clk_bufin" TNM_NET = gen_phys[8].U_PHY/rx_rec_clk_bufin;
TIMESPEC TS_gen_phys_8__U_PHY_rx_rec_clk_bufin = PERIOD "gen_phys[8].U_PHY/rx_rec_clk_bufin" 16 ns HIGH 50%; # TIMESPEC TS_gen_phys_8__U_PHY_rx_rec_clk_bufin = PERIOD "gen_phys[8].U_PHY/rx_rec_clk_bufin" 16 ns HIGH 50%;
#NET "gen_phys[8].U_PHY/tx_out_clk_bufin" TNM_NET = gen_phys[8].U_PHY/tx_out_clk_bufin; #NET "gen_phys[8].U_PHY/tx_out_clk_bufin" TNM_NET = gen_phys[8].U_PHY/tx_out_clk_bufin;
#TIMESPEC TS_gen_phys_8__U_PHY_tx_out_clk_bufin = PERIOD "gen_phys[8].U_PHY/tx_out_clk_bufin" 16 ns HIGH 50%; #TIMESPEC TS_gen_phys_8__U_PHY_tx_out_clk_bufin = PERIOD "gen_phys[8].U_PHY/tx_out_clk_bufin" 16 ns HIGH 50%;
#NET "gen_phys[9].U_PHY/rx_rec_clk_bufin" TNM_NET = gen_phys[9].U_PHY/rx_rec_clk_bufin; #NET "gen_phys[9].U_PHY/rx_rec_clk_bufin" TNM_NET = gen_phys[9].U_PHY/rx_rec_clk_bufin;
...@@ -355,10 +355,10 @@ TIMESPEC TS_gen_phys_8__U_PHY_rx_rec_clk_bufin = PERIOD "gen_phys[8].U_PHY/rx_re ...@@ -355,10 +355,10 @@ TIMESPEC TS_gen_phys_8__U_PHY_rx_rec_clk_bufin = PERIOD "gen_phys[8].U_PHY/rx_re
#TIMESPEC TS_gtx8_11_clk_n_i = PERIOD "gtx8_11_clk_n_i" 8 ns HIGH 50%; #TIMESPEC TS_gtx8_11_clk_n_i = PERIOD "gtx8_11_clk_n_i" 8 ns HIGH 50%;
#NET "gtx8_11_clk_p_i" TNM_NET = gtx8_11_clk_p_i; #NET "gtx8_11_clk_p_i" TNM_NET = gtx8_11_clk_p_i;
#TIMESPEC TS_gtx8_11_clk_p_i = PERIOD "gtx8_11_clk_p_i" 8 ns HIGH 50%; #TIMESPEC TS_gtx8_11_clk_p_i = PERIOD "gtx8_11_clk_p_i" 8 ns HIGH 50%;
NET "gtx12_15_clk_n_i" TNM_NET = gtx12_15_clk_n_i; # NET "gtx12_15_clk_n_i" TNM_NET = gtx12_15_clk_n_i;
TIMESPEC TS_gtx12_15_clk_n_i = PERIOD "gtx12_15_clk_n_i" 8 ns HIGH 50%; # TIMESPEC TS_gtx12_15_clk_n_i = PERIOD "gtx12_15_clk_n_i" 8 ns HIGH 50%;
NET "gtx12_15_clk_p_i" TNM_NET = gtx12_15_clk_p_i; # NET "gtx12_15_clk_p_i" TNM_NET = gtx12_15_clk_p_i;
TIMESPEC TS_gtx12_15_clk_p_i = PERIOD "gtx12_15_clk_p_i" 8 ns HIGH 50%; # TIMESPEC TS_gtx12_15_clk_p_i = PERIOD "gtx12_15_clk_p_i" 8 ns HIGH 50%;
NET "gtx16_19_clk_n_i" TNM_NET = gtx16_19_clk_n_i; NET "gtx16_19_clk_n_i" TNM_NET = gtx16_19_clk_n_i;
TIMESPEC TS_gtx16_19_clk_n_i = PERIOD "gtx16_19_clk_n_i" 8 ns HIGH 50%; TIMESPEC TS_gtx16_19_clk_n_i = PERIOD "gtx16_19_clk_n_i" 8 ns HIGH 50%;
NET "gtx16_19_clk_p_i" TNM_NET = gtx16_19_clk_p_i; NET "gtx16_19_clk_p_i" TNM_NET = gtx16_19_clk_p_i;
......
...@@ -153,11 +153,11 @@ entity scb_top_synthesis is ...@@ -153,11 +153,11 @@ entity scb_top_synthesis is
--gtx4_7_clk_n_i : in std_logic; --gtx4_7_clk_n_i : in std_logic;
--gtx4_7_clk_p_i : in std_logic; --gtx4_7_clk_p_i : in std_logic;
gtx8_11_clk_n_i : in std_logic; --gtx8_11_clk_n_i : in std_logic;
gtx8_11_clk_p_i : in std_logic; --gtx8_11_clk_p_i : in std_logic;
gtx12_15_clk_n_i : in std_logic; --gtx12_15_clk_n_i : in std_logic;
gtx12_15_clk_p_i : in std_logic; --gtx12_15_clk_p_i : in std_logic;
gtx16_19_clk_n_i : in std_logic; gtx16_19_clk_n_i : in std_logic;
gtx16_19_clk_p_i : in std_logic; gtx16_19_clk_p_i : in std_logic;
...@@ -168,11 +168,11 @@ entity scb_top_synthesis is ...@@ -168,11 +168,11 @@ entity scb_top_synthesis is
--gtx_txp_o : out std_logic_vector(17 downto 0); --gtx_txp_o : out std_logic_vector(17 downto 0);
--gtx_txn_o : out std_logic_vector(17 downto 0); --gtx_txn_o : out std_logic_vector(17 downto 0);
gtx_rxp_i : in std_logic_vector(7 downto 0); gtx_rxp_i : in std_logic_vector(1 downto 0);
gtx_rxn_i : in std_logic_vector(7 downto 0); gtx_rxn_i : in std_logic_vector(1 downto 0);
gtx_txp_o : out std_logic_vector(7 downto 0); gtx_txp_o : out std_logic_vector(1 downto 0);
gtx_txn_o : out std_logic_vector(7 downto 0); gtx_txn_o : out std_logic_vector(1 downto 0);
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
-- Mini-Backplane signals -- Mini-Backplane signals
...@@ -223,8 +223,8 @@ architecture Behavioral of scb_top_synthesis is ...@@ -223,8 +223,8 @@ architecture Behavioral of scb_top_synthesis is
end component; end component;
constant c_NUM_PHYS : integer := 8; constant c_NUM_PHYS : integer := 2;
constant c_NUM_PORTS : integer := 8; constant c_NUM_PORTS : integer := 2;
function f_bool2int(x : boolean) return integer is function f_bool2int(x : boolean) return integer is
begin begin
...@@ -299,8 +299,8 @@ architecture Behavioral of scb_top_synthesis is ...@@ -299,8 +299,8 @@ architecture Behavioral of scb_top_synthesis is
attribute buffer_type of clk_aux : signal is "BUFG"; attribute buffer_type of clk_aux : signal is "BUFG";
attribute buffer_type of clk_sys : signal is "BUFG"; attribute buffer_type of clk_sys : signal is "BUFG";
signal local_reset, ext_pll_reset : std_logic; signal local_reset, ext_pll_reset : std_logic;
signal clk_ext, clk_ext_mul : std_logic; signal clk_ext, clk_ext_mul : std_logic;
signal clk_ext_100 : std_logic; signal clk_ext_100 : std_logic;
signal ext_pll_100_locked, ext_pll_62_locked : std_logic; signal ext_pll_100_locked, ext_pll_62_locked : std_logic;
signal clk_ext_mul_locked : std_logic; signal clk_ext_mul_locked : std_logic;
...@@ -323,8 +323,8 @@ architecture Behavioral of scb_top_synthesis is ...@@ -323,8 +323,8 @@ architecture Behavioral of scb_top_synthesis is
clk_ref_i : in std_logic; clk_ref_i : in std_logic;
clk_dmtd_i : in std_logic; clk_dmtd_i : in std_logic;
clk_aux_i : in std_logic; clk_aux_i : in std_logic;
clk_ext_mul_i : in std_logic; clk_ext_mul_i : in std_logic;
clk_ext_mul_locked_i: in std_logic; clk_ext_mul_locked_i: in std_logic;
clk_aux_p_o : out std_logic; clk_aux_p_o : out std_logic;
clk_aux_n_o : out std_logic; clk_aux_n_o : out std_logic;
clk_500_o : out std_logic; clk_500_o : out std_logic;
...@@ -439,25 +439,25 @@ begin ...@@ -439,25 +439,25 @@ begin
-- IB => gtx4_7_clk_n_i -- IB => gtx4_7_clk_n_i
-- ); -- );
U_Clk_Buf_GTX8_11 : IBUFDS_GTXE1 --U_Clk_Buf_GTX8_11 : IBUFDS_GTXE1
port map -- port map
( -- (
O => clk_gtx8_11, -- O => clk_gtx8_11,
ODIV2 => open, -- ODIV2 => open,
CEB => '0', -- CEB => '0',
I => gtx8_11_clk_p_i, -- I => gtx8_11_clk_p_i,
IB => gtx8_11_clk_n_i -- IB => gtx8_11_clk_n_i
); -- );
U_Clk_Buf_GTX12_15 : IBUFDS_GTXE1 --U_Clk_Buf_GTX12_15 : IBUFDS_GTXE1
port map -- port map
( -- (
O => clk_gtx12_15, -- O => clk_gtx12_15,
ODIV2 => open, -- ODIV2 => open,
CEB => '0', -- CEB => '0',
I => gtx12_15_clk_p_i, -- I => gtx12_15_clk_p_i,
IB => gtx12_15_clk_n_i -- IB => gtx12_15_clk_n_i
); -- );
U_Clk_Buf_GTX16_19 : IBUFDS_GTXE1 U_Clk_Buf_GTX16_19 : IBUFDS_GTXE1
port map port map
...@@ -562,7 +562,7 @@ begin ...@@ -562,7 +562,7 @@ begin
g_width => 1000) g_width => 1000)
port map( port map(
clk_i => clk_sys, clk_i => clk_sys,
rst_n_i => sys_rst_n_i, rst_n_i => sys_rst_n_i,
pulse_i => local_reset, pulse_i => local_reset,
extended_o => ext_pll_reset); extended_o => ext_pll_reset);
...@@ -620,13 +620,13 @@ begin ...@@ -620,13 +620,13 @@ begin
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
clk_gtx(1 downto 0) <= (others => clk_gtx16_19); clk_gtx(1 downto 0) <= (others => clk_gtx16_19);
clk_gtx(5 downto 2) <= (others => clk_gtx12_15); --clk_gtx(5 downto 2) <= (others => clk_gtx12_15);
clk_gtx(7 downto 6) <= (others => clk_gtx8_11); --clk_gtx(7 downto 6) <= (others => clk_gtx8_11);
--clk_gtx(11 downto 8) <= (others => clk_gtx8_11); --clk_gtx(11 downto 8) <= (others => clk_gtx8_11);
--clk_gtx(14 downto 12) <= (others => clk_gtx12_15); --clk_gtx(14 downto 12) <= (others => clk_gtx12_15);
--clk_gtx(17 downto 16) <= (others => clk_gtx16_19); --clk_gtx(17 downto 16) <= (others => clk_gtx16_19);
--generate first 4 GTXes with BUFR to reduce the number of global clocks --generate first 4 GTXes with BUFR to reduce the number of global clocks
gen_phys_bufr : for i in 0 to 3 generate gen_phys_bufr : for i in 0 to 1 generate
U_PHY : wr_gtx_phy_virtex6 U_PHY : wr_gtx_phy_virtex6
generic map ( generic map (
...@@ -657,36 +657,36 @@ begin ...@@ -657,36 +657,36 @@ begin
from_phys(i).ref_clk <= clk_ref; from_phys(i).ref_clk <= clk_ref;
end generate gen_phys_bufr; end generate gen_phys_bufr;
gen_phys : for i in 4 to c_NUM_PHYS-1 generate --gen_phys : for i in 4 to c_NUM_PHYS-1 generate
U_PHY : wr_gtx_phy_virtex6 -- U_PHY : wr_gtx_phy_virtex6
generic map ( -- generic map (
g_simulation => f_bool2int(g_simulation), -- g_simulation => f_bool2int(g_simulation),
g_use_slave_tx_clock => f_bool2int(i /= (i/4)*4), -- g_use_slave_tx_clock => f_bool2int(i /= (i/4)*4),
g_use_bufr => false) -- g_use_bufr => false)
port map ( -- port map (
clk_gtx_i => clk_gtx(i), -- clk_gtx_i => clk_gtx(i),
clk_ref_i => clk_ref, -- clk_ref_i => clk_ref,
tx_data_i => to_phys(i).tx_data, -- tx_data_i => to_phys(i).tx_data,
tx_k_i => to_phys(i).tx_k, -- tx_k_i => to_phys(i).tx_k,
tx_disparity_o => from_phys(i).tx_disparity, -- tx_disparity_o => from_phys(i).tx_disparity,
tx_enc_err_o => from_phys(i).tx_enc_err, -- tx_enc_err_o => from_phys(i).tx_enc_err,
rx_rbclk_o => from_phys(i).rx_clk, -- rx_rbclk_o => from_phys(i).rx_clk,
rx_data_o => from_phys(i).rx_data, -- rx_data_o => from_phys(i).rx_data,
rx_k_o => from_phys(i).rx_k, -- rx_k_o => from_phys(i).rx_k,
rx_enc_err_o => from_phys(i).rx_enc_err, -- rx_enc_err_o => from_phys(i).rx_enc_err,
rx_bitslide_o => from_phys(i).rx_bitslide, -- rx_bitslide_o => from_phys(i).rx_bitslide,
rst_i => to_phys(i).rst, -- rst_i => to_phys(i).rst,
loopen_i => to_phys(i).loopen, -- loopen_i => to_phys(i).loopen,
pad_txn_o => gtx_txn_o(i), -- pad_txn_o => gtx_txn_o(i),
pad_txp_o => gtx_txp_o(i), -- pad_txp_o => gtx_txp_o(i),
pad_rxn_i => gtx_rxn_i(i), -- pad_rxn_i => gtx_rxn_i(i),
pad_rxp_i => gtx_rxp_i(i), -- pad_rxp_i => gtx_rxp_i(i),
rdy_o => from_phys(i).rdy); -- rdy_o => from_phys(i).rdy);
from_phys(i).ref_clk <= clk_ref; -- from_phys(i).ref_clk <= clk_ref;
end generate gen_phys; --end generate gen_phys;
gen_terminate_unused_phys : for i in c_NUM_PORTS to c_NUM_PHYS-1 generate gen_terminate_unused_phys : for i in c_NUM_PORTS to c_NUM_PHYS-1 generate
to_phys(i).tx_data <= (others => '0'); to_phys(i).tx_data <= (others => '0');
...@@ -722,7 +722,7 @@ begin ...@@ -722,7 +722,7 @@ begin
clk_dmtd_i => clk_dmtd, clk_dmtd_i => clk_dmtd,
clk_sys_o => clk_sys, clk_sys_o => clk_sys,
clk_aux_i => clk_aux, clk_aux_i => clk_aux,
clk_ext_mul_i => clk_ext_mul, clk_ext_mul_i => clk_ext_mul,
clk_ext_mul_locked_i=> clk_ext_mul_locked, clk_ext_mul_locked_i=> clk_ext_mul_locked,
clk_aux_p_o => clk_aux_p_o, clk_aux_p_o => clk_aux_p_o,
clk_aux_n_o => clk_aux_n_o, clk_aux_n_o => clk_aux_n_o,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment