OpenCores
URL https://opencores.org/ocsvn/ha1588/ha1588/trunk

Subversion Repositories ha1588

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /ha1588/trunk
    from Rev 51 to Rev 52
    Reverse comparison

Rev 51 → Rev 52

/rtl/tsu/ptp_parser.v
111,20 → 111,20
end
else begin
// bypass vlan
if (int_valid && int_cnt==10'd3 && int_data[31:16]==16'h8100) // ether_type == cvlan
if (int_valid && int_cnt==10'd4 && int_data[31:16]==16'h8100) // ether_type == cvlan
bypass_vlan <= 1'b1;
else if (int_valid && int_cnt==10'd3 && int_data[31:16]==16'h9100) // ether_type == svlan
else if (int_valid && int_cnt==10'd4 && int_data[31:16]==16'h9100) // ether_type == svlan
bypass_vlan <= 1'b1;
else if (int_valid && int_cnt==10'd4 && int_data[31:16]==16'h8100 && bypass_vlan) // svlan_type == cvlan
else if (int_valid && int_cnt==10'd5 && int_data[31:16]==16'h8100 && bypass_vlan) // svlan_type == cvlan
bypass_vlan <= 1'b1;
else if (int_valid && bypass_vlan)
bypass_vlan <= 1'b0;
 
