12. Portal Package¶
12.1. PipePortal Interface¶
-
interface
Portal::PipePortal(numeric type numRequests, numeric type numIndications, numeric type slaveDataWidth)¶ -
messageSize(Bit#(16) methodNumber) → Bit#(16)¶ Returns the message size of the methodNumber method of the portal.
-
requests→ Vector#(numRequests, PipeIn#(Bit#(slaveDataWidth)))¶
-
indications→ Vector#(numIndications, PipeOut#(Bit#(slaveDataWidth)))¶
-
12.2. MemPortal Interface¶
-
interface
Portal::MemPortal(numeric type slaveAddrWidth, numeric type slaveDataWidth)¶ -
slave→ PhysMemSlave#(slaveAddrWidth,slaveDataWidth)¶
-
interrupt→ ReadOnly#(Bool)¶
-
top→ WriteOnly#(Bool)¶
-
-
function
Portal::getSlave(MemPortal#(_a, _d) p) → PhysMemSlave(_a,_d)¶
-
function
Portal::getInterrupt(MemPortal#(_a, _d) p) → ReadOnly#(Bool)¶
-
function
Portal::getInterruptVector(Vector#(numPortals, MemPortal#(_a, _d)) portals) → Vector#(16,ReadOnly#(Bool))¶
12.4. ConnectalTop Interface¶
-
interface
Portal::ConnectalTop(numeric type addrWidth, numeric type dataWidth, type pins, numeric type numMasters)¶ Interface ConnectalTop is the interface exposed by the top module of a Connectal hardware design.
-
slave→ PhysMemSlave#(32,32)¶
-
masters→ Vector#(numMasters,PhysMemMaster#(addrWidth, dataWidth))¶
-
interrupt→ Vector#(16,ReadOnly#(Bool))¶
-
leds→ LEDS¶
-
pins→ pins¶
-
12.5. StdConnectalTop Typedef¶
-
typedef
Portal::StdConnectalTop(numeric type addrWidth) → ConnectalTop#(addrWidth,64,Empty,0)¶ Type StdConnectalTop indicates a Connectal hardware design with no user defined pins and no user of host shared memory. The “pins” interface is Empty and the number of masters is 0.
-
typedef
Portal::StdConnectalDmaTop(numeric type addrWidth) → ConnectalTop#(addrWidth,64,Empty,1)¶ Type StdConnectalDmaTop indicates a Connectal hardware design with no user defined pins and a single client of host shared memory. The “pins” interface is Empty and the number of masters is 1.