From 3fffa6efe3769d70fdc99fd7046a0eb243e80957 Mon Sep 17 00:00:00 2001 From: Markus Koch Date: Thu, 2 Mar 2017 09:31:05 +0100 Subject: [PATCH] Added address masking to crossbar switch --- ip/intercon/rtl/crossbar_v3.vhd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ip/intercon/rtl/crossbar_v3.vhd b/ip/intercon/rtl/crossbar_v3.vhd index 785e7fc..7555115 100644 --- a/ip/intercon/rtl/crossbar_v3.vhd +++ b/ip/intercon/rtl/crossbar_v3.vhd @@ -174,7 +174,8 @@ architecture rtl of crossbar is DAT => acc.DAT or (slave_i(master).DAT and granted_data)); end loop; -- acc.ADR := std_logic_vector(unsigned(acc.ADR) - unsigned(address(slave))); -- Address translation - o <= acc; + acc.ADR := acc.ADR and not mask(slave); -- Address masking + o <= acc; end slave_logic; -- Select the slave pins the master will receive