fpga: lib: Add clock domain comments to interfaces

Original-commit: c64258e09b221d0bfeb55e01085a20e37c5b62ba
This commit is contained in:
Wade Fife
2021-06-03 11:26:54 -05:00
committed by Aaron Rossetto
parent b7bd308e9c
commit ab09eb9b09
7 changed files with 28 additions and 13 deletions
+3 -2
View File
@@ -3,8 +3,9 @@
//
// SPDX-License-Identifier: LGPL-3.0-or-later
//
// Header File: AxiIf.vh
// Description: Macros for use with AXI4(FULL)
// Header File: axi.vh
//
// Description: Macros for use with AxiIf (AXI4 full)
//
//-----------------------------------------------------------------------------
+1
View File
@@ -14,6 +14,7 @@
module axi4s_fifo #(
int SIZE = 1 // default size set to one to act as a pipe phase
) (
// Clock domain: i.clk (o.clk is unused)
input logic clear=1'b0,
interface i, // AxiStreamIf or AxiStreamPacketIf
interface o, // AxiStreamIf or AxiStreamPacketIf
+4 -4
View File
@@ -45,18 +45,18 @@ module chdr_xport_adapter #(
int NODE_INST = 0,
bit ALLOW_DISC = 1
)(
// Device info
// Device info (domain: eth_rx.clk)
input logic [15:0] device_id,
// Device addresses
// Device addresses (domain: eth_rx.clk)
input logic [47:0] my_mac,
input logic [31:0] my_ip,
input logic [15:0] my_udp_chdr_port,
// Ethernet
// Ethernet (domain: eth_rx.clk)
AxiStreamIf.slave eth_rx, // tUser={*not used*}
AxiStreamIf.master eth_tx, // tUser={1'b0,trailing bytes}
// CHDR
// CHDR (domain: eth_rx.clk)
AxiStreamIf.slave v2e, // tUser={*not used*}
AxiStreamIf.master e2v // tUser={*not used*}
);
+2
View File
@@ -24,6 +24,8 @@ module eth_ipv4_add_udp #(
logic [15:0] FLAG_FRAG = { 3'b010 /* don't fragment */, 13'h0 },
logic [15:0] TTL_PROT = { 8'h10 /* TTL */, 8'h11 /* UDP */ }
)(
// Clock domain: i.clk (o_.clk is unused)
// Device addresses
input logic [47:0] mac_src,
input logic [31:0] ip_src,
+8 -3
View File
@@ -25,7 +25,8 @@
// - PREAMBLE_BYTES: Number of bytes of Preamble expected
// - ADD_SOF: Add a SOF indication into the tuser field of the e2c path.
// If false use TKEEP instead of USER.
// - SYNC: Set if MAC is not the same as bus_clk
// - SYNC: Set if the CPU clock domain (c2e, e2c) is not the same as the
// Ethernet clock domain (eth_rx, eth_tx).
// - ENET_W: Width of the link to the Ethernet MAC
// - CPU_W: Width of the CPU interface
// - CHDR_W: Width of the CHDR interface
@@ -71,15 +72,19 @@ module eth_ipv4_chdr_adapter #(
output logic chdr_dropped,
output logic cpu_dropped,
// Ethernet MAC
// Ethernet MAC (domain: eth_rx.clk)
output logic eth_pause_req,
AxiStreamIf.master eth_tx, // tUser = {1'b0,trailing bytes};
AxiStreamIf.slave eth_rx, // tUser = {error,trailing bytes};
// CHDR router interface
// CHDR router interface (eth_rx.clk)
AxiStreamIf.master e2v, // tUser = {*not used*};
AxiStreamIf.slave v2e, // tUser = {*not used*};
// CPU DMA
// (domain: e2c.clk if SYNC=0, else eth_rx.clk)
AxiStreamIf.master e2c, // tUser = {sof,trailing bytes};
// (domain: c2e.clk if SYNC=0, else eth_rx.clk)
AxiStreamIf.slave c2e // tUser = {1'b0,trailing bytes};
);
@@ -47,6 +47,7 @@ module eth_ipv4_chdr_dispatch #(
bit DROP_MIN_PACKET = 0,
int ENET_W = 64
)(
// Clock domain: eth_rx.clk (other interface clocks are unused)
// AXI-Stream interfaces
output logic eth_pause_req,
+8 -3
View File
@@ -19,7 +19,8 @@
// - DROP_MIN_PACKET: Drop packets smaller than 64 bytes?
// - PREAMBLE_BYTES: Number of bytes of Preamble expected
// - ADD_SOF: Add a SOF indication into the tuser field of e2c
// - SYNC: Set if MAC is not the same as bus_clk
// - SYNC: Set if the CPU clock domain (c2e, e2c) is not the same as the
// Ethernet clock domain (eth_rx, eth_tx).
// - ENET_W: Width of the link to the Ethernet MAC
// - CPU_W: Width of the CPU interface
// - CHDR_W: Width of the CHDR interface
@@ -63,15 +64,19 @@ module eth_ipv4_interface #(
output logic [31:0] my_ip,
output logic [15:0] my_udp_chdr_port,
// Ethernet MAC
// Ethernet MAC (domain: eth_rx.clk)
output logic eth_pause_req,
AxiStreamIf.master eth_tx, // tUser = {1'b0,trailing bytes};
AxiStreamIf.slave eth_rx, // tUser = {error,trailing bytes};
// CHDR router interface
// CHDR router interface (domain: eth_rx.clk)
AxiStreamIf.master e2v, // tUser = {*not used*};
AxiStreamIf.slave v2e, // tUser = {*not used*};
// CPU DMA
// (domain: e2c.clk if SYNC=0, else eth_rx.clk)
AxiStreamIf.master e2c, // tUser = {sof,trailing bytes};
// (domain: c2e.clk if SYNC=0, else eth_rx.clk)
AxiStreamIf.slave c2e // tUser = {1'b0,trailing bytes};
);