Add start of regs

This commit is contained in:
Byron Lathi
2024-08-16 08:24:14 -07:00
parent 7ba9658560
commit 52a76e3a85
4 changed files with 156 additions and 0 deletions

View File

@@ -0,0 +1,135 @@
addrmap tcp_stream {
name = "TCP Stream Regs";
desc = "";
reg {
name = "SourcePort";
desc = "";
field {
name = "d";
desc = "";
hw = r;
sw = rw;
} d[31:0] = 0x0;
} source_port @ 0x0;
reg {
name = "SourceIP";
desc = "";
field {
name = "d";
desc = "";
hw = r;
sw = rw;
} d[31:0] = 0x0;
} source_ip @ 0x4;
reg {
name = "DestPort";
desc = "";
field {
name = "d";
desc = "";
hw = r;
sw = rw;
} d[31:0] = 0x0;
} dest_port @ 0x8;
reg {
name = "DestIP";
desc = "";
field {
name = "d";
desc = "";
hw = r;
sw = rw;
} d[31:0] = 0x0;
} dest_ip @ 0xc;
reg {
name = "Control";
desc = "";
field {
name = "Enable";
desc = "Enable the stream";
hw = r;
sw = rw;
} enable[0:0] = 0x0;
field {
name = "Open";
desc = "Open a new connection with the given parameters.
When written with 1, initiate a TCP handshake.";
hw = r;
sw = rw;
hwclr;
} open[1:1] = 0x0;
field {
name = "Close";
desc = "Closes the exisitng connection when written with 1";
hw = r;
sw = rw;
hwclr
} close[2:2] = 0x0;
field {
name = "State";
desc = "Current state of the TCP connection";
hw = w;
sw = r;
} state[5:3] = 0x0;
} control @ 0x10;
// is addrmap right for this? How do we specify the address of it though?
// Maybe we have to do this separately and include it?
addrmap stats {
name = "Statistics";
desc = "";
reg {
name = "TXValidPackets";
desc = "Number of packets transmitted";
field {
name = "d";
desc = "";
hw = r;
sw = w;
} d[31:0] = 0x0;
} tx_valid_packets @ 0x14;
reg {
name = "RXValidPackets";
desc = "Number of valid received packets";
field {
name = "d";
desc = "";
hw = r;
sw = w;
} d[31:0] = 0x0;
} rx_valid_packets @ 0x4;
reg {
name = "RXBadCRC";
desc = "RX packets with bad CRC";
field {
name = "d";
desc = "";
hw = r;
sw = w;
} d[31:0] = 0x0;
} rx_bad_crc @ 0x8;
};
};

View File

@@ -0,0 +1,21 @@
module tcp_stream(
);
// regs
// tcp state manager
// tx buffer
// tx control
// packet generator
// parser
// rx control
// rx buffer
endmodule