BlueNoC to connect portal interfaces

17 views
Skip to first unread message

Jamey Hicks

unread,
Jan 9, 2015, 3:53:05 PM1/9/15
to connectal

We've had some discussion about using BlueNoC in the context of Connectal.

To try get the conversion going in a more concrete direction, I made a first cut at modules to expose a portal as a BlueNoC MsgSink (for requests) or MsgSource (for indications).

See bsv/BnocPortal.bsv for the implementations.

I made a new example that uses this: examples/simplebnoc

The mkSimple module is just a pass-through -- its indication interface is the same as its request interface.

In simplebnoc/Top.bsv, I instantiate two mkSimple, and use a BlueNoC link to connect the two together.

Software sends requests to simple1 via the simple1Wrapper and receives responses from simple2 via simple2Proxy.

SimpleProxy is a memory-mapped MemPortal while SimpleProxyPortal is a PipePortal -- a vector of PipeIn. Correspondingly, SimpleWrapper is a memory-mapped MemPortal while SimpleWrapperPortal contains a vector of PipeOut.

One problem I ran into in this example is that one of the methods has a 256 byte payload. So I stuck to our usual encoding and encoded length in words rather than length in bytes. I could modify the code to send multiple messages for such methods.

-Jamey



Reply all
Reply to author
Forward
0 new messages