Commit cd879ba4 authored by Wesley W. Terpstra's avatar Wesley W. Terpstra

Found and squashed a nasty bug where the WB bus could stall.

The problem was that the WR core did not expose the err and rty lines.
If a device ever used these lines (the crossbar does for example),
then the master would get hung waiting for an answer.
parent 53045de6
......@@ -165,6 +165,8 @@ entity wr_core is
wb_cyc_i : in std_logic := '0';
wb_stb_i : in std_logic := '0';
wb_ack_o : out std_logic;
wb_err_o : out std_logic;
wb_rty_o : out std_logic;
wb_stall_o : out std_logic;
-----------------------------------------
......@@ -724,6 +726,8 @@ begin
sl_we_i => wb_we_i,
sl_dat_o => wb_dat_o,
sl_ack_o => wb_ack_o,
sl_err_o => wb_err_o,
sl_rty_o => wb_rty_o,
sl_stall_o => wb_stall_o);
-----------------------------------------------------------------------------
......
......@@ -253,6 +253,8 @@ architecture struct of xwr_core is
wb_cyc_i : in std_logic;
wb_stb_i : in std_logic;
wb_ack_o : out std_logic;
wb_err_o : out std_logic;
wb_rty_o : out std_logic;
wb_stall_o : out std_logic;
ext_snk_adr_i : in std_logic_vector(1 downto 0) := "00";
......@@ -367,6 +369,8 @@ begin
wb_cyc_i => slave_i.cyc,
wb_stb_i => slave_i.stb,
wb_ack_o => slave_o.ack,
wb_err_o => slave_o.err,
wb_rty_o => slave_o.rty,
wb_stall_o => slave_o.stall,
ext_snk_adr_i => wrf_snk_i.adr,
......@@ -414,8 +418,6 @@ begin
timestamps_o.port_id(5) <= '0';
slave_o.err <= '0';
slave_o.rty <= '0';
slave_o.int <= '0';
wrf_snk_o.rty <= '0';
......
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