From d2b7ee828bfdb11928303eaa9b1685d81ddc3873 Mon Sep 17 00:00:00 2001
From: Mathias Kreider <m.kreider@gsi.de>
Date: Thu, 16 Feb 2012 12:26:20 +0000
Subject: [PATCH]

---
 hdl/EB_SPEC_Test/EB_CORE.vhd | 211 +++++------------------------------
 1 file changed, 26 insertions(+), 185 deletions(-)

diff --git a/hdl/EB_SPEC_Test/EB_CORE.vhd b/hdl/EB_SPEC_Test/EB_CORE.vhd
index 05dd8db..f736924 100644
--- a/hdl/EB_SPEC_Test/EB_CORE.vhd
+++ b/hdl/EB_SPEC_Test/EB_CORE.vhd
@@ -35,7 +35,7 @@ library work;
 use work.EB_HDR_PKG.all;
 --use work.EB_components_pkg.all;
 use work.wb32_package.all;
-use work.wb16_package.all;
+use work.wishbone_pkg.all;
 use work.wr_fabric_pkg.all;
 
 
@@ -46,32 +46,16 @@ port
 	clk_i           	: in    std_logic;   --! clock input
 	nRst_i				: in 	std_logic;
 	
-	-- slave RX streaming IF -------------------------------------
-	snk_CYC_i		: in 	std_logic;						--
-	snk_STB_i		: in 	std_logic;						--
-	snk_DAT_i		: in 	std_logic_vector(15 downto 0);	--
-	snk_sel_i   : in  std_logic_vector(1 downto 0);
-    snk_adr_i   : in  std_logic_vector(1 downto 0);	
-	snk_WE_i		: in 	std_logic;	
-	snk_STALL_o		: out 	std_logic;						--						
-	snk_ERR_o		: out 	std_logic;						--
-	snk_ACK_o		: out 	std_logic;						--
+	-- EB streaming sink ------------------------------------
+	snk_i		: in 	t_wrf_sink_in;						--
+	snk_o		: out	t_wrf_sink_out;						--
 	--------------------------------------------------------------
 	
-	-- master TX streaming IF ------------------------------------
-	src_CYC_o		: out 	std_logic;						--
-	src_STB_o		: out 	std_logic;						--
-	src_WE_o		: out 	std_logic;	
-	src_DAT_o		: out 	std_logic_vector(15 downto 0);	--	
-	src_STALL_i		: in 	std_logic;						--						
-	src_ERR_i		: in 	std_logic;						--
-	src_ACK_i		: in 	std_logic;						--
-	src_adr_o   : out std_logic_vector(1 downto 0);
-
-  src_sel_o   : out std_logic_vector(1 downto 0);
+	-- EB streaming sourc ------------------------------------
+	src_o		: out t_wrf_source_out;						--
+	src_i		: in  t_wrf_source_in;						--
 	--------------------------------------------------------------
-	debug_TX_TOL_o			: out std_logic_vector(15 downto 0);
-	hex_switch_i		: in std_logic_vector(3 downto 0);
+
 
   -- slave Cfg IF ----------------------------------------------
 	cfg_slave_cyc_i   : in std_logic;
@@ -85,16 +69,9 @@ cfg_slave_stall_o : out  std_logic;
 cfg_slave_ack_o   : out  std_logic;
 cfg_slave_err_o   : out  std_logic;
 
- 	-- master IC IF ----------------------------------------------
-	master_cyc_o : out std_logic;
-  master_we_o  : out std_logic;
-  master_stb_o : out std_logic;
-  master_sel_o : out std_logic_vector(3 downto 0);
-  master_adr_o : out std_logic_vector(31 downto 0);
-  master_dat_o : out std_logic_vector(31 downto 0);
-  master_dat_i : in  std_logic_vector(31 downto 0);
-  master_stall_i : in  std_logic;
-  master_ack_i : in  std_logic
+ 	-- WB master IF ----------------------------------------------
+	master_o : out t_wishbone_master_out;
+   master_i : in  t_wishbone_master_in
 	--------------------------------------------------------------
 	
 );
@@ -290,41 +267,14 @@ component eb_config is
 end component;
 
 
-component eb_mini_master is
-port(
-		clk_i	: in std_logic;
-		nRst_i	: in std_logic;
-
-		--Eth MAC WB Streaming signals
-		EB_RX_i	: in	wb32_slave_in;
-		EB_RX_o	: out	wb32_slave_out;
-
-		EB_TX_i	: in	wb32_master_in;
-		EB_TX_o	: out	wb32_master_out;
-
-		byte_count_rx_i			: in std_logic_vector(15 downto 0);
-		
-		dst_MAC_o			: out  std_logic_vector(47 downto 0);
-		dst_IP_o			: out  std_logic_vector(31 downto 0);
-		dst_PORT_o			: out  std_logic_vector(15 downto 0);
-
-		TOL_o				: out std_logic_vector(15 downto 0);
-		hex_switch_i		: in std_logic_vector(3 downto 0);
-
-		valid_o				: out std_logic
 
-);
-end component;
 
 
  begin
  
