cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
432 Views
Registered: ‎01-05-2020

TEMAC rx ptp packet buffer

according to this PG051
https://www.xilinx.com/support/documentation/ip_documentation/tri_mode_ethernet_mac/v9_0/pg051-tri-mode-eth-mac.pdf

Page 62  : "The RX PTP Packet buffers are only available when the AVB functionality is included in the TEMAC core."


Given that:

1/ I have Full license of TEMAC but only eval license of  Ethernet AVB endpoint.
2/ I am able to synthesize my design all the way to bitfile with TEMAC with Enable AVB option checked.

My general question is:
1/ Is there any limitation about implementing packet managers of 802.1AS?
More specific questions:
1/ Is the rx ptp packet buffers exist on my design  above?

More detail of my experience:

    - When the 802.1AS packet arrive, I can see the packet being recognized as good multicast frames(based on those statistic counters and statistics vectors);however, I when I tried to dump all rx_ptp buffers  it is look like this all the time (even when there is nothing in the RX)

page 0 (10000):
page 1 (10100):
page 2 (10200):
page 3 (10300):
page 4 (10400):
page 5 (10500):
    0 (10500): A0
    4 (10504): 3
    8 (10508): 1
    80 (10580): 40
    84 (10584): 2
    88 (10588): 40
    8C (1058C): 40
page 6 (10600):
    0 (10600): FF
    4 (10604): FF
    8 (10608): 76
    C (1060C): FF
    10 (10610): 1
    14 (10614): C8
page 7 (10700):
page 8 (10800):
page 9 (10900):
page 10 (10A00):
page 11 (10B00):
page 12 (10C00):
page 13 (10D00):
    0 (10D00): A0
    4 (10D04): 3
    8 (10D08): 1
    80 (10D80): 40
    84 (10D84): 2
    88 (10D88): 40
    8C (10D8C): 40
page 14 (10E00):
    0 (10E00): FF
    4 (10E04): FF
    8 (10E08): 76
    C (10E0C): FF
    10 (10E10): 1
    14 (10E14): C8
page 15 (10F00):

 

Code to print the above:

void print_rx_ptp_buffer(){
	uint32_t base_address = 0x10000;
	uint8_t response ;
	for (int i=0; i<16;i++){
		xil_printf("page %d (%x): \n\r",i,base_address);
		for(int j=0; j < 256; j++){
			response=Xil_In8(MAC_BASEADDR+base_address+j);
			if (response !=0){
				xil_printf("\t\t%x (%x): \t%x\n\r",j,base_address+j,response);
			}
		}
		base_address += 256;
	}
0 Kudos
Reply
1 Reply
Moderator
Moderator
340 Views
Registered: ‎08-25-2009

Hi @trungnob ,

It looks like you are looking for more of a TSN solution rather than AVB. Please check the following link:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/25034864/Xilinx+TSN+Solution#XilinxTSNSolution-XilinxTSNIPSupport

 

 

"Don't forget to reply, kudo and accept as solution."
0 Kudos
Reply