From 285a25132ec7fe0e3af05f0a5be011b00a10aefb Mon Sep 17 00:00:00 2001 From: tmeissner Date: Tue, 2 Dec 2014 13:59:09 +0100 Subject: [PATCH] react to slave ack in ADDRESS state --- syn/WishBoneMasterE.vhd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/syn/WishBoneMasterE.vhd b/syn/WishBoneMasterE.vhd index 4d60b52..eeb971c 100644 --- a/syn/WishBoneMasterE.vhd +++ b/syn/WishBoneMasterE.vhd @@ -62,10 +62,10 @@ begin end if; when ADDRESS => - if (WbErr_i = '0') then - s_wb_master_fsm <= DATA; - else + if (WbAck_i = '1' or WbErr_i = '1') then s_wb_master_fsm <= IDLE; + else + s_wb_master_fsm <= DATA; end if; when DATA => @@ -85,7 +85,7 @@ begin --+ combinatoral local register if outputs LocalData_o <= WbDat_i when s_wb_master_fsm = DATA else (others => '0'); LocalError_o <= WbErr_i when s_wb_master_fsm /= IDLE else '0'; - LocalAck_o <= WbAck_i when s_wb_master_fsm = DATA and WbErr_i = '0' else '0'; + LocalAck_o <= WbAck_i when (s_wb_master_fsm = ADDRESS or s_wb_master_fsm = DATA) and WbErr_i = '0' else '0'; --+ combinatoral wishbone if outputs WbStb_o <= '1' when s_wb_master_fsm /= IDLE else '0';