OpenCores
no use no use 1/1 no use no use
eth_design_document clarification
by AbieA on Oct 19, 2011
AbieA
Posts: 12
Joined: Sep 2, 2011
Last seen: Dec 18, 2012
I have a question regarding the Ethernet IP Core Design Document written by Mr. Igor Mohor.

In section 2.3.7.2 "Tx and Rx Buffer Descriptors", the author gives an example of address
location calculations for both Tx and Rx core descriptor registers. According to what it
states earlier, the descriptor registers are located between address 0x400 to 0x7FF.

However, in the example, according to the calculation, the last Rx descriptor's location
is address: 0x7FC. As each descriptor register accommodates 8 addresses, it results that
its last address will exceed location 0x7FF - which contradicts the spec stated earlier.

Can someone clarify this point for me?

Thank you,

Abe
RE: eth_design_document clarification
by yannv on Oct 20, 2011
yannv
Posts: 20
Joined: Feb 6, 2009
Last seen: Jan 14, 2021
This is because the registers are 32-bit only. All the buffer descriptors consist of two 32-bit registers; one for control (including length and flags), and one for data pointer. An address ending in f is not 32-bit aligned, so the last register present is at 7fc, covering byte addresses 7fc-7ff. The last buffer descriptor, however, has an address of 7f8 since it is two registers. So the formulae calculate valid addresses to access (only 32-bit access is allowed) rather than address space covered or BD addresses.
RE: eth_design_document clarification
by AbieA on Oct 20, 2011
AbieA
Posts: 12
Joined: Sep 2, 2011
Last seen: Dec 18, 2012
I understand now.

Thank you for your answer.

Abe
no use no use 1/1 no use no use
© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.