// bypass mpls
if (int_valid && (int_cnt==10'd3 || bypass_vlan && int_cnt==10'd4) &&
if (int_valid && (int_cnt==10'd4 || bypass_vlan && int_cnt==10'd5) &&
(int_data[31:16]==16'h8847 || int_data[31:16]==16'h8848)) // ether_type == mpls
bypass_mpls <= 1'b1;
else if (int_valid && int_cnt==10'd4 && bypass_mpls &&
else if (int_valid && int_cnt==10'd5 && bypass_mpls &&
int_data[24]==1'b0) // bottom of label stack == 0
bypass_mpls <= 1'b1;
else if (int_valid && bypass_mpls)
131,7 → 131,7
bypass_mpls <= 1'b0;
 
// bypass ipv4
if (int_valid && (int_cnt==10'd3 || (bypass_vlan || bypass_mpls) && int_cnt==10'd4) && bypass_ipv4_cnt==10'd0 &&
if (int_valid && (int_cnt==10'd4 || (bypass_vlan || bypass_mpls) && int_cnt==10'd5) && bypass_ipv4_cnt==10'd0 &&
(int_data[31:16]==16'h0800 || bypass_mpls) && int_data[15:12]==4'h4) // ether_type == ipv4, ip_version == 4
bypass_ipv4 <= 1'b1;
else if (int_valid && bypass_ipv4_cnt==10'd4)
138,13 → 138,13
bypass_ipv4 <= 1'b0;
 
// bypass ipv6
if (int_valid && (int_cnt==10'd3 || (bypass_vlan || bypass_mpls) && int_cnt==10'd4) && bypass_ipv6_cnt==10'd0 &&
if (int_valid && (int_cnt==10'd4 || (bypass_vlan || bypass_mpls) && int_cnt==10'd5) && bypass_ipv6_cnt==10'd0 &&
(int_data[31:16]==16'h86dd || bypass_mpls) && int_data[15:12]==4'h6) // ether_type == ipv6, ip_version == 6
bypass_ipv6 <= 1'b1;
else if (int_valid && bypass_ipv6_cnt==10'd9)
bypass_ipv6 <= 1'b0;
 
// check if it is UDP
// check if it is udp
if (int_valid && bypass_ipv4_cnt==10'd1 && int_data[ 7: 0]== 8'h11) // ipv4_protocol == udp
found_udp <= 1'b1;
else if (int_valid && bypass_ipv6_cnt==10'd1 && int_data[31:24]== 8'h11) // ipv6_protocol == udp
159,7 → 159,7
bypass_udp <= 1'b0;
 
// check if it is L2 PTP
if (int_valid && (int_cnt==10'd3 || bypass_vlan && int_cnt==10'd4) && int_data[31:16]==16'h88F7) // ether_type == ptp
if (int_valid && (int_cnt==10'd4 || bypass_vlan && int_cnt==10'd5) && int_data[31:16]==16'h88F7) // ether_type == ptp
ptp_l2 <= 1'b1;
// check if it is L4 PTP
if (int_valid && bypass_udp_cnt==10'd0 && bypass_udp &&
167,10 → 167,10
ptp_l4 <= 1'b1;
 
// check if it is PTP Event message
if (int_valid && (int_cnt==10'd3 || bypass_vlan && int_cnt==10'd4) && int_data[31:16]==16'h88F7 &&
if (int_valid && (int_cnt==10'd4 || bypass_vlan && int_cnt==10'd5) && int_data[31:16]==16'h88F7 &&
(ptp_msgid_mask[int_data[11: 8]])) // ptp_message_id == ptp_event
ptp_event <= 1'b1;
else if (int_valid && int_cnt==10'd4 && bypass_udp_cnt==10'd1 && ptp_l4 &&
else if (int_valid && int_cnt==10'd5 && bypass_udp_cnt==10'd1 && ptp_l4 &&
(ptp_msgid_mask[int_data[11: 8]])) // ptp_message_id == ptp_event
ptp_event <= 1'b1;
end
/sim/top/nic_drv_bfm/gmii_rx_bfm.v
91,8 → 91,8
gmii_rxctrl = 1'b0;
gmii_rxdata = 8'h00;
end
// send frame preamble and sfd 5555555d=4*8
repeat (3)
// send frame preamble and sfd 55555555555555d5=8*8
repeat (7)
begin
@(posedge gmii_rxclk_offset);
gmii_rxctrl = 1'b1;
100,7 → 100,7
end
@(posedge gmii_rxclk_offset)
gmii_rxctrl = 1'b1;
gmii_rxdata = 8'h5d;
gmii_rxdata = 8'hd5;
// send frame content
for (index_rx=0; index_rx<packet_leng_rx; index_rx=index_rx+1)
begin
/sim/top/nic_drv_bfm/gmii_tx_bfm.v
91,8 → 91,8
gmii_txctrl = 1'b0;
gmii_txdata = 8'h00;
end
// send frame preamble and sfd 5555555d=4*8
repeat (3)
// send frame preamble and sfd 55555555555555d5=8*8
repeat (7)
begin
@(posedge gmii_txclk_offset);
gmii_txctrl = 1'b1;
100,7 → 100,7
end
@(posedge gmii_txclk_offset)
gmii_txctrl = 1'b1;
gmii_txdata = 8'h5d;
gmii_txdata = 8'hd5;
// send frame content
for (index_tx=0; index_tx<packet_leng_tx; index_tx=index_tx+1)
begin
/sim/sopc/sim.bat
0,0 → 1,7
title %CD%
 
SET LM_LICENSE_FILE=C:\lmlicense\licensefile.dat
SET MODEL_TECH=C:\modeltech_6.5b\win32
SET PATH=C:\Modeltech_6.5b\win32;C:\modeltech_6.5b\gcc-4.2.1-mingw32\bin
 
vsim -do sim.do
/sim/rtc/sim.bat
0,0 → 1,7
title %CD%
 
SET LM_LICENSE_FILE=C:\lmlicense\licensefile.dat
SET MODEL_TECH=C:\modeltech_6.5b\win32
SET PATH=C:\Modeltech_6.5b\win32;C:\modeltech_6.5b\gcc-4.2.1-mingw32\bin
 
vsim -do sim.do
/sim/tsu/gmii_rx_bfm.v
91,8 → 91,8
gmii_rxctrl = 1'b0;
gmii_rxdata = 8'h00;
end
// send frame preamble and sfd 5555555d=4*8
repeat (3)
// send frame preamble and sfd 55555555555555d5=8*8
repeat (7)
begin
@(posedge gmii_rxclk_offset);
gmii_rxctrl = 1'b1;
100,7 → 100,7
end
@(posedge gmii_rxclk_offset)
gmii_rxctrl = 1'b1;
gmii_rxdata = 8'h5d;
gmii_rxdata = 8'hd5;
// send frame content
for (index_rx=0; index_rx<packet_leng_rx; index_rx=index_rx+1)
begin
/sim/tsu/gmii_tx_bfm.v
91,8 → 91,8
gmii_txctrl = 1'b0;
gmii_txdata = 8'h00;
end
// send frame preamble and sfd 5555555d=4*8
repeat (3)
// send frame preamble and sfd 55555555555555d5=8*8
repeat (7)
begin
@(posedge gmii_txclk_offset);
gmii_txctrl = 1'b1;
100,7 → 100,7
end
@(posedge gmii_txclk_offset)
gmii_txctrl = 1'b1;
gmii_txdata = 8'h5d;
gmii_txdata = 8'hd5;
// send frame content
for (index_tx=0; index_tx<packet_leng_tx; index_tx=index_tx+1)
begin
/sim/tsu/sim.bat
0,0 → 1,7
title %CD%
 
SET LM_LICENSE_FILE=C:\lmlicense\licensefile.dat
SET MODEL_TECH=C:\modeltech_6.5b\win32
SET PATH=C:\Modeltech_6.5b\win32;C:\modeltech_6.5b\gcc-4.2.1-mingw32\bin
 
vsim -do sim.do

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.