Commit f4238964 authored by Marek Gumiński's avatar Marek Gumiński

Changed data width in xswc_core

parent e21fe545
......@@ -61,26 +61,26 @@ entity xswc_core is
g_interface_mode : t_wishbone_interface_mode := PIPELINED;
g_address_granularity : t_wishbone_address_granularity := BYTE;
g_prio_num : integer ;--:= c_swc_output_prio_num; [works only for value of 8, output_block-causes problem]
g_output_queue_num : integer ;
g_max_pck_size : integer ;-- in 16bits words --:= c_swc_max_pck_size
g_max_oob_size : integer ;
g_num_ports : integer ;--:= c_swc_num_ports
g_pck_pg_free_fifo_size : integer ; --:= c_swc_freeing_fifo_size (in pck_pg_free_module.vhd)
g_input_block_cannot_accept_data : string ;--:= "drop_pck"; --"stall_o", "rty_o" -- (xswc_input_block) Don't CHANGE !
g_output_block_per_queue_fifo_size : integer ; --:= c_swc_output_fifo_size (xswc_output_block)
g_prio_num : integer := 8;--:= c_swc_output_prio_num; [works only for value of 8, output_block-causes problem]
g_output_queue_num : integer := 8;
g_max_pck_size : integer := 10 * 1024;-- in 16bits words --:= c_swc_max_pck_size
g_max_oob_size : integer := 3;
g_num_ports : integer := 7;--:= c_swc_num_ports
g_pck_pg_free_fifo_size : integer := 512; --:= c_swc_freeing_fifo_size (in pck_pg_free_module.vhd)
g_input_block_cannot_accept_data : string := "drop_pck";--:= "drop_pck"; --"stall_o", "rty_o" -- (xswc_input_block) Don't CHANGE !
g_output_block_per_queue_fifo_size : integer := 64; --:= c_swc_output_fifo_size (xswc_output_block)
-- new
g_wb_data_width : integer ;
g_wb_addr_width : integer ;
g_wb_sel_width : integer ;
g_wb_ob_ignore_ack : boolean := true ;
g_mpm_mem_size : integer ; -- in 16bits words
g_mpm_page_size : integer ; -- in 16bits words
g_mpm_ratio : integer ;
g_mpm_fifo_size : integer ;
g_mpm_fetch_next_pg_in_advance : boolean ;
g_drop_outqueue_head_on_full : boolean ;
g_wb_data_width : integer := 16;
g_wb_addr_width : integer := 2;
g_wb_sel_width : integer := 2;
g_wb_ob_ignore_ack : boolean := false ;
g_mpm_mem_size : integer := 65536; -- in 16bits words
g_mpm_page_size : integer := 64; -- in 16bits words
g_mpm_ratio : integer := 8;
g_mpm_fifo_size : integer := 8;
g_mpm_fetch_next_pg_in_advance : boolean := false;
g_drop_outqueue_head_on_full : boolean := true;
g_num_global_pause : integer := 2;
g_num_dbg_vector_width : integer := 32
);
......
......@@ -398,7 +398,7 @@ architecture syn of xswc_input_block is
-- pWB interface (i/o singals)
-- input
signal snk_dat_int : std_logic_vector(15 downto 0);
signal snk_dat_int : std_logic_vector(63 downto 0);
signal snk_adr_int : std_logic_vector(1 downto 0);
signal snk_sel_int : std_logic_vector(1 downto 0);
signal snk_cyc_int : std_logic;
......@@ -708,7 +708,7 @@ begin --archS_PCKSTART_SET_AND_REQ
in_pck_dvalid <= snk_stb_int and snk_we_int and snk_cyc_int and not snk_stall_int;
-- we store in FBM addr and data
in_pck_dat <= snk_adr_int & snk_dat_int;
in_pck_dat <= snk_adr_int & snk_dat_int(15 downto 0);
-- detecting the end of the pck
-- it is enough always, except special case when we receive eof during PAUSE state,
......
......@@ -799,7 +799,8 @@ begin -- behavoural
if(src_i.stall = '0') then
if(mpm_dvalid_i = '1') then -- a avoid copying crap (i.e. XXX)
src_out_int.adr <= mpm2wb_adr_int;
src_out_int.dat <= mpm2wb_dat_int;
src_out_int.dat <= (others => '0');
src_out_int.dat(15 downto 0) <= mpm2wb_dat_int;
src_out_int.sel <= mpm2wb_sel_int;
end if;
src_out_int.stb <= mpm_dvalid_i;
......@@ -819,7 +820,8 @@ begin -- behavoural
elsif(abord_tx_at_hp = '1' and mpm_dlast_i = '0') then -- drop at HP in the outqueue
s_send_pck <= S_FINISH_CYCLE; -- we free page in EOF
src_out_int.adr <= c_WRF_STATUS;
src_out_int.dat <= f_marshall_wrf_status(wrf_status_err);
src_out_int.dat <= (others => '0');
src_out_int.dat(15 downto 0) <= f_marshall_wrf_status(wrf_status_err);
src_out_int.sel <= (others => '1');
src_out_int.stb <= '1';
elsif(src_i.stall = '1' and mpm_dvalid_i = '1') then
......@@ -847,7 +849,8 @@ begin -- behavoural
src_out_int.cyc <= '0';
src_out_int.stb <= '0';
elsif(src_i.stall = '0') then
src_out_int.dat <= tmp_dat;
src_out_int.dat <= (others => '0');
src_out_int.dat(15 downto 0) <= tmp_dat;
src_out_int.adr <= tmp_adr;
src_out_int.stb <= '1';
src_out_int.sel <= tmp_sel;
......
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