fix tuple memory map
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 27 Jul 2018 11:16:45 +0000 (12:16 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 27 Jul 2018 11:16:45 +0000 (12:16 +0100)
src/lib/MemoryMap.bsv

index f664200..8d1c2a9 100644 (file)
@@ -34,26 +34,26 @@ package MemoryMap;
        import SoC::*;
        import slow_peripherals::*;
        `include "instance_defines.bsv"
-       `include "core_defines.bsv"
+       `include "core_parameters.bsv"
        /*========================= */
 
 
 function Tuple2 #(Bool, Bit#(TLog#(Num_Slaves)))
                     fn_addr_to_slave_num  (Bit#(`PADDR) addr);
 
-    Bool isfast;
-    Bit#(TLog#(Num_Slaves) y;
-    FastTuple2(isfast, y);
-    if (isfast)
-        return tuple2(isfast, y);
+    let ft = FastTuple2;
+    Bool isfast = tpl_1(ft);
+    Bit#(TLog#(Num_Slaves)) x = tpl_2(ft);
 
-    Bool isslow;
-    Bit#(TLog#(Num_Slow_Slaves) y;
-    SlowTuple2(isslow, y);
-    if (isslow)
+    let st = SlowTuple2;
+    Bool isslow = tpl_1(st);
+    Bit#(TLog#(Num_Slow_Slaves)) y = tpl_2(st);
+    if (isfast)
+        return tuple2(isfast, x);
+    else if (isslow)
         return tuple2(True,fromInteger(valueOf(SlowPeripheral_slave_num)));
-
-    return tuple2(False,?);
+    else
+        return tuple2(False,?);
 
 endfunction