anchor.diff:  import Leds              :: *;
   import Top               :: *;
   import AxiMasterSlave    :: *;
  +import Dma               :: *;
   import AxiDma            :: *;
   
   // implemented in BsimCtrl.cxx
  
positive.code: interface BsimHost#(numeric type clientAddrWidth, numeric type clientBusWidth, numeric type clientIdWidth,  
  		    numeric type serverAddrWidth, numeric type serverBusWidth, numeric type serverIdWidth,
  		    numeric type nSlaves);
     interface Axi3Master#(clientAddrWidth, clientBusWidth, clientIdWidth)  axi_client;
     interface Vector#(nSlaves,Axi3Slave#(serverAddrWidth,  serverBusWidth, serverIdWidth))  axi_servers;
  endinterface
  		 
  
negative.code:    BsimHost#(32,32,12,40,dsz,6,nMasters) host <- mkBsimHost;
     PortalTop#(40,dsz,Empty,nMasters) top <- mkPortalTop;
     Vector#(nMasters,Axi3Master#(40,dsz,6)) m_axis <- mapM(mkAxiDmaMaster,top.masters);
     mkConnection(host.mem_client, top.slave);
     mapM(uncurry(mkConnection),zip(m_axis, host.axi_servers));
  
     // mkConnection(m_axis[0].req_ar, host.axi_servers[0].req_ar);
  