X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/raggedstone/blobdiff_plain/ebba63a9f3199fec28ffd25951257b6619feb8bf..29e2611580bbb559863091364a79e8fa3187c471:/dhwk_old/source/top_dhwk.vhd?ds=inline

diff --git a/dhwk_old/source/top_dhwk.vhd b/dhwk_old/source/top_dhwk.vhd
index 7c965c1..13de352 100644
--- a/dhwk_old/source/top_dhwk.vhd
+++ b/dhwk_old/source/top_dhwk.vhd
@@ -1,43 +1,8 @@
---+-------------------------------------------------------------------------------------------------+
---|																									|
---|  File:			top.vhd                       		                                   	|
---|																									|
---|  Components:	pci32lite.vhd                                                                   |
---|		            pciwbsequ.vhd           														|
---|		            pcidmux.vhd           															|
---|		            pciregs.vhd           															|
---|		            pcipargen.vhd          															|
---|		            -- Libs --             															|
---|		            ona.vhd		          															|
---|																									|
---|	 Description:	RS1 PCI Demo : (TOP) Main file.						 				        |
---| 				 																				|
---|					                														        |
---|																									|
---+-------------------------------------------------------------------------------------------------+
---|																									|
---|  Revision history :																				|
---|  Date 		  Version	Author	Description														|
---|																									|
---|																									|
---|  To do:																 							|
---|																									|
---+-------------------------------------------------------------------------------------------------+
-
-
---+-----------------------------------------------------------------------------+
---|									LIBRARIES									|
---+-----------------------------------------------------------------------------+
-
 library ieee;
 use ieee.std_logic_1164.all;
 use ieee.std_logic_arith.all;
 use ieee.std_logic_unsigned.all;
 
---+-----------------------------------------------------------------------------+
---|									ENTITY   									|
---+-----------------------------------------------------------------------------+
-
 entity dhwk is
 port (
 
@@ -69,17 +34,9 @@ port (
 end dhwk;
 
 
---+-----------------------------------------------------------------------------+
---|									ARCHITECTURE								|
---+-----------------------------------------------------------------------------+
-
 architecture dhwk_arch of dhwk is
 
 
---+-----------------------------------------------------------------------------+
---|									COMPONENTS									|
---+-----------------------------------------------------------------------------+
-
 component pci32tlite
 port (
 
@@ -131,31 +88,70 @@ port (
 );
 end component;
 
+component generic_fifo_sc_a
+port (
+	clk		: in std_logic;
+	rst		: in std_logic;
+	clr		: in std_logic;
+	din		: in std_logic_vector(7 downto 0);
+	we		: in std_logic;
+	dout		: out std_logic_vector(7 downto 0);
+	re		: in std_logic;
+	full		: out std_logic;
+	full_r		: out std_logic;
+	empty		: out std_logic;
+	empty_r		: out std_logic;
+	full_n		: out std_logic;
+	full_n_r	: out std_logic;
+	empty_n		: out std_logic;
+	empty_n_r	: out std_logic;
+	level		: out std_logic_vector(1 downto 0)
+);
+end component;
 
---+-----------------------------------------------------------------------------+
---|									CONSTANTS  									|
---+-----------------------------------------------------------------------------+
---+-----------------------------------------------------------------------------+
---|									SIGNALS   									|
---+-----------------------------------------------------------------------------+
+component wb_fifo
+port (
+	clk_i		: in std_logic;
+	nrst_i		: in std_logic;
+	
+	wb_adr_i	: in std_logic_vector(24 downto 1);
+	wb_dat_o	: out std_logic_vector(15 downto 0);
+	wb_dat_i	: in std_logic_vector(15 downto 0);
+	wb_sel_i	: in std_logic_vector(1 downto 0);
+	wb_we_i		: in std_logic;
+	wb_stb_i	: in std_logic;
+	wb_cyc_i	: in std_logic;
+	wb_ack_o	: out std_logic;
+	wb_err_o	: out std_logic;
+	wb_int_o	: out std_logic;
+	
+	fifo_data_i	: in std_logic_vector(7 downto 0);
+	fifo_data_o     : out std_logic_vector(7 downto 0);
+
+	fifo_we_o	: out std_logic;
+	fifo_re_o	: out std_logic
+);
+end component;
 
-	signal 	wb_adr :		std_logic_vector(24 downto 1);   
-	signal	wb_dat_out :	std_logic_vector(15 downto 0);
- 	signal 	wb_dat_in :		std_logic_vector(15 downto 0);
-	signal	wb_sel :		std_logic_vector(1 downto 0);
- 	signal  wb_we :			std_logic;
-	signal	wb_stb :		std_logic;
-	signal	wb_cyc :		std_logic;
-	signal	wb_ack :		std_logic;
-	signal	wb_err :		std_logic;
-	signal	wb_int :		std_logic;
+signal 	wb_adr :		std_logic_vector(24 downto 1);   
+signal	wb_dat_out :	std_logic_vector(15 downto 0);
+signal 	wb_dat_in :		std_logic_vector(15 downto 0);
+signal	wb_sel :		std_logic_vector(1 downto 0);
+signal  wb_we :			std_logic;
+signal	wb_stb :		std_logic;
+signal	wb_cyc :		std_logic;
+signal	wb_ack :		std_logic;
+signal	wb_err :		std_logic;
+signal	wb_int :		std_logic;
+
+signal fifo_din		: std_logic_vector(7 downto 0);
+signal fifo_dout	: std_logic_vector(7 downto 0);
+signal fifo_we		: std_logic;
+signal fifo_re		: std_logic;
 
 
-begin
 
---+-----------------------------------------+
---|  PCI Target 							|
---+-----------------------------------------+
+begin
 
 u_pci: component pci32tlite
 port map(
@@ -185,11 +181,50 @@ port map(
 		wb_int_i =>		wb_int
 --		debug_init =>	LED3,
 --		debug_access =>	LED2
-		);
+);
 
---+-----------------------------------------+
---|  WB-7seg             					|
---+-----------------------------------------+
+my_generic_fifo: component generic_fifo_sc_a
+port map(
+	clk		=> PCI_CLK,
+	rst		=> PCI_nRES,
+	clr		=> '0',
+	din		=> fifo_din,
+	we		=> fifo_we,
+	dout		=> fifo_dout,
+	re		=> fifo_re
+--	full		=> ,
+--	full_r		=> ,
+--	empty		=> ,
+--	empty_r		=> ,
+--	full_n		=> ,
+--	full_n_r	=> ,
+--	empty_n		=> ,
+--	empty_n_r	=> ,
+--	level		=> ,
+);
+
+my_fifo: component wb_fifo
+port map(
+	clk_i		 => PCI_CLK,
+	nrst_i		 => PCI_nRES,
+
+	wb_adr_i	 => wb_adr,
+	wb_dat_o	 => wb_dat_out,
+	wb_dat_i	 => wb_dat_in,
+	wb_sel_i	 => wb_sel,
+	wb_we_i		 => wb_we,
+	wb_stb_i	 => wb_stb,
+	wb_cyc_i	 => wb_cyc,
+	wb_ack_o	 => wb_ack,
+	wb_err_o	 => wb_err,
+	wb_int_o	 => wb_int,
+
+	fifo_data_i	 => fifo_dout,
+	fifo_data_o      => fifo_din,
+
+	fifo_we_o	 => fifo_we,
+	fifo_re_o	 => fifo_re
+);
 
 my_heartbeat: component heartbeat
 port map(