[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r7405 - usrp2/trunk/fpga/eth
From: |
matt |
Subject: |
[Commit-gnuradio] r7405 - usrp2/trunk/fpga/eth |
Date: |
Fri, 11 Jan 2008 19:16:57 -0700 (MST) |
Author: matt
Date: 2008-01-11 19:16:56 -0700 (Fri, 11 Jan 2008)
New Revision: 7405
Modified:
usrp2/trunk/fpga/eth/tx_prot_engine.v
Log:
generates proper sequence numbers and adds in a channel
Modified: usrp2/trunk/fpga/eth/tx_prot_engine.v
===================================================================
--- usrp2/trunk/fpga/eth/tx_prot_engine.v 2008-01-11 22:04:50 UTC (rev
7404)
+++ usrp2/trunk/fpga/eth/tx_prot_engine.v 2008-01-12 02:16:56 UTC (rev
7405)
@@ -25,16 +25,22 @@
// Protocol Stuff
input [15:0] rx_fifo_status,
- input [7:0] rx_seqnum,
- input [7:0] tx_channel,
- input [7:0] tx_flags
+ input [7:0] rx_seqnum
+ //input [7:0] tx_channel,
+ //input [7:0] tx_flags
);
wire [3:0] hdr_adr;
wire [31:0] hdr_dat;
+ wire [7:0] tx_channel;
+
header_ram #(.REGNUM(32),.WIDTH(32)) tx_header_ram
(.clk(clk),.set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
.addr(hdr_adr),.q(hdr_dat));
+
+ setting_reg #(.my_addr(32)) sr_channel
+ (.clk(clk),.rst(rst),.strobe(set_stb),.addr(set_addr),.in(set_data),
+ .out(tx_channel),.changed());
// Might as well use a shortfifo here since they are basically free
wire empty, full, sfifo_write, sfifo_read;
@@ -62,13 +68,18 @@
localparam PROT_HDR4 = 4;
localparam PROT_PKT = 5;
localparam PROT_TRAIL = 6;
+
+ always @(posedge clk)
+ if(rst)
+ tx_seqnum <= 0;
+ else if(set_stb & (set_addr == 36))
+ tx_seqnum <= set_data[7:0];
+ else if(tx_mac_wa_d1 & (prot_state == PROT_TRAIL))
+ tx_seqnum <= tx_seqnum + 1;
always @(posedge clk)
if(rst)
- begin
- tx_seqnum <= 0;
- prot_state <= PROT_IDLE;
- end
+ prot_state <= PROT_IDLE;
else
if(tx_mac_wa_d1)
case(prot_state)
@@ -87,10 +98,7 @@
if(sfifo_out[32] & ~empty)
prot_state <= PROT_TRAIL;
PROT_TRAIL :
- begin
- prot_state <= PROT_IDLE;
- tx_seqnum <= tx_seqnum + 1;
- end
+ prot_state <= PROT_IDLE; // seqnum increments here
default :
prot_state <= PROT_IDLE;
endcase // case(prot_state)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r7405 - usrp2/trunk/fpga/eth,
matt <=