|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
RX Buffer Pointer / Memory QuestionI have a basic operational question with the receive buffer pointer and
memory. When the core is receiving packets and sends the data to memory how does it know where to place it. My guess is that it places the memory into specific locations and it is up to the processor to remove the data before it is full or over written. Is this the case? If someone could let me know how this operation works I would be greatly appreciative. Thanks, DeWayne _______________________________________________ http://www.opencores.org/mailman/listinfo/ethmac |
|
|
Re: RX Buffer Pointer / Memory QuestionYou can get this information by reading the user manual for the
ethmac. Basically the MAC uses descriptors to control the DMA controllers. There are several fields in the descriptor that instruct the MAC's DMA controllers what to do. Essentially the processer loads a memory address into the descriptor. Then it sets a bit in the descriptor to indicate to the DMA controller that the descriptor is valid and ready for use. When the MAC receives a packet and transfers the data to the specified memory address it clears the bit in the descriptor to indicate to the processor that it has finished the transfer. The MAC's DMA controller will not do anything with that descriptor until the processor sets the valid bit. If an RX packet comes in and there is no valid descriptor for the MAC to use, the packet will be buffered. If the buffer fills up, subsequent packets will be discarded. Jake On Wed, Jul 9, 2008 at 3:57 PM, <heedaf@...> wrote: > I have a basic operational question with the receive buffer pointer and > memory. When the core is receiving packets and sends the data to > memory how does it know where to place it. My guess is that it places > the memory into specific locations and it is up to the processor to > remove the data before it is full or over written. Is this the case? > If someone could let me know how this operation works I would be > greatly appreciative. > Thanks, > DeWayne > _______________________________________________ > http://www.opencores.org/mailman/listinfo/ethmac > http://www.opencores.org/mailman/listinfo/ethmac |
|
|
|
|
|
Re: RX Buffer Pointer / Memory QuestionThey are located in the RAM. Not in registers.
Regards, Igor On 7/10/08, heedaf@... <heedaf@...> wrote: > So the external processor tells the ethmac core where to place > incoming data into memory and this is done for each incoming backet? > > Also, I've also been trying to find the Receive Pointer Register (RXPNT) > but I can't find it anywhere. Do you know what module it is located in? > Thanks again, > DeWayne > > > ----- Original Message ----- > From: Jakob Jones<jrjonsie@g...> > To: > Date: Thu Jul 10 17:48:17 CEST 2008 > Subject: [ethmac] RX Buffer Pointer / Memory Question > >> You can get this information by reading the user manual for the >> ethmac. Basically the MAC uses descriptors to control the DMA >> controllers. There are several fields in the descriptor that >> instruct >> the MAC's DMA controllers what to do. Essentially the processer >> loads >> a memory address into the descriptor. Then it sets a bit in the >> descriptor to indicate to the DMA controller that the descriptor is >> valid and ready for use. When the MAC receives a packet and >> transfers >> the data to the specified memory address it clears the bit in the >> descriptor to indicate to the processor that it has finished the >> transfer. The MAC's DMA controller will not do anything with that >> descriptor until the processor sets the valid bit. >> If an RX packet comes in and there is no valid descriptor for the >> MAC >> to use, the packet will be buffered. If the buffer fills up, >> subsequent packets will be discarded. >> Jake >> On Wed, Jul 9, 2008 at 3:57 PM, <heedaf at excite.com> wrote: >> > I have a basic operational question with the receive buffer >> pointer and >> > memory. When the core is receiving packets and sends the data >> to >> > memory how does it know where to place it. My guess is that it >> places >> > the memory into specific locations and it is up to the >> processor to >> > remove the data before it is full or over written. Is this the >> case? >> > If someone could let me know how this operation works I would >> be >> > greatly appreciative. >> > Thanks, >> > DeWayne >> > _______________________________________________ >> > http://www.opencores.org/mailman/listinfo/ethmac >> > >> >> > _______________________________________________ > http://www.opencores.org/mailman/listinfo/ethmac > http://www.opencores.org/mailman/listinfo/ethmac |
|
|
Re: RX Buffer Pointer / Memory QuestionYou need to read the specifications document "eth_speci.pdf". All
information pertaining to a DMA transfer to/from the MAC is stored in a descriptor. There are 128 total descriptors available. The descriptors are stored in memory internal to the MAC core. The "eth_speci.pdf" document details which bits of the descriptors perform what functions (including the RX pointer). On Thu, Jul 10, 2008 at 1:49 PM, <heedaf@...> wrote: > So the external processor tells the ethmac core where to place > incoming data into memory and this is done for each incoming backet? > > Also, I've also been trying to find the Receive Pointer Register (RXPNT) > but I can't find it anywhere. Do you know what module it is located in? > Thanks again, > DeWayne > > > ----- Original Message ----- > From: Jakob Jones<jrjonsie@g...> > To: > Date: Thu Jul 10 17:48:17 CEST 2008 > Subject: [ethmac] RX Buffer Pointer / Memory Question > >> You can get this information by reading the user manual for the >> ethmac. Basically the MAC uses descriptors to control the DMA >> controllers. There are several fields in the descriptor that >> instruct >> the MAC's DMA controllers what to do. Essentially the processer >> loads >> a memory address into the descriptor. Then it sets a bit in the >> descriptor to indicate to the DMA controller that the descriptor is >> valid and ready for use. When the MAC receives a packet and >> transfers >> the data to the specified memory address it clears the bit in the >> descriptor to indicate to the processor that it has finished the >> transfer. The MAC's DMA controller will not do anything with that >> descriptor until the processor sets the valid bit. >> If an RX packet comes in and there is no valid descriptor for the >> MAC >> to use, the packet will be buffered. If the buffer fills up, >> subsequent packets will be discarded. >> Jake >> On Wed, Jul 9, 2008 at 3:57 PM, <heedaf at excite.com> wrote: >> > I have a basic operational question with the receive buffer >> pointer and >> > memory. When the core is receiving packets and sends the data >> to >> > memory how does it know where to place it. My guess is that it >> places >> > the memory into specific locations and it is up to the >> processor to >> > remove the data before it is full or over written. Is this the >> case? >> > If someone could let me know how this operation works I would >> be >> > greatly appreciative. >> > Thanks, >> > DeWayne >> > _______________________________________________ >> > http://www.opencores.org/mailman/listinfo/ethmac >> > >> >> > _______________________________________________ > http://www.opencores.org/mailman/listinfo/ethmac > http://www.opencores.org/mailman/listinfo/ethmac |
| Free Forum Powered by Nabble | Forum Help |