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