fpga: x400: Fix NODE_INST for transport adapters

Set the NODE_INST parameter for each transport adapter on X4xx so that
each adapter has a unique node instance number.


Original-commit: 8e87a4d24aeeb77a9528ff67a36d8a0ae12e7137
This commit is contained in:
Wade Fife
2022-08-29 17:01:45 -05:00
committed by skooNI
parent 1756797ec2
commit 5af17e0984
3 changed files with 25 additions and 17 deletions
+6 -3
View File
@@ -1642,7 +1642,8 @@ module x4xx (
.CPU_W (CPU_W), .CPU_W (CPU_W),
.CHDR_W (CHDR_W), .CHDR_W (CHDR_W),
.BYTE_MTU (BYTE_MTU), .BYTE_MTU (BYTE_MTU),
.PORTNUM (0) .PORTNUM (0),
.NODE_INST (0)
) x4xx_qsfp_wrapper_0 ( ) x4xx_qsfp_wrapper_0 (
.areset (areset), .areset (areset),
.refclk_p (MGT_REFCLK_LMK0_P), .refclk_p (MGT_REFCLK_LMK0_P),
@@ -1750,7 +1751,8 @@ module x4xx (
.CPU_W (CPU_W), .CPU_W (CPU_W),
.CHDR_W (CHDR_W), .CHDR_W (CHDR_W),
.BYTE_MTU (BYTE_MTU), .BYTE_MTU (BYTE_MTU),
.PORTNUM (1) .PORTNUM (1),
.NODE_INST (4)
) x4xx_qsfp_wrapper_1 ( ) x4xx_qsfp_wrapper_1 (
.areset (areset), .areset (areset),
.refclk_p (MGT_REFCLK_LMK3_P), .refclk_p (MGT_REFCLK_LMK3_P),
@@ -1861,7 +1863,8 @@ module x4xx (
.DWIDTH (REG_DWIDTH), .DWIDTH (REG_DWIDTH),
.AWIDTH (REG_AWIDTH), .AWIDTH (REG_AWIDTH),
.PORTNUM (8'd0), .PORTNUM (8'd0),
.RFNOC_PROTOVER (RFNOC_PROTOVER) .RFNOC_PROTOVER (RFNOC_PROTOVER),
.NODE_INST (5)
) eth_ipv4_internal_i ( ) eth_ipv4_internal_i (
.bus_clk (clk200), .bus_clk (clk200),
.bus_rst (clk200_rst), .bus_rst (clk200_rst),
+10 -8
View File
@@ -12,13 +12,14 @@
// //
// Parameters: // Parameters:
// //
// PROTOCOL : Indicates the protocol to use for each of the 4 QSFP // PROTOCOL : Indicates the protocol to use for each of the 4 QSFP
// lanes. See x4xx_mgt_types.vh for possible values. // lanes. See x4xx_mgt_types.vh for possible values.
// CPU_W : Width of CPU interface // CPU_W : Width of CPU interface
// CHDR_W : CHDR bus width // CHDR_W : CHDR bus width
// BYTE_MTU : Transport MTU in bytes // BYTE_MTU : Transport MTU in bytes
// PORTNUM : Port number to distinguish multiple QSFP ports // PORTNUM : Port number to distinguish multiple QSFP ports
// RFNOC_PROTOVER : RFNoC protocol version for IPv4 interface // NODE_INST : RFNoC transport adapter node instance for the first port
// RFNOC_PROTOVER : RFNoC protocol version for IPv4 interface
// //
`include "./x4xx_mgt_types.vh" `include "./x4xx_mgt_types.vh"
@@ -34,6 +35,7 @@ module x4xx_qsfp_wrapper #(
parameter CHDR_W = 64, parameter CHDR_W = 64,
parameter BYTE_MTU = $clog2(8*1024), parameter BYTE_MTU = $clog2(8*1024),
parameter [ 7:0] PORTNUM = 8'd0, parameter [ 7:0] PORTNUM = 8'd0,
parameter NODE_INST = 0,
parameter [15:0] RFNOC_PROTOVER = {8'd1, 8'd0} parameter [15:0] RFNOC_PROTOVER = {8'd1, 8'd0}
)( )(
// Resets // Resets
@@ -440,7 +442,7 @@ module x4xx_qsfp_wrapper #(
.PROTOVER (RFNOC_PROTOVER), .PROTOVER (RFNOC_PROTOVER),
.CPU_FIFO_SIZE (BYTE_MTU), .CPU_FIFO_SIZE (BYTE_MTU),
.CHDR_FIFO_SIZE (CHDR_FIFO_SIZE), .CHDR_FIFO_SIZE (CHDR_FIFO_SIZE),
.NODE_INST (0), .NODE_INST (NODE_INST+lane),
.BASE (REG_BASE_ETH_SWITCH), .BASE (REG_BASE_ETH_SWITCH),
.PREAMBLE_BYTES (0), .PREAMBLE_BYTES (0),
.ADD_SOF (0), .ADD_SOF (0),
+9 -6
View File
@@ -17,6 +17,7 @@
// CHDR_W : CHDR bus width // CHDR_W : CHDR bus width
// BYTE_MTU : Transport MTU in bytes // BYTE_MTU : Transport MTU in bytes
// PORTNUM : Port number to distinguish multiple QSFP ports // PORTNUM : Port number to distinguish multiple QSFP ports
// NODE_INST : RFNoC transport adapter node instance for the first port
// RFNOC_PROTOVER : RFNoC protocol version for IPv4 interface // RFNOC_PROTOVER : RFNoC protocol version for IPv4 interface
// //
@@ -31,7 +32,8 @@ module x4xx_qsfp_wrapper_temp #(
parameter CPU_W = 64, parameter CPU_W = 64,
parameter CHDR_W = 64, parameter CHDR_W = 64,
parameter BYTE_MTU = $clog2(8*1024), parameter BYTE_MTU = $clog2(8*1024),
parameter [7:0] PORTNUM = 8'd0 parameter [7:0] PORTNUM = 8'd0,
parameter NODE_INST = 0
) ( ) (
// Resets // Resets
input logic areset, input logic areset,
@@ -296,11 +298,12 @@ module x4xx_qsfp_wrapper_temp #(
end end
x4xx_qsfp_wrapper #( x4xx_qsfp_wrapper #(
.PROTOCOL ({ PROTOCOL3, PROTOCOL2, PROTOCOL1, PROTOCOL0 }), .PROTOCOL ({ PROTOCOL3, PROTOCOL2, PROTOCOL1, PROTOCOL0 }),
.CPU_W (CPU_W), .CPU_W (CPU_W),
.CHDR_W (CHDR_W), .CHDR_W (CHDR_W),
.BYTE_MTU (BYTE_MTU), .BYTE_MTU (BYTE_MTU),
.PORTNUM (PORTNUM) .PORTNUM (PORTNUM),
.NODE_INST (NODE_INST)
) x4xx_qsfp_wrapper_i ( ) x4xx_qsfp_wrapper_i (
.areset (areset), .areset (areset),
.refclk_p (refclk_p), .refclk_p (refclk_p),