- debug_TX_TOL_o <= RXCTRL_2_TXCTRL_TOL;
- 
 
+ 
 
- DEBUG_sink1_valid <= (RXCTRL_2_EB_wb_master.STB AND NOT EB_2_RXCTRL_wb_slave.STALL);
- DEBUG_sink23_valid <=	 (DEBUG_WB_master_o.STB AND NOT  WB_master_i.STALL);
 
 
 
@@ -338,36 +288,17 @@ EB_2_RXCTRL_wb_master		<= wb32_master_in(EB_2_RXCTRL_wb_slave);
 RXCTRL_2_EB_wb_slave 		<= wb32_slave_in(RXCTRL_2_EB_wb_master);
 
 -- assign records to individual bus signals.
--- slave RX
-EB_RX_i.CYC 		<= snk_CYC_i;
-EB_RX_i.STB 		<= snk_STB_i;
-EB_RX_i.DAT 		<= snk_DAT_i;
-EB_RX_i.WE 		 <= snk_WE_i;
-EB_RX_i.ADR  <= snk_adr_i;
 
- 
-snk_STALL_o 			<= EB_RX_o.STALL;						
-snk_ERR_o 				<= EB_RX_o.ERR;
-snk_ACK_o 				<= EB_RX_o.ACK;
-
--- master TX
-src_CYC_o				<= EB_TX_o.CYC;
-src_STB_o				<= EB_TX_o.STB;
-src_DAT_o				<= EB_TX_o.DAT;
-src_WE_o				<= EB_TX_o.WE;
-EB_TX_i.STALL 	<= src_STALL_i;						
-EB_TX_i.ERR 		<= src_ERR_i;
-EB_TX_i.ACK 		<= src_ACK_i;
-
-master_cyc_o  <= DEBUG_WB_master_o.CYC;
-master_we_o   <= DEBUG_WB_master_o.WE;
-master_stb_o  <= DEBUG_WB_master_o.STB;
-master_sel_o  <= DEBUG_WB_master_o.SEL;
-master_adr_o  <= DEBUG_WB_master_o.ADR;
-master_dat_o  <= DEBUG_WB_master_o.DAT;
-WB_master_i.DAT   <= master_dat_i;
-WB_master_i.STALL   <= master_stall_i;
-WB_master_i.ACK   <= master_ack_i;
+
+master_o.cyc  <= DEBUG_WB_master_o.CYC;
+master_o.we   <= DEBUG_WB_master_o.WE;
+master_o.stb  <= DEBUG_WB_master_o.STB;
+master_o.sel  <= DEBUG_WB_master_o.SEL;
+master_o.adr  <= DEBUG_WB_master_o.ADR;
+master_o.dat  <= DEBUG_WB_master_o.DAT;
+WB_master_i.DAT   <= master_i.dat;
+WB_master_i.STALL   <= master_i.stall;
+WB_master_i.ACK   <= master_i.ack;
 
 
 
@@ -378,97 +309,10 @@ EXT_2_CFG_slave.WE  <= cfg_slave_we_i;
 EXT_2_CFG_slave.SEL <= cfg_slave_sel_i;
 EXT_2_CFG_slave.ADR <= cfg_slave_adr_i;
 EXT_2_CFG_slave.DAT <= cfg_slave_dat_i; 
-
 cfg_slave_ack_o     <= CFG_2_EXT_slave.ACK;
 cfg_slave_stall_o   <= CFG_2_EXT_slave.STALL;
 cfg_slave_err_o     <= CFG_2_EXT_slave.ERR; 
 cfg_slave_dat_o     <= CFG_2_EXT_slave.DAT;
