mirror of
https://github.com/corundum/corundum.git
synced 2025-01-16 08:12:53 +08:00
Use cfg prefix for configuration signals
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
parent
f92a94d278
commit
20c542051d
@ -497,7 +497,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -419,7 +419,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -356,7 +356,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.speed(),
|
.speed(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -422,7 +422,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -422,7 +422,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -407,7 +407,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -374,7 +374,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -363,7 +363,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -340,7 +340,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.speed(),
|
.speed(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -448,7 +448,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.speed(),
|
.speed(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -372,7 +372,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -352,7 +352,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -352,7 +352,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -516,7 +516,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -308,7 +308,7 @@ eth_mac_fifo_inst (
|
|||||||
.rx_fifo_overflow(),
|
.rx_fifo_overflow(),
|
||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -715,7 +715,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -967,7 +967,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -360,7 +360,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.speed(),
|
.speed(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -357,7 +357,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.speed(),
|
.speed(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -357,7 +357,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -369,7 +369,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.speed(),
|
.speed(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -366,7 +366,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.speed(),
|
.speed(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -366,7 +366,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -385,7 +385,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -355,7 +355,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.speed(),
|
.speed(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -344,7 +344,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
.speed(),
|
.speed(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
assign phy_1_tx_clk = 1'b0;
|
assign phy_1_tx_clk = 1'b0;
|
||||||
|
@ -411,7 +411,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -418,7 +418,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
// 1G interface for debugging
|
// 1G interface for debugging
|
||||||
@ -497,7 +497,7 @@ eth_mac_1g_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_adapter #(
|
axis_adapter #(
|
||||||
|
@ -357,7 +357,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -357,7 +357,7 @@ eth_mac_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx
|
eth_axis_rx
|
||||||
|
@ -459,7 +459,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
// 1G interface for debugging
|
// 1G interface for debugging
|
||||||
@ -538,7 +538,7 @@ eth_mac_1g_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_adapter #(
|
axis_adapter #(
|
||||||
|
@ -709,7 +709,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
// 1G interface for debugging
|
// 1G interface for debugging
|
||||||
@ -788,7 +788,7 @@ eth_mac_1g_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_adapter #(
|
axis_adapter #(
|
||||||
|
@ -422,7 +422,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -384,7 +384,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -364,7 +364,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -420,7 +420,7 @@ eth_mac_10g_fifo_inst (
|
|||||||
.rx_fifo_bad_frame(),
|
.rx_fifo_bad_frame(),
|
||||||
.rx_fifo_good_frame(),
|
.rx_fifo_good_frame(),
|
||||||
|
|
||||||
.ifg_delay(8'd12)
|
.cfg_ifg(8'd12)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_axis_rx #(
|
eth_axis_rx #(
|
||||||
|
@ -79,7 +79,7 @@ module axis_baser_tx_64 #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay,
|
input wire [7:0] cfg_ifg,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Status
|
* Status
|
||||||
@ -530,7 +530,7 @@ always @* begin
|
|||||||
output_data_next = fcs_output_data_0;
|
output_data_next = fcs_output_data_0;
|
||||||
output_type_next = fcs_output_type_0;
|
output_type_next = fcs_output_type_0;
|
||||||
|
|
||||||
ifg_count_next = (ifg_delay > 8'd12 ? ifg_delay : 8'd12) - ifg_offset + (swap_lanes_reg ? 8'd4 : 8'd0) + deficit_idle_count_reg;
|
ifg_count_next = (cfg_ifg > 8'd12 ? cfg_ifg : 8'd12) - ifg_offset + (swap_lanes_reg ? 8'd4 : 8'd0) + deficit_idle_count_reg;
|
||||||
if (s_empty_reg <= 4) begin
|
if (s_empty_reg <= 4) begin
|
||||||
state_next = STATE_FCS_2;
|
state_next = STATE_FCS_2;
|
||||||
end else begin
|
end else begin
|
||||||
|
@ -80,7 +80,7 @@ module axis_gmii_tx #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay,
|
input wire [7:0] cfg_ifg,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Status
|
* Status
|
||||||
@ -386,7 +386,7 @@ always @* begin
|
|||||||
if (s_axis_tvalid) begin
|
if (s_axis_tvalid) begin
|
||||||
if (s_axis_tlast) begin
|
if (s_axis_tlast) begin
|
||||||
s_axis_tready_next = 1'b0;
|
s_axis_tready_next = 1'b0;
|
||||||
if (frame_ptr_reg < ifg_delay-1) begin
|
if (frame_ptr_reg < cfg_ifg-1) begin
|
||||||
state_next = STATE_IFG;
|
state_next = STATE_IFG;
|
||||||
end else begin
|
end else begin
|
||||||
state_next = STATE_IDLE;
|
state_next = STATE_IDLE;
|
||||||
@ -404,7 +404,7 @@ always @* begin
|
|||||||
mii_odd_next = 1'b1;
|
mii_odd_next = 1'b1;
|
||||||
frame_ptr_next = frame_ptr_reg + 1;
|
frame_ptr_next = frame_ptr_reg + 1;
|
||||||
|
|
||||||
if (frame_ptr_reg < ifg_delay-1) begin
|
if (frame_ptr_reg < cfg_ifg-1) begin
|
||||||
state_next = STATE_IFG;
|
state_next = STATE_IFG;
|
||||||
end else begin
|
end else begin
|
||||||
state_next = STATE_IDLE;
|
state_next = STATE_IDLE;
|
||||||
|
@ -77,7 +77,7 @@ module axis_xgmii_tx_32 #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay,
|
input wire [7:0] cfg_ifg,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Status
|
* Status
|
||||||
@ -414,7 +414,7 @@ always @* begin
|
|||||||
xgmii_txd_next = fcs_output_txd_0;
|
xgmii_txd_next = fcs_output_txd_0;
|
||||||
xgmii_txc_next = fcs_output_txc_0;
|
xgmii_txc_next = fcs_output_txc_0;
|
||||||
|
|
||||||
ifg_count_next = (ifg_delay > 8'd12 ? ifg_delay : 8'd12) - ifg_offset + deficit_idle_count_reg;
|
ifg_count_next = (cfg_ifg > 8'd12 ? cfg_ifg : 8'd12) - ifg_offset + deficit_idle_count_reg;
|
||||||
state_next = STATE_FCS_2;
|
state_next = STATE_FCS_2;
|
||||||
end
|
end
|
||||||
STATE_FCS_2: begin
|
STATE_FCS_2: begin
|
||||||
|
@ -79,7 +79,7 @@ module axis_xgmii_tx_64 #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay,
|
input wire [7:0] cfg_ifg,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Status
|
* Status
|
||||||
@ -479,7 +479,7 @@ always @* begin
|
|||||||
xgmii_txd_next = fcs_output_txd_0;
|
xgmii_txd_next = fcs_output_txd_0;
|
||||||
xgmii_txc_next = fcs_output_txc_0;
|
xgmii_txc_next = fcs_output_txc_0;
|
||||||
|
|
||||||
ifg_count_next = (ifg_delay > 8'd12 ? ifg_delay : 8'd12) - ifg_offset + (swap_lanes_reg ? 8'd4 : 8'd0) + deficit_idle_count_reg;
|
ifg_count_next = (cfg_ifg > 8'd12 ? cfg_ifg : 8'd12) - ifg_offset + (swap_lanes_reg ? 8'd4 : 8'd0) + deficit_idle_count_reg;
|
||||||
if (s_empty_reg <= 4) begin
|
if (s_empty_reg <= 4) begin
|
||||||
state_next = STATE_FCS_2;
|
state_next = STATE_FCS_2;
|
||||||
end else begin
|
end else begin
|
||||||
|
@ -150,7 +150,7 @@ module eth_mac_10g #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay,
|
input wire [7:0] cfg_ifg,
|
||||||
input wire [47:0] cfg_mcf_rx_eth_dst_mcast,
|
input wire [47:0] cfg_mcf_rx_eth_dst_mcast,
|
||||||
input wire cfg_mcf_rx_check_eth_dst_mcast,
|
input wire cfg_mcf_rx_check_eth_dst_mcast,
|
||||||
input wire [47:0] cfg_mcf_rx_eth_dst_ucast,
|
input wire [47:0] cfg_mcf_rx_eth_dst_ucast,
|
||||||
@ -274,7 +274,7 @@ axis_xgmii_tx_inst (
|
|||||||
.m_axis_ptp_ts(tx_axis_ptp_ts),
|
.m_axis_ptp_ts(tx_axis_ptp_ts),
|
||||||
.m_axis_ptp_ts_tag(tx_axis_ptp_ts_tag),
|
.m_axis_ptp_ts_tag(tx_axis_ptp_ts_tag),
|
||||||
.m_axis_ptp_ts_valid(tx_axis_ptp_ts_valid),
|
.m_axis_ptp_ts_valid(tx_axis_ptp_ts_valid),
|
||||||
.ifg_delay(ifg_delay),
|
.cfg_ifg(cfg_ifg),
|
||||||
.start_packet(tx_start_packet),
|
.start_packet(tx_start_packet),
|
||||||
.error_underflow(tx_error_underflow)
|
.error_underflow(tx_error_underflow)
|
||||||
);
|
);
|
||||||
@ -336,7 +336,7 @@ axis_xgmii_tx_inst (
|
|||||||
.m_axis_ptp_ts(tx_axis_ptp_ts),
|
.m_axis_ptp_ts(tx_axis_ptp_ts),
|
||||||
.m_axis_ptp_ts_tag(tx_axis_ptp_ts_tag),
|
.m_axis_ptp_ts_tag(tx_axis_ptp_ts_tag),
|
||||||
.m_axis_ptp_ts_valid(tx_axis_ptp_ts_valid),
|
.m_axis_ptp_ts_valid(tx_axis_ptp_ts_valid),
|
||||||
.ifg_delay(ifg_delay),
|
.cfg_ifg(cfg_ifg),
|
||||||
.start_packet(tx_start_packet[0]),
|
.start_packet(tx_start_packet[0]),
|
||||||
.error_underflow(tx_error_underflow)
|
.error_underflow(tx_error_underflow)
|
||||||
);
|
);
|
||||||
|
@ -133,7 +133,7 @@ module eth_mac_10g_fifo #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay
|
input wire [7:0] cfg_ifg
|
||||||
);
|
);
|
||||||
|
|
||||||
parameter KEEP_WIDTH = DATA_WIDTH/8;
|
parameter KEEP_WIDTH = DATA_WIDTH/8;
|
||||||
@ -382,7 +382,7 @@ eth_mac_10g_inst (
|
|||||||
.rx_error_bad_frame(rx_error_bad_frame_int),
|
.rx_error_bad_frame(rx_error_bad_frame_int),
|
||||||
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
||||||
|
|
||||||
.ifg_delay(ifg_delay)
|
.cfg_ifg(cfg_ifg)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_async_fifo_adapter #(
|
axis_async_fifo_adapter #(
|
||||||
|
@ -153,7 +153,7 @@ module eth_mac_1g #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay,
|
input wire [7:0] cfg_ifg,
|
||||||
input wire [47:0] cfg_mcf_rx_eth_dst_mcast,
|
input wire [47:0] cfg_mcf_rx_eth_dst_mcast,
|
||||||
input wire cfg_mcf_rx_check_eth_dst_mcast,
|
input wire cfg_mcf_rx_check_eth_dst_mcast,
|
||||||
input wire [47:0] cfg_mcf_rx_eth_dst_ucast,
|
input wire [47:0] cfg_mcf_rx_eth_dst_ucast,
|
||||||
@ -253,7 +253,7 @@ axis_gmii_tx_inst (
|
|||||||
.m_axis_ptp_ts_valid(tx_axis_ptp_ts_valid),
|
.m_axis_ptp_ts_valid(tx_axis_ptp_ts_valid),
|
||||||
.clk_enable(tx_clk_enable),
|
.clk_enable(tx_clk_enable),
|
||||||
.mii_select(tx_mii_select),
|
.mii_select(tx_mii_select),
|
||||||
.ifg_delay(ifg_delay),
|
.cfg_ifg(cfg_ifg),
|
||||||
.start_packet(tx_start_packet),
|
.start_packet(tx_start_packet),
|
||||||
.error_underflow(tx_error_underflow)
|
.error_underflow(tx_error_underflow)
|
||||||
);
|
);
|
||||||
|
@ -113,7 +113,7 @@ module eth_mac_1g_fifo #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay
|
input wire [7:0] cfg_ifg
|
||||||
);
|
);
|
||||||
|
|
||||||
wire [7:0] tx_fifo_axis_tdata;
|
wire [7:0] tx_fifo_axis_tdata;
|
||||||
@ -219,7 +219,7 @@ eth_mac_1g_inst (
|
|||||||
.tx_error_underflow(tx_error_underflow_int),
|
.tx_error_underflow(tx_error_underflow_int),
|
||||||
.rx_error_bad_frame(rx_error_bad_frame_int),
|
.rx_error_bad_frame(rx_error_bad_frame_int),
|
||||||
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
||||||
.ifg_delay(ifg_delay)
|
.cfg_ifg(cfg_ifg)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_async_fifo_adapter #(
|
axis_async_fifo_adapter #(
|
||||||
|
@ -96,7 +96,7 @@ module eth_mac_1g_gmii #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay
|
input wire [7:0] cfg_ifg
|
||||||
);
|
);
|
||||||
|
|
||||||
wire [7:0] mac_gmii_rxd;
|
wire [7:0] mac_gmii_rxd;
|
||||||
@ -244,7 +244,7 @@ eth_mac_1g_inst (
|
|||||||
.tx_error_underflow(tx_error_underflow),
|
.tx_error_underflow(tx_error_underflow),
|
||||||
.rx_error_bad_frame(rx_error_bad_frame),
|
.rx_error_bad_frame(rx_error_bad_frame),
|
||||||
.rx_error_bad_fcs(rx_error_bad_fcs),
|
.rx_error_bad_fcs(rx_error_bad_fcs),
|
||||||
.ifg_delay(ifg_delay)
|
.cfg_ifg(cfg_ifg)
|
||||||
);
|
);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -118,7 +118,7 @@ module eth_mac_1g_gmii_fifo #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay
|
input wire [7:0] cfg_ifg
|
||||||
);
|
);
|
||||||
|
|
||||||
wire tx_clk;
|
wire tx_clk;
|
||||||
@ -246,7 +246,7 @@ eth_mac_1g_gmii_inst (
|
|||||||
.rx_error_bad_frame(rx_error_bad_frame_int),
|
.rx_error_bad_frame(rx_error_bad_frame_int),
|
||||||
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
||||||
.speed(speed_int),
|
.speed(speed_int),
|
||||||
.ifg_delay(ifg_delay)
|
.cfg_ifg(cfg_ifg)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_async_fifo_adapter #(
|
axis_async_fifo_adapter #(
|
||||||
|
@ -95,7 +95,7 @@ module eth_mac_1g_rgmii #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay
|
input wire [7:0] cfg_ifg
|
||||||
);
|
);
|
||||||
|
|
||||||
wire [7:0] mac_gmii_rxd;
|
wire [7:0] mac_gmii_rxd;
|
||||||
@ -244,7 +244,7 @@ eth_mac_1g_inst (
|
|||||||
.tx_error_underflow(tx_error_underflow),
|
.tx_error_underflow(tx_error_underflow),
|
||||||
.rx_error_bad_frame(rx_error_bad_frame),
|
.rx_error_bad_frame(rx_error_bad_frame),
|
||||||
.rx_error_bad_fcs(rx_error_bad_fcs),
|
.rx_error_bad_fcs(rx_error_bad_fcs),
|
||||||
.ifg_delay(ifg_delay)
|
.cfg_ifg(cfg_ifg)
|
||||||
);
|
);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -117,7 +117,7 @@ module eth_mac_1g_rgmii_fifo #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay
|
input wire [7:0] cfg_ifg
|
||||||
);
|
);
|
||||||
|
|
||||||
wire tx_clk;
|
wire tx_clk;
|
||||||
@ -244,7 +244,7 @@ eth_mac_1g_rgmii_inst (
|
|||||||
.rx_error_bad_frame(rx_error_bad_frame_int),
|
.rx_error_bad_frame(rx_error_bad_frame_int),
|
||||||
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
||||||
.speed(speed_int),
|
.speed(speed_int),
|
||||||
.ifg_delay(ifg_delay)
|
.cfg_ifg(cfg_ifg)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_async_fifo_adapter #(
|
axis_async_fifo_adapter #(
|
||||||
|
@ -91,7 +91,7 @@ module eth_mac_mii #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay
|
input wire [7:0] cfg_ifg
|
||||||
);
|
);
|
||||||
|
|
||||||
wire [3:0] mac_mii_rxd;
|
wire [3:0] mac_mii_rxd;
|
||||||
@ -162,7 +162,7 @@ eth_mac_1g_inst (
|
|||||||
.rx_start_packet(rx_start_packet),
|
.rx_start_packet(rx_start_packet),
|
||||||
.rx_error_bad_frame(rx_error_bad_frame),
|
.rx_error_bad_frame(rx_error_bad_frame),
|
||||||
.rx_error_bad_fcs(rx_error_bad_fcs),
|
.rx_error_bad_fcs(rx_error_bad_fcs),
|
||||||
.ifg_delay(ifg_delay)
|
.cfg_ifg(cfg_ifg)
|
||||||
);
|
);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -111,7 +111,7 @@ module eth_mac_mii_fifo #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay
|
input wire [7:0] cfg_ifg
|
||||||
);
|
);
|
||||||
|
|
||||||
wire tx_clk;
|
wire tx_clk;
|
||||||
@ -223,7 +223,7 @@ eth_mac_1g_mii_inst (
|
|||||||
.tx_error_underflow(tx_error_underflow_int),
|
.tx_error_underflow(tx_error_underflow_int),
|
||||||
.rx_error_bad_frame(rx_error_bad_frame_int),
|
.rx_error_bad_frame(rx_error_bad_frame_int),
|
||||||
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
.rx_error_bad_fcs(rx_error_bad_fcs_int),
|
||||||
.ifg_delay(ifg_delay)
|
.cfg_ifg(cfg_ifg)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_async_fifo_adapter #(
|
axis_async_fifo_adapter #(
|
||||||
|
@ -120,9 +120,9 @@ module eth_mac_phy_10g #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay,
|
input wire [7:0] cfg_ifg,
|
||||||
input wire tx_prbs31_enable,
|
input wire cfg_tx_prbs31_enable,
|
||||||
input wire rx_prbs31_enable
|
input wire cfg_rx_prbs31_enable
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_mac_phy_10g_rx #(
|
eth_mac_phy_10g_rx #(
|
||||||
@ -163,7 +163,7 @@ eth_mac_phy_10g_rx_inst (
|
|||||||
.rx_block_lock(rx_block_lock),
|
.rx_block_lock(rx_block_lock),
|
||||||
.rx_high_ber(rx_high_ber),
|
.rx_high_ber(rx_high_ber),
|
||||||
.rx_status(rx_status),
|
.rx_status(rx_status),
|
||||||
.rx_prbs31_enable(rx_prbs31_enable)
|
.cfg_rx_prbs31_enable(cfg_rx_prbs31_enable)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_mac_phy_10g_tx #(
|
eth_mac_phy_10g_tx #(
|
||||||
@ -203,8 +203,8 @@ eth_mac_phy_10g_tx_inst (
|
|||||||
.m_axis_ptp_ts_valid(tx_axis_ptp_ts_valid),
|
.m_axis_ptp_ts_valid(tx_axis_ptp_ts_valid),
|
||||||
.tx_start_packet(tx_start_packet),
|
.tx_start_packet(tx_start_packet),
|
||||||
.tx_error_underflow(tx_error_underflow),
|
.tx_error_underflow(tx_error_underflow),
|
||||||
.ifg_delay(ifg_delay),
|
.cfg_ifg(cfg_ifg),
|
||||||
.tx_prbs31_enable(tx_prbs31_enable)
|
.cfg_tx_prbs31_enable(cfg_tx_prbs31_enable)
|
||||||
);
|
);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -147,9 +147,9 @@ module eth_mac_phy_10g_fifo #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay,
|
input wire [7:0] cfg_ifg,
|
||||||
input wire tx_prbs31_enable,
|
input wire cfg_tx_prbs31_enable,
|
||||||
input wire rx_prbs31_enable
|
input wire cfg_rx_prbs31_enable
|
||||||
);
|
);
|
||||||
|
|
||||||
parameter KEEP_WIDTH = DATA_WIDTH/8;
|
parameter KEEP_WIDTH = DATA_WIDTH/8;
|
||||||
@ -425,10 +425,10 @@ eth_mac_phy_10g_inst (
|
|||||||
.rx_high_ber(rx_high_ber_int),
|
.rx_high_ber(rx_high_ber_int),
|
||||||
.rx_status(rx_status_int),
|
.rx_status(rx_status_int),
|
||||||
|
|
||||||
.ifg_delay(ifg_delay),
|
.cfg_ifg(cfg_ifg),
|
||||||
|
|
||||||
.tx_prbs31_enable(tx_prbs31_enable),
|
.cfg_tx_prbs31_enable(cfg_tx_prbs31_enable),
|
||||||
.rx_prbs31_enable(rx_prbs31_enable)
|
.cfg_rx_prbs31_enable(cfg_rx_prbs31_enable)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_async_fifo_adapter #(
|
axis_async_fifo_adapter #(
|
||||||
|
@ -90,7 +90,7 @@ module eth_mac_phy_10g_rx #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire rx_prbs31_enable
|
input wire cfg_rx_prbs31_enable
|
||||||
);
|
);
|
||||||
|
|
||||||
// bus width assertions
|
// bus width assertions
|
||||||
@ -138,7 +138,7 @@ eth_phy_10g_rx_if_inst (
|
|||||||
.rx_block_lock(rx_block_lock),
|
.rx_block_lock(rx_block_lock),
|
||||||
.rx_high_ber(rx_high_ber),
|
.rx_high_ber(rx_high_ber),
|
||||||
.rx_status(rx_status),
|
.rx_status(rx_status),
|
||||||
.rx_prbs31_enable(rx_prbs31_enable)
|
.cfg_rx_prbs31_enable(cfg_rx_prbs31_enable)
|
||||||
);
|
);
|
||||||
|
|
||||||
axis_baser_rx_64 #(
|
axis_baser_rx_64 #(
|
||||||
|
@ -89,8 +89,8 @@ module eth_mac_phy_10g_tx #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire [7:0] ifg_delay,
|
input wire [7:0] cfg_ifg,
|
||||||
input wire tx_prbs31_enable
|
input wire cfg_tx_prbs31_enable
|
||||||
);
|
);
|
||||||
|
|
||||||
// bus width assertions
|
// bus width assertions
|
||||||
@ -147,7 +147,7 @@ axis_baser_tx_inst (
|
|||||||
.m_axis_ptp_ts_valid(m_axis_ptp_ts_valid),
|
.m_axis_ptp_ts_valid(m_axis_ptp_ts_valid),
|
||||||
.start_packet(tx_start_packet),
|
.start_packet(tx_start_packet),
|
||||||
.error_underflow(tx_error_underflow),
|
.error_underflow(tx_error_underflow),
|
||||||
.ifg_delay(ifg_delay)
|
.cfg_ifg(cfg_ifg)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_phy_10g_tx_if #(
|
eth_phy_10g_tx_if #(
|
||||||
@ -165,7 +165,7 @@ eth_phy_10g_tx_if_inst (
|
|||||||
.encoded_tx_hdr(encoded_tx_hdr),
|
.encoded_tx_hdr(encoded_tx_hdr),
|
||||||
.serdes_tx_data(serdes_tx_data),
|
.serdes_tx_data(serdes_tx_data),
|
||||||
.serdes_tx_hdr(serdes_tx_hdr),
|
.serdes_tx_hdr(serdes_tx_hdr),
|
||||||
.tx_prbs31_enable(tx_prbs31_enable)
|
.cfg_tx_prbs31_enable(cfg_tx_prbs31_enable)
|
||||||
);
|
);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -83,8 +83,8 @@ module eth_phy_10g #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire tx_prbs31_enable,
|
input wire cfg_tx_prbs31_enable,
|
||||||
input wire rx_prbs31_enable
|
input wire cfg_rx_prbs31_enable
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_phy_10g_rx #(
|
eth_phy_10g_rx #(
|
||||||
@ -114,7 +114,7 @@ eth_phy_10g_rx_inst (
|
|||||||
.rx_block_lock(rx_block_lock),
|
.rx_block_lock(rx_block_lock),
|
||||||
.rx_high_ber(rx_high_ber),
|
.rx_high_ber(rx_high_ber),
|
||||||
.rx_status(rx_status),
|
.rx_status(rx_status),
|
||||||
.rx_prbs31_enable(rx_prbs31_enable)
|
.cfg_rx_prbs31_enable(cfg_rx_prbs31_enable)
|
||||||
);
|
);
|
||||||
|
|
||||||
eth_phy_10g_tx #(
|
eth_phy_10g_tx #(
|
||||||
@ -134,7 +134,7 @@ eth_phy_10g_tx_inst (
|
|||||||
.serdes_tx_data(serdes_tx_data),
|
.serdes_tx_data(serdes_tx_data),
|
||||||
.serdes_tx_hdr(serdes_tx_hdr),
|
.serdes_tx_hdr(serdes_tx_hdr),
|
||||||
.tx_bad_block(tx_bad_block),
|
.tx_bad_block(tx_bad_block),
|
||||||
.tx_prbs31_enable(tx_prbs31_enable)
|
.cfg_tx_prbs31_enable(cfg_tx_prbs31_enable)
|
||||||
);
|
);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -75,7 +75,7 @@ module eth_phy_10g_rx #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire rx_prbs31_enable
|
input wire cfg_rx_prbs31_enable
|
||||||
);
|
);
|
||||||
|
|
||||||
// bus width assertions
|
// bus width assertions
|
||||||
@ -125,7 +125,7 @@ eth_phy_10g_rx_if_inst (
|
|||||||
.rx_block_lock(rx_block_lock),
|
.rx_block_lock(rx_block_lock),
|
||||||
.rx_high_ber(rx_high_ber),
|
.rx_high_ber(rx_high_ber),
|
||||||
.rx_status(rx_status),
|
.rx_status(rx_status),
|
||||||
.rx_prbs31_enable(rx_prbs31_enable)
|
.cfg_rx_prbs31_enable(cfg_rx_prbs31_enable)
|
||||||
);
|
);
|
||||||
|
|
||||||
xgmii_baser_dec_64 #(
|
xgmii_baser_dec_64 #(
|
||||||
|
@ -74,7 +74,7 @@ module eth_phy_10g_rx_if #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire rx_prbs31_enable
|
input wire cfg_rx_prbs31_enable
|
||||||
);
|
);
|
||||||
|
|
||||||
// bus width assertions
|
// bus width assertions
|
||||||
@ -206,7 +206,7 @@ always @(posedge clk) begin
|
|||||||
encoded_rx_data_reg <= SCRAMBLER_DISABLE ? serdes_rx_data_int : descrambled_rx_data;
|
encoded_rx_data_reg <= SCRAMBLER_DISABLE ? serdes_rx_data_int : descrambled_rx_data;
|
||||||
encoded_rx_hdr_reg <= serdes_rx_hdr_int;
|
encoded_rx_hdr_reg <= serdes_rx_hdr_int;
|
||||||
|
|
||||||
if (PRBS31_ENABLE && rx_prbs31_enable) begin
|
if (PRBS31_ENABLE && cfg_rx_prbs31_enable) begin
|
||||||
prbs31_state_reg <= prbs31_state;
|
prbs31_state_reg <= prbs31_state;
|
||||||
|
|
||||||
rx_error_count_1_reg <= rx_error_count_1_temp;
|
rx_error_count_1_reg <= rx_error_count_1_temp;
|
||||||
@ -222,8 +222,8 @@ assign rx_error_count = rx_error_count_reg;
|
|||||||
|
|
||||||
wire serdes_rx_bitslip_int;
|
wire serdes_rx_bitslip_int;
|
||||||
wire serdes_rx_reset_req_int;
|
wire serdes_rx_reset_req_int;
|
||||||
assign serdes_rx_bitslip = serdes_rx_bitslip_int && !(PRBS31_ENABLE && rx_prbs31_enable);
|
assign serdes_rx_bitslip = serdes_rx_bitslip_int && !(PRBS31_ENABLE && cfg_rx_prbs31_enable);
|
||||||
assign serdes_rx_reset_req = serdes_rx_reset_req_int && !(PRBS31_ENABLE && rx_prbs31_enable);
|
assign serdes_rx_reset_req = serdes_rx_reset_req_int && !(PRBS31_ENABLE && cfg_rx_prbs31_enable);
|
||||||
|
|
||||||
eth_phy_10g_rx_frame_sync #(
|
eth_phy_10g_rx_frame_sync #(
|
||||||
.HDR_WIDTH(HDR_WIDTH),
|
.HDR_WIDTH(HDR_WIDTH),
|
||||||
|
@ -65,7 +65,7 @@ module eth_phy_10g_tx #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire tx_prbs31_enable
|
input wire cfg_tx_prbs31_enable
|
||||||
);
|
);
|
||||||
|
|
||||||
// bus width assertions
|
// bus width assertions
|
||||||
@ -119,7 +119,7 @@ eth_phy_10g_tx_if_inst (
|
|||||||
.encoded_tx_hdr(encoded_tx_hdr),
|
.encoded_tx_hdr(encoded_tx_hdr),
|
||||||
.serdes_tx_data(serdes_tx_data),
|
.serdes_tx_data(serdes_tx_data),
|
||||||
.serdes_tx_hdr(serdes_tx_hdr),
|
.serdes_tx_hdr(serdes_tx_hdr),
|
||||||
.tx_prbs31_enable(tx_prbs31_enable)
|
.cfg_tx_prbs31_enable(cfg_tx_prbs31_enable)
|
||||||
);
|
);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -59,7 +59,7 @@ module eth_phy_10g_tx_if #
|
|||||||
/*
|
/*
|
||||||
* Configuration
|
* Configuration
|
||||||
*/
|
*/
|
||||||
input wire tx_prbs31_enable
|
input wire cfg_tx_prbs31_enable
|
||||||
);
|
);
|
||||||
|
|
||||||
// bus width assertions
|
// bus width assertions
|
||||||
@ -167,7 +167,7 @@ prbs31_gen_inst (
|
|||||||
always @(posedge clk) begin
|
always @(posedge clk) begin
|
||||||
scrambler_state_reg <= scrambler_state;
|
scrambler_state_reg <= scrambler_state;
|
||||||
|
|
||||||
if (PRBS31_ENABLE && tx_prbs31_enable) begin
|
if (PRBS31_ENABLE && cfg_tx_prbs31_enable) begin
|
||||||
prbs31_state_reg <= prbs31_state;
|
prbs31_state_reg <= prbs31_state;
|
||||||
|
|
||||||
serdes_tx_data_reg <= ~prbs31_data[DATA_WIDTH+HDR_WIDTH-1:HDR_WIDTH];
|
serdes_tx_data_reg <= ~prbs31_data[DATA_WIDTH+HDR_WIDTH-1:HDR_WIDTH];
|
||||||
|
@ -73,7 +73,7 @@ class TB:
|
|||||||
self.ptp_clock = PtpClockSimTime(ts_64=dut.ptp_ts, clock=dut.clk)
|
self.ptp_clock = PtpClockSimTime(ts_64=dut.ptp_ts, clock=dut.clk)
|
||||||
self.ptp_ts_sink = PtpTsSink(PtpTsBus.from_prefix(dut, "m_axis_ptp"), dut.clk, dut.rst)
|
self.ptp_ts_sink = PtpTsSink(PtpTsBus.from_prefix(dut, "m_axis_ptp"), dut.clk, dut.rst)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.rst.setimmediatevalue(0)
|
self.dut.rst.setimmediatevalue(0)
|
||||||
@ -91,7 +91,7 @@ async def run_test(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
|
|
||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ async def run_test_alignment(dut, payload_data=None, ifg=12):
|
|||||||
|
|
||||||
byte_width = tb.source.width // 8
|
byte_width = tb.source.width // 8
|
||||||
|
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ class TB:
|
|||||||
|
|
||||||
dut.clk_enable.setimmediatevalue(1)
|
dut.clk_enable.setimmediatevalue(1)
|
||||||
dut.mii_select.setimmediatevalue(0)
|
dut.mii_select.setimmediatevalue(0)
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.rst.setimmediatevalue(0)
|
self.dut.rst.setimmediatevalue(0)
|
||||||
@ -103,7 +103,7 @@ async def run_test(dut, payload_lengths=None, payload_data=None, ifg=12, enable_
|
|||||||
|
|
||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
tb.dut.mii_select.value = mii_sel
|
tb.dut.mii_select.value = mii_sel
|
||||||
|
|
||||||
if enable_gen is not None:
|
if enable_gen is not None:
|
||||||
|
@ -62,7 +62,7 @@ class TB:
|
|||||||
self.ptp_clock = PtpClockSimTime(ts_64=dut.ptp_ts, clock=dut.clk)
|
self.ptp_clock = PtpClockSimTime(ts_64=dut.ptp_ts, clock=dut.clk)
|
||||||
self.ptp_ts_sink = PtpTsSink(PtpTsBus.from_prefix(dut, "m_axis_ptp"), dut.clk, dut.rst)
|
self.ptp_ts_sink = PtpTsSink(PtpTsBus.from_prefix(dut, "m_axis_ptp"), dut.clk, dut.rst)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.rst.setimmediatevalue(0)
|
self.dut.rst.setimmediatevalue(0)
|
||||||
@ -80,7 +80,7 @@ async def run_test(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
|
|
||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ async def run_test_alignment(dut, payload_data=None, ifg=12):
|
|||||||
|
|
||||||
byte_width = tb.source.width // 8
|
byte_width = tb.source.width // 8
|
||||||
|
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ class TB:
|
|||||||
self.ptp_clock = PtpClockSimTime(ts_64=dut.ptp_ts, clock=dut.clk)
|
self.ptp_clock = PtpClockSimTime(ts_64=dut.ptp_ts, clock=dut.clk)
|
||||||
self.ptp_ts_sink = PtpTsSink(PtpTsBus.from_prefix(dut, "m_axis_ptp"), dut.clk, dut.rst)
|
self.ptp_ts_sink = PtpTsSink(PtpTsBus.from_prefix(dut, "m_axis_ptp"), dut.clk, dut.rst)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.rst.setimmediatevalue(0)
|
self.dut.rst.setimmediatevalue(0)
|
||||||
@ -80,7 +80,7 @@ async def run_test(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
|
|
||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ async def run_test_alignment(dut, payload_data=None, ifg=12):
|
|||||||
|
|
||||||
byte_width = tb.source.width // 8
|
byte_width = tb.source.width // 8
|
||||||
|
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ class TB:
|
|||||||
dut.tx_lfc_pause_en.setimmediatevalue(0)
|
dut.tx_lfc_pause_en.setimmediatevalue(0)
|
||||||
dut.tx_pause_req.setimmediatevalue(0)
|
dut.tx_pause_req.setimmediatevalue(0)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
dut.cfg_mcf_rx_eth_dst_mcast.setimmediatevalue(0)
|
dut.cfg_mcf_rx_eth_dst_mcast.setimmediatevalue(0)
|
||||||
dut.cfg_mcf_rx_check_eth_dst_mcast.setimmediatevalue(0)
|
dut.cfg_mcf_rx_check_eth_dst_mcast.setimmediatevalue(0)
|
||||||
dut.cfg_mcf_rx_eth_dst_ucast.setimmediatevalue(0)
|
dut.cfg_mcf_rx_eth_dst_ucast.setimmediatevalue(0)
|
||||||
@ -141,7 +141,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.xgmii_source.ifg = ifg
|
tb.xgmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.xgmii_source.ifg = ifg
|
tb.xgmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -230,7 +230,7 @@ async def run_test_tx_alignment(dut, payload_data=None, ifg=12):
|
|||||||
byte_width = tb.axis_source.width // 8
|
byte_width = tb.axis_source.width // 8
|
||||||
|
|
||||||
tb.xgmii_source.ifg = ifg
|
tb.xgmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -313,7 +313,7 @@ async def run_test_lfc(dut, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.xgmii_source.ifg = ifg
|
tb.xgmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -456,7 +456,7 @@ async def run_test_pfc(dut, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.xgmii_source.ifg = ifg
|
tb.xgmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -75,6 +75,8 @@ class TB:
|
|||||||
dut.ptp_sample_clk.setimmediatevalue(0)
|
dut.ptp_sample_clk.setimmediatevalue(0)
|
||||||
dut.ptp_ts_step.setimmediatevalue(0)
|
dut.ptp_ts_step.setimmediatevalue(0)
|
||||||
|
|
||||||
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.logic_rst.setimmediatevalue(0)
|
self.dut.logic_rst.setimmediatevalue(0)
|
||||||
self.dut.rx_rst.setimmediatevalue(0)
|
self.dut.rx_rst.setimmediatevalue(0)
|
||||||
@ -98,7 +100,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.xgmii_source.ifg = ifg
|
tb.xgmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -146,7 +148,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.xgmii_source.ifg = ifg
|
tb.xgmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -195,7 +197,7 @@ async def run_test_tx_alignment(dut, payload_data=None, ifg=12):
|
|||||||
byte_width = tb.axis_source.width // 8
|
byte_width = tb.axis_source.width // 8
|
||||||
|
|
||||||
tb.xgmii_source.ifg = ifg
|
tb.xgmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ class TB:
|
|||||||
dut.rx_mii_select.setimmediatevalue(0)
|
dut.rx_mii_select.setimmediatevalue(0)
|
||||||
dut.tx_mii_select.setimmediatevalue(0)
|
dut.tx_mii_select.setimmediatevalue(0)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
dut.cfg_mcf_rx_eth_dst_mcast.setimmediatevalue(0)
|
dut.cfg_mcf_rx_eth_dst_mcast.setimmediatevalue(0)
|
||||||
dut.cfg_mcf_rx_check_eth_dst_mcast.setimmediatevalue(0)
|
dut.cfg_mcf_rx_check_eth_dst_mcast.setimmediatevalue(0)
|
||||||
dut.cfg_mcf_rx_eth_dst_ucast.setimmediatevalue(0)
|
dut.cfg_mcf_rx_eth_dst_ucast.setimmediatevalue(0)
|
||||||
@ -184,7 +184,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12, enab
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.gmii_source.ifg = ifg
|
tb.gmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
tb.dut.rx_mii_select.value = mii_sel
|
tb.dut.rx_mii_select.value = mii_sel
|
||||||
tb.dut.tx_mii_select.value = mii_sel
|
tb.dut.tx_mii_select.value = mii_sel
|
||||||
|
|
||||||
@ -230,7 +230,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12, enab
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.gmii_source.ifg = ifg
|
tb.gmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
tb.dut.rx_mii_select.value = mii_sel
|
tb.dut.rx_mii_select.value = mii_sel
|
||||||
tb.dut.tx_mii_select.value = mii_sel
|
tb.dut.tx_mii_select.value = mii_sel
|
||||||
|
|
||||||
@ -273,7 +273,7 @@ async def run_test_lfc(dut, ifg=12, enable_gen=None, mii_sel=True):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.gmii_source.ifg = ifg
|
tb.gmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
tb.dut.rx_mii_select.value = mii_sel
|
tb.dut.rx_mii_select.value = mii_sel
|
||||||
tb.dut.tx_mii_select.value = mii_sel
|
tb.dut.tx_mii_select.value = mii_sel
|
||||||
|
|
||||||
@ -422,7 +422,7 @@ async def run_test_pfc(dut, ifg=12, enable_gen=None, mii_sel=True):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.gmii_source.ifg = ifg
|
tb.gmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
tb.dut.rx_mii_select.value = mii_sel
|
tb.dut.rx_mii_select.value = mii_sel
|
||||||
tb.dut.tx_mii_select.value = mii_sel
|
tb.dut.tx_mii_select.value = mii_sel
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ class TB:
|
|||||||
dut.tx_clk_enable.setimmediatevalue(1)
|
dut.tx_clk_enable.setimmediatevalue(1)
|
||||||
dut.rx_mii_select.setimmediatevalue(0)
|
dut.rx_mii_select.setimmediatevalue(0)
|
||||||
dut.tx_mii_select.setimmediatevalue(0)
|
dut.tx_mii_select.setimmediatevalue(0)
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.logic_rst.setimmediatevalue(0)
|
self.dut.logic_rst.setimmediatevalue(0)
|
||||||
@ -127,7 +127,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12, enab
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.gmii_source.ifg = ifg
|
tb.gmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
tb.dut.rx_mii_select.value = mii_sel
|
tb.dut.rx_mii_select.value = mii_sel
|
||||||
tb.dut.tx_mii_select.value = mii_sel
|
tb.dut.tx_mii_select.value = mii_sel
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12, enab
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.gmii_source.ifg = ifg
|
tb.gmii_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
tb.dut.rx_mii_select.value = mii_sel
|
tb.dut.rx_mii_select.value = mii_sel
|
||||||
tb.dut.tx_mii_select.value = mii_sel
|
tb.dut.tx_mii_select.value = mii_sel
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ class TB:
|
|||||||
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.tx_clk, dut.tx_rst)
|
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.tx_clk, dut.tx_rst)
|
||||||
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.rx_clk, dut.rx_rst)
|
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.rx_clk, dut.rx_rst)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.gtx_rst.setimmediatevalue(0)
|
self.dut.gtx_rst.setimmediatevalue(0)
|
||||||
@ -75,7 +75,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.gmii_phy.rx.ifg = ifg
|
tb.gmii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
tb.set_speed(speed)
|
tb.set_speed(speed)
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.gmii_phy.rx.ifg = ifg
|
tb.gmii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
tb.set_speed(speed)
|
tb.set_speed(speed)
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ class TB:
|
|||||||
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.logic_clk, dut.logic_rst)
|
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.logic_clk, dut.logic_rst)
|
||||||
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.logic_clk, dut.logic_rst)
|
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.logic_clk, dut.logic_rst)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.gtx_rst.setimmediatevalue(0)
|
self.dut.gtx_rst.setimmediatevalue(0)
|
||||||
@ -79,7 +79,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.gmii_phy.rx.ifg = ifg
|
tb.gmii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
tb.set_speed(speed)
|
tb.set_speed(speed)
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.gmii_phy.rx.ifg = ifg
|
tb.gmii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
tb.set_speed(speed)
|
tb.set_speed(speed)
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ class TB:
|
|||||||
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.tx_clk, dut.tx_rst)
|
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.tx_clk, dut.tx_rst)
|
||||||
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.rx_clk, dut.rx_rst)
|
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.rx_clk, dut.rx_rst)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
dut.gtx_clk.setimmediatevalue(0)
|
dut.gtx_clk.setimmediatevalue(0)
|
||||||
dut.gtx_clk90.setimmediatevalue(0)
|
dut.gtx_clk90.setimmediatevalue(0)
|
||||||
@ -86,7 +86,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.rgmii_phy.rx.ifg = ifg
|
tb.rgmii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.rgmii_phy.rx.ifg = ifg
|
tb.rgmii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ class TB:
|
|||||||
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.logic_clk, dut.logic_rst)
|
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.logic_clk, dut.logic_rst)
|
||||||
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.logic_clk, dut.logic_rst)
|
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.logic_clk, dut.logic_rst)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
dut.gtx_clk.setimmediatevalue(0)
|
dut.gtx_clk.setimmediatevalue(0)
|
||||||
dut.gtx_clk90.setimmediatevalue(0)
|
dut.gtx_clk90.setimmediatevalue(0)
|
||||||
@ -92,7 +92,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.rgmii_phy.rx.ifg = ifg
|
tb.rgmii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.rgmii_phy.rx.ifg = ifg
|
tb.rgmii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ class TB:
|
|||||||
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.tx_clk, dut.tx_rst)
|
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.tx_clk, dut.tx_rst)
|
||||||
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.rx_clk, dut.rx_rst)
|
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.rx_clk, dut.rx_rst)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.rst.setimmediatevalue(0)
|
self.dut.rst.setimmediatevalue(0)
|
||||||
@ -69,7 +69,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.mii_phy.rx.ifg = ifg
|
tb.mii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.mii_phy.rx.ifg = ifg
|
tb.mii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ class TB:
|
|||||||
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.logic_clk, dut.logic_rst)
|
self.axis_source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "tx_axis"), dut.logic_clk, dut.logic_rst)
|
||||||
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.logic_clk, dut.logic_rst)
|
self.axis_sink = AxiStreamSink(AxiStreamBus.from_prefix(dut, "rx_axis"), dut.logic_clk, dut.logic_rst)
|
||||||
|
|
||||||
dut.ifg_delay.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.logic_rst.setimmediatevalue(0)
|
self.dut.logic_rst.setimmediatevalue(0)
|
||||||
@ -72,7 +72,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.mii_phy.rx.ifg = ifg
|
tb.mii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12, spee
|
|||||||
tb = TB(dut, speed)
|
tb = TB(dut, speed)
|
||||||
|
|
||||||
tb.mii_phy.rx.ifg = ifg
|
tb.mii_phy.rx.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -83,8 +83,9 @@ class TB:
|
|||||||
self.tx_ptp_clock = PtpClockSimTime(ts_64=dut.tx_ptp_ts, clock=dut.tx_clk)
|
self.tx_ptp_clock = PtpClockSimTime(ts_64=dut.tx_ptp_ts, clock=dut.tx_clk)
|
||||||
self.tx_ptp_ts_sink = PtpTsSink(PtpTsBus.from_prefix(dut, "tx_axis_ptp"), dut.tx_clk, dut.tx_rst)
|
self.tx_ptp_ts_sink = PtpTsSink(PtpTsBus.from_prefix(dut, "tx_axis_ptp"), dut.tx_clk, dut.tx_rst)
|
||||||
|
|
||||||
dut.tx_prbs31_enable.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
dut.rx_prbs31_enable.setimmediatevalue(0)
|
dut.cfg_tx_prbs31_enable.setimmediatevalue(0)
|
||||||
|
dut.cfg_rx_prbs31_enable.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.rx_rst.setimmediatevalue(0)
|
self.dut.rx_rst.setimmediatevalue(0)
|
||||||
@ -106,7 +107,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.serdes_source.ifg = ifg
|
tb.serdes_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -159,7 +160,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.serdes_source.ifg = ifg
|
tb.serdes_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -204,7 +205,7 @@ async def run_test_tx_alignment(dut, payload_data=None, ifg=12):
|
|||||||
byte_width = tb.axis_source.width // 8
|
byte_width = tb.axis_source.width // 8
|
||||||
|
|
||||||
tb.serdes_source.ifg = ifg
|
tb.serdes_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -86,8 +86,9 @@ class TB:
|
|||||||
dut.ptp_sample_clk.setimmediatevalue(0)
|
dut.ptp_sample_clk.setimmediatevalue(0)
|
||||||
dut.ptp_ts_step.setimmediatevalue(0)
|
dut.ptp_ts_step.setimmediatevalue(0)
|
||||||
|
|
||||||
dut.tx_prbs31_enable.setimmediatevalue(0)
|
dut.cfg_ifg.setimmediatevalue(0)
|
||||||
dut.rx_prbs31_enable.setimmediatevalue(0)
|
dut.cfg_tx_prbs31_enable.setimmediatevalue(0)
|
||||||
|
dut.cfg_rx_prbs31_enable.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.logic_rst.setimmediatevalue(0)
|
self.dut.logic_rst.setimmediatevalue(0)
|
||||||
@ -112,7 +113,7 @@ async def run_test_rx(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.serdes_source.ifg = ifg
|
tb.serdes_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -167,7 +168,7 @@ async def run_test_tx(dut, payload_lengths=None, payload_data=None, ifg=12):
|
|||||||
tb = TB(dut)
|
tb = TB(dut)
|
||||||
|
|
||||||
tb.serdes_source.ifg = ifg
|
tb.serdes_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
@ -216,7 +217,7 @@ async def run_test_tx_alignment(dut, payload_data=None, ifg=12):
|
|||||||
byte_width = tb.axis_source.width // 8
|
byte_width = tb.axis_source.width // 8
|
||||||
|
|
||||||
tb.serdes_source.ifg = ifg
|
tb.serdes_source.ifg = ifg
|
||||||
tb.dut.ifg_delay.value = ifg
|
tb.dut.cfg_ifg.value = ifg
|
||||||
|
|
||||||
await tb.reset()
|
await tb.reset()
|
||||||
|
|
||||||
|
@ -64,8 +64,8 @@ class TB:
|
|||||||
self.serdes_source = BaseRSerdesSource(dut.serdes_rx_data, dut.serdes_rx_hdr, dut.rx_clk, slip=dut.serdes_rx_bitslip)
|
self.serdes_source = BaseRSerdesSource(dut.serdes_rx_data, dut.serdes_rx_hdr, dut.rx_clk, slip=dut.serdes_rx_bitslip)
|
||||||
self.serdes_sink = BaseRSerdesSink(dut.serdes_tx_data, dut.serdes_tx_hdr, dut.tx_clk)
|
self.serdes_sink = BaseRSerdesSink(dut.serdes_tx_data, dut.serdes_tx_hdr, dut.tx_clk)
|
||||||
|
|
||||||
dut.tx_prbs31_enable.setimmediatevalue(0)
|
dut.cfg_tx_prbs31_enable.setimmediatevalue(0)
|
||||||
dut.rx_prbs31_enable.setimmediatevalue(0)
|
dut.cfg_rx_prbs31_enable.setimmediatevalue(0)
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
self.dut.tx_rst.setimmediatevalue(0)
|
self.dut.tx_rst.setimmediatevalue(0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user