Good question, The WMemI is designed to be agnostic to what kind of memory is provided by the infrastructure to the application. It would be pretty easy to write a WMemI server using BRAMs. But since BRAMs can easily be used in workers by application; we have had no rationale to write one yet, other than perhaps to test. At the moment we use WMemI to expose the FPGA-attached DRAM; which is more of a limited, platform resource, than BRAM.
If you wanted to write a worker that "didn't care" weather it used BRAM or DRAM, you could write it to WMemI and then just attach whichever you choose. That said, some users of BRAM wish to use FPGA-vendor specific features (ECC, FIFO, Write/Read modes) that are not exposed in WMemI, and so just use the BRAM directly. (And rewrite when DRAM is needed). Does that help? -Shep On Mon, Jun 20, 2011 at 11:44 AM, Albert Kwon <[email protected]>wrote: > ** > Hi Shep and Jim, > > I think I'm starting to understand this better now, but I have a > question about Worker Memory Interface. On the documents, it says > "Thus infrastructure can supply the type of memory that is available > and appropriate, without the application worker making the choice > explicit." > > But if I do want to specify the use of only BRAM (or DRAM in some > cases), how do I do so? > > Thanks, > Albert > > > > On 06/16/2011 04:47 PM, Shepard Siegel wrote: > > Albert, > > The good news is that the example you have running is a probably a superset > of the requirements you've stated below. For example, the data planes exist > to move messages to and from message buffers (which happen to be BRAMs). Jim > is better at leading people through this maze; but a good place to start is > some of the doc we have here: > http://opencpi.org/documentation.php > You should at least read the summary and all the "HDL" docs (or at least > leaf through them). > We have made sub-setted the industry standard opcip.org convention with > our worker interface profiles (WIPs). > Writing a new worker in the HDL of your choice; especially if it is close > to some of our examples and "choices", is pretty easy. > But we will let you be the judge of that. > > -Shep > > > On Thu, Jun 16, 2011 at 3:49 PM, Albert Kwon <[email protected]>wrote: > >> Hi Shep, >> >> The two biggest things we'd like to do through PCIe 1. manipulate >> contents of some BRAMs, and 2. get certain values from / send values to the >> top module of the processor. Do you have any sample codes that we could take >> a look at by any chance? An existing working code will be very helpful to me >> and Udit in figuring out how OpenCPI works, and what we can do with them. >> >> Thanks again. >> Albert >> > > >
_______________________________________________ opencpi_dev mailing list [email protected] http://lists.opencpi.org/listinfo.cgi/opencpi_dev-opencpi.org
