From 07071eb5c10c59a8b866a70605af65d90172515c Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" <w.terpstra@gsi.de> Date: Thu, 21 Apr 2016 18:28:46 +0200 Subject: [PATCH] crossbar: silence a warning for crossbars with 1 slave --- modules/wishbone/wb_crossbar/xwb_crossbar.vhd | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/modules/wishbone/wb_crossbar/xwb_crossbar.vhd b/modules/wishbone/wb_crossbar/xwb_crossbar.vhd index ba9e361f..21feb5d6 100644 --- a/modules/wishbone/wb_crossbar/xwb_crossbar.vhd +++ b/modules/wishbone/wb_crossbar/xwb_crossbar.vhd @@ -82,19 +82,21 @@ architecture rtl of xwb_crossbar is constant zero : t_wishbone_address := (others => '0'); begin -- all (i,j) with 0 <= i < j < n - for i in 0 to g_num_slaves-2 loop - for j in i+1 to g_num_slaves-1 loop - assert not (((c_mask(i) and c_mask(j)) and (c_address(i) xor c_address(j))) = zero) or - ((c_mask(i) or not c_address(i)) = zero) or -- disconnected slave? - ((c_mask(j) or not c_address(j)) = zero) -- disconnected slave? - report "Address ranges must be distinct (slaves " & - Integer'image(i) & "[" & f_bits2string(c_address(i)) & "/" & - f_bits2string(c_mask(i)) & "] & " & - Integer'image(j) & "[" & f_bits2string(c_address(j)) & "/" & - f_bits2string(c_mask(j)) & "])" - severity Failure; + if g_num_slaves > 1 then + for i in 0 to g_num_slaves-2 loop + for j in i+1 to g_num_slaves-1 loop + assert not (((c_mask(i) and c_mask(j)) and (c_address(i) xor c_address(j))) = zero) or + ((c_mask(i) or not c_address(i)) = zero) or -- disconnected slave? + ((c_mask(j) or not c_address(j)) = zero) -- disconnected slave? + report "Address ranges must be distinct (slaves " & + Integer'image(i) & "[" & f_bits2string(c_address(i)) & "/" & + f_bits2string(c_mask(i)) & "] & " & + Integer'image(j) & "[" & f_bits2string(c_address(j)) & "/" & + f_bits2string(c_mask(j)) & "])" + severity Failure; + end loop; end loop; - end loop; + end if; for i in 0 to g_num_slaves-1 loop report "Mapping slave #" & Integer'image(i) & "[" & f_bits2string(c_address(i)) & "/" & -- GitLab