-
-
-
-
-src_adr_o   <= (others => '0');
-src_sel_o   <= (others => '1');
-
-master : if(g_master_slave = "MASTER") generate
-
-	 minimaster : eb_mini_master
-	port map(
-		   --general
-		clk_i	=> clk_i,
-		nRst_i	=> nRst_i,
-
-		--Eth MAC WB Streaming signals
-		EB_RX_i	=> RXCTRL_2_EB_wb_slave,
-		EB_RX_o	=> EB_2_RXCTRL_wb_slave,
-
-		EB_TX_i	=> TXCTRL_2_EB_wb_master,
-		EB_TX_o	=> EB_2_TXCTRL_wb_master,
-
-		byte_count_rx_i		=> RXCTRL_2_TXCTRL_TOL,
-
-		dst_MAC_o			=> RXCTRL_2_TXCTRL_reply_MAC,
-		dst_IP_o			=> RXCTRL_2_TXCTRL_reply_IP,
-		dst_PORT_o			=> RXCTRL_2_TXCTRL_reply_PORT,
-		TOL_o				=> RXCTRL_2_TXCTRL_TOL,
-		hex_switch_i		=> hex_switch_i,
-		valid_o				=> RXCTRL_2_TXCTRL_valid
-	);  
-
-	 TXCTRL : EB_TX_CTRL
-	port map
-	(
-			clk_i             => clk_i,
-			nRST_i            => nRst_i, 
-			
-			--Eth MAC WB Streaming signals
-			wb_slave_i	=> EB_2_TXCTRL_wb_slave,
-			wb_slave_o	=> TXCTRL_2_EB_wb_slave,
-
-			src_o     =>	EB_TX_o,
-			src_i     =>  EB_TX_i,  --!
-			
-			reply_MAC_i			=> RXCTRL_2_TXCTRL_reply_MAC, 
-			reply_IP_i			=> RXCTRL_2_TXCTRL_reply_IP,
-			reply_PORT_i		=> RXCTRL_2_TXCTRL_reply_PORT,
-
-			TOL_i				=> RXCTRL_2_TXCTRL_TOL,
-			payload_len_i =>  RXCTRL_2_CORE_LEN,
-			
-			my_mac_i  => CFG_MY_MAC,
-		            my_ip_i   => CFG_MY_IP,
-		            my_port_i => CFG_MY_PORT,
-		            my_vlan_i => (others => '0'),
-		            
-			valid_i				=> RXCTRL_2_TXCTRL_valid
-			
-	);
-
-
-	RXCTRL: EB_RX_CTRL 
-	port map ( clk_i          => clk_i,
-								 nRst_i         => nRst_i,
-								 wb_master_i    => EB_2_RXCTRL_wb_master,
-								 wb_master_o    => RXCTRL_2_EB_wb_master,
-									 
-								 snk_o => EB_RX_o,
-								 snk_i => EB_RX_i,
-								 
-								 reply_MAC_o    => RXCTRL_2_TXCTRL_reply_MAC,
-								 reply_IP_o     => RXCTRL_2_TXCTRL_reply_IP,
-								 reply_PORT_o   => RXCTRL_2_TXCTRL_reply_PORT,
-								 TOL_o          => RXCTRL_2_TXCTRL_TOL,
-								 my_mac_i  => CFG_MY_MAC,
-		            my_ip_i   => CFG_MY_IP,
-		            my_port_i => CFG_MY_PORT,
-		            my_vlan_i => (others => '0'),
-								 valid_o        => RXCTRL_2_TXCTRL_valid);
-								 
-	
-
-end generate;
-
-slave : if(g_master_slave = "SLAVE") generate
 	 
 	  TXCTRL : EB_TX_CTRL
 	port map
@@ -480,8 +324,8 @@ slave : if(g_master_slave = "SLAVE") generate
 			wb_slave_i	=> EB_2_TXCTRL_wb_slave,
 			wb_slave_o	=> TXCTRL_2_EB_wb_slave,
 
-			src_o     =>	EB_TX_o,
-			src_i     =>  EB_TX_i,  --!
+			src_o     =>	src_o,
+			src_i     =>  src_i,  --!
 			
 			reply_MAC_i			=> RXCTRL_2_TXCTRL_reply_MAC, 
 			reply_IP_i			=> RXCTRL_2_TXCTRL_reply_IP,
@@ -506,8 +350,8 @@ slave : if(g_master_slave = "SLAVE") generate
 								 wb_master_i    => EB_2_RXCTRL_wb_master,
 								 wb_master_o    => RXCTRL_2_EB_wb_master,
 									 
-								 snk_o => EB_RX_o,
-								 snk_i => EB_RX_i,
+								 snk_o => snk_o,
+								 snk_i => snk_i,
 								 
 								 reply_MAC_o    => RXCTRL_2_TXCTRL_reply_MAC,
 								 reply_IP_o     => RXCTRL_2_TXCTRL_reply_IP,
@@ -571,7 +415,4 @@ slave : if(g_master_slave = "SLAVE") generate
 		eb_slave_i        => eb_2_CFG_slave
     );
 
- 
-end generate;
-
 end behavioral; 
-- 
GitLab