Line 95... |
Line 95... |
else begin
|
else begin
|
// bypass vlan
|
// bypass vlan
|
// ether_type == cvlan
|
// ether_type == cvlan
|
if (int_valid_d1 && int_cnt==10'd3 && int_data_d1[31:16]==16'h8100)
|
if (int_valid_d1 && int_cnt==10'd3 && int_data_d1[31:16]==16'h8100)
|
bypass_vlan <= 1'b1;
|
bypass_vlan <= 1'b1;
|
else
|
|
bypass_vlan <= 1'b0;
|
|
// ether_type == svlan
|
// ether_type == svlan
|
// TO BE ADDED HERE
|
else if (int_valid_d1 && int_cnt==10'd3 && int_data_d1[31:16]==16'h9100)
|
|
bypass_vlan <= 1'b1;
|
|
else if (int_valid_d1 && int_cnt==10'd4 && int_data_d1[31:16]==16'h8100 && bypass_vlan)
|
|
bypass_vlan <= 1'b1;
|
|
else if (int_valid_d1 && bypass_vlan)
|
|
bypass_vlan <= 1'b0;
|
|
|
// bypass ipv4
|
// bypass ipv4
|
// ether_type == ip, ip_version == 4
|
// ether_type == ip, ip_version == 4
|
if (int_valid_d1 && int_cnt==10'd3 && bypass_ipv4_cnt==10'd0 &&
|
if (int_valid_d1 && (int_cnt==10'd3 || bypass_vlan && int_cnt==10'd4) && bypass_ipv4_cnt==10'd0 &&
|
int_data_d1[31:16]==16'h0800 && int_data_d1[15:12]==4'h4)
|
int_data_d1[31:16]==16'h0800 && int_data_d1[15:12]==4'h4)
|
bypass_ipv4 <= 1'b1;
|
bypass_ipv4 <= 1'b1;
|
else if (int_valid_d1 && bypass_ipv4_cnt==10'd4)
|
else if (int_valid_d1 && bypass_ipv4_cnt==10'd4)
|
bypass_ipv4 <= 1'b0;
|
bypass_ipv4 <= 1'b0;
|
|
|
// bypass ipv6
|
// bypass ipv6
|
// ether_type == ip, ip_version == 6
|
// ether_type == ip, ip_version == 6
|
if (int_valid_d1 && int_cnt==10'd3 && bypass_ipv4_cnt==10'd0 &&
|
if (int_valid_d1 && (int_cnt==10'd3 || bypass_vlan && int_cnt==10'd4) && bypass_ipv6_cnt==10'd0 &&
|
int_data_d1[31:16]==16'h86dd && int_data_d1[15:12]==4'h6)
|
int_data_d1[31:16]==16'h86dd && int_data_d1[15:12]==4'h6)
|
bypass_ipv6 <= 1'b1;
|
bypass_ipv6 <= 1'b1;
|
else if (int_valid_d1 && bypass_ipv6_cnt==10'd9)
|
else if (int_valid_d1 && bypass_ipv6_cnt==10'd9)
|
bypass_ipv6 <= 1'b0;
|
bypass_ipv6 <= 1'b0;
|
|
|
Line 138... |
Line 141... |
else if (int_valid_d1 && bypass_udp_cnt==10'd2)
|
else if (int_valid_d1 && bypass_udp_cnt==10'd2)
|
bypass_udp <= 1'b0;
|
bypass_udp <= 1'b0;
|
|
|
// check if it is L2 PTP
|
// check if it is L2 PTP
|
// ether_type == ptp
|
// ether_type == ptp
|
if (int_valid_d1 && int_cnt==10'd3 && int_data_d1[31:16]==16'h88F7)
|
if (int_valid_d1 && (int_cnt==10'd3 || bypass_vlan && int_cnt==10'd4) && int_data_d1[31:16]==16'h88F7)
|
ptp_l2 <= 1'b1;
|
ptp_l2 <= 1'b1;
|
// check if it is L4 PTP
|
// check if it is L4 PTP
|
// udp_dest_port == ptp_event
|
// udp_dest_port == ptp_event
|
if (int_valid_d1 && bypass_udp_cnt==10'd0 && bypass_udp && int_data_d1[31:16]==16'h013f)
|
if (int_valid_d1 && bypass_udp_cnt==10'd0 && bypass_udp &&
|
|
(int_data_d1[31:16]==16'h013f || int_data_d1[31:16]==16'h0140))
|
ptp_l4 <= 1'b1;
|
ptp_l4 <= 1'b1;
|
|
|
// check if it is PTP Event message
|
// check if it is PTP Event message
|
if (int_valid_d1 && int_cnt==10'd3 && int_data_d1[31:16]==16'h88F7 && (int_data_d1[11: 8]== 4'h0 || int_data_d1[11:8]==4'h2))
|
if (int_valid_d1 && (int_cnt==10'd3 || bypass_vlan && int_cnt==10'd4) && int_data_d1[31:16]==16'h88F7 &&
|
|
(int_data_d1[11: 8]== 4'h0 || int_data_d1[11:8]==4'h2))
|
// ptp_message_id == sync || delay_req
|
// ptp_message_id == sync || delay_req
|
ptp_event <= 1'b1;
|
ptp_event <= 1'b1;
|
else if (int_valid_d1 && int_cnt==10'd4 && bypass_udp_cnt==10'd1 && ptp_l4 && (int_data_d1[11: 8]== 4'h0 || int_data_d1[11:8]==4'h2))
|
else if (int_valid_d1 && (int_cnt==10'd4 || bypass_vlan && int_cnt==10'd5) && bypass_udp_cnt==10'd1 && ptp_l4 &&
|
|
(int_data_d1[11: 8]== 4'h0 || int_data_d1[11:8]==4'h2))
|
// ptp_message_id == sync || delay_req
|
// ptp_message_id == sync || delay_req
|
ptp_event <= 1'b1;
|
ptp_event <= 1'b1;
|
end
|
end
|
end
|
end
|
|
|