URL
https://opencores.org/ocsvn/ha1588/ha1588/trunk
[/] [ha1588/] [trunk/] [rtl/] [tsu/] [ptp_parser.v] - Diff between revs 7 and 8
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 7 |
Rev 8 |
Line 38... |
Line 38... |
end
|
end
|
|
|
reg [9:0] ptp_cnt;
|
reg [9:0] ptp_cnt;
|
reg ptp_vlan, ptp_ip, ptp_udp, ptp_port, ptp_event;
|
reg ptp_vlan, ptp_ip, ptp_udp, ptp_port, ptp_event;
|
reg [3:0] ptp_msgid;
|
reg [3:0] ptp_msgid;
|
reg [7:0] ptp_seqid;
|
reg [15:0] ptp_seqid;
|
always @(posedge rst or posedge clk) begin
|
always @(posedge rst or posedge clk) begin
|
if (rst)
|
if (rst)
|
ptp_cnt <= 10'd0;
|
ptp_cnt <= 10'd0;
|
else
|
else
|
if (ptp_valid && ptp_sop)
|
if (ptp_valid && ptp_sop)
|
Line 57... |
Line 57... |
ptp_ip <= 1'b0;
|
ptp_ip <= 1'b0;
|
ptp_udp <= 1'b0;
|
ptp_udp <= 1'b0;
|
ptp_port <= 1'b0;
|
ptp_port <= 1'b0;
|
ptp_event <= 1'b0;
|
ptp_event <= 1'b0;
|
ptp_msgid <= 4'd0;
|
ptp_msgid <= 4'd0;
|
ptp_seqid <= 8'd0;
|
ptp_seqid <= 16'd0;
|
end
|
end
|
else if (ptp_valid_d1 && ptp_sop_d1) begin
|
else if (ptp_valid_d1 && ptp_sop_d1) begin
|
ptp_vlan <= 1'b0;
|
ptp_vlan <= 1'b0;
|
ptp_ip <= 1'b0;
|
ptp_ip <= 1'b0;
|
ptp_udp <= 1'b0;
|
ptp_udp <= 1'b0;
|
ptp_port <= 1'b0;
|
ptp_port <= 1'b0;
|
ptp_event <= 1'b0;
|
ptp_event <= 1'b0;
|
ptp_msgid <= 4'd0;
|
ptp_msgid <= 4'd0;
|
ptp_seqid <= 8'd0;
|
ptp_seqid <= 16'd0;
|
end
|
end
|
else begin
|
else begin
|
if (ptp_valid_d1 && ptp_cnt==10'd4) // ether_type == vlan
|
if (ptp_valid_d1 && ptp_cnt==10'd4) // ether_type == vlan
|
ptp_vlan <= ( ptp_data_d1[31:16]==16'h8100);
|
ptp_vlan <= ( ptp_data_d1[31:16]==16'h8100);
|
else
|
else
|
Line 92... |
Line 92... |
end
|
end
|
|
|
always @(posedge rst or posedge clk) begin
|
always @(posedge rst or posedge clk) begin
|
if (rst) begin
|
if (rst) begin
|
ptp_found <= 1'b0;
|
ptp_found <= 1'b0;
|
ptp_infor <= 42'd0;
|
ptp_infor <= 48'd0;
|
end
|
end
|
else if (ptp_valid_d1 && ptp_sop_d1) begin
|
else if (ptp_valid_d1 && ptp_sop_d1) begin
|
ptp_found <= 1'b0;
|
ptp_found <= 1'b0;
|
ptp_infor <= 42'd0;
|
ptp_infor <= 48'd0;
|
end
|
end
|
else if (ptp_valid_d1 && ptp_eop_d1) begin
|
else if (ptp_valid_d1 && ptp_eop_d1) begin
|
ptp_found <= ptp_event;
|
ptp_found <= ptp_event;
|
ptp_infor <= {ptp_msgid, ptp_seqid, ptp_time};
|
ptp_infor <= {ptp_seqid, ptp_msgid[1:0], ptp_time};
|
end
|
end
|
else begin
|
else begin
|
ptp_found <= 1'b0;
|
ptp_found <= 1'b0;
|
ptp_infor <= 42'd0;
|
ptp_infor <= 48'd0;
|
end
|
end
|
end
|
end
|
|
|
endmodule
|
endmodule
|
|
|
No newline at end of file
|
No newline at end of file
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.