From 453c977d93688ef074a2669576f0b7ffdaa6b774 Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" <w.terpstra@gsi.de> Date: Mon, 5 Mar 2012 15:03:19 +0100 Subject: [PATCH] Print the bus mapping in compile logs. Eliminate warning about constant zero. Use the aliases generic array. --- modules/wishbone/wb_crossbar/xwb_crossbar.vhd | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/modules/wishbone/wb_crossbar/xwb_crossbar.vhd b/modules/wishbone/wb_crossbar/xwb_crossbar.vhd index 266fc2f7..b434834b 100644 --- a/modules/wishbone/wb_crossbar/xwb_crossbar.vhd +++ b/modules/wishbone/wb_crossbar/xwb_crossbar.vhd @@ -77,19 +77,25 @@ architecture rtl of xwb_crossbar is function f_ranges_ok return boolean is - variable zero : t_wishbone_address := (others => '0'); + constant zero : t_wishbone_address := (others => '0'); begin for i in 0 to g_num_slaves-2 loop for j in i+1 to g_num_slaves-1 loop - assert not (((g_mask(i) and g_mask(j)) and (g_address(i) xor g_address(j))) = zero) + assert not (((c_mask(i) and c_mask(j)) and (c_address(i) xor c_address(j))) = zero) report "Address ranges must be distinct (slaves " & - Integer'image(i) & "[" & Integer'image(to_integer(unsigned(g_address(i)))) & "/" & - Integer'image(to_integer(unsigned(g_mask(i)))) & "] & " & - Integer'image(j) & "[" & Integer'image(to_integer(unsigned(g_address(j)))) & "/" & - Integer'image(to_integer(unsigned(g_mask(j)))) & "])" + Integer'image(i) & "[" & Integer'image(to_integer(unsigned(c_address(i)))) & "/" & + Integer'image(to_integer(unsigned(c_mask(i)))) & "] & " & + Integer'image(j) & "[" & Integer'image(to_integer(unsigned(c_address(j)))) & "/" & + Integer'image(to_integer(unsigned(c_mask(j)))) & "])" severity Failure; end loop; end loop; + for i in 0 to g_num_slaves-1 loop + report "Mapping slave #" & + Integer'image(i) & "[" & Integer'image(to_integer(unsigned(c_address(i)))) & "/" & + Integer'image(to_integer(unsigned(c_mask(i)))) & "]" + severity Note; + end loop; return true; end f_ranges_ok; constant c_ok : boolean := f_ranges_ok; -- GitLab