[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r5053 - gnuradio/branches/developers/thottelt/inband/u
From: |
thottelt |
Subject: |
[Commit-gnuradio] r5053 - gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib |
Date: |
Fri, 20 Apr 2007 14:49:26 -0600 (MDT) |
Author: thottelt
Date: 2007-04-20 14:49:26 -0600 (Fri, 20 Apr 2007)
New Revision: 5053
Modified:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib/chan_fifo_reader.v
gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib/usb_fifo_reader.v
Log:
coding style improved
Modified:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib/chan_fifo_reader.v
===================================================================
---
gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib/chan_fifo_reader.v
2007-04-20 19:54:14 UTC (rev 5052)
+++
gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib/chan_fifo_reader.v
2007-04-20 20:49:26 UTC (rev 5053)
@@ -56,7 +56,8 @@
always @(posedge tx_clock)
begin
- if (reset) begin
+ if (reset)
+ begin
reader_state <= `IDLE;
reader_next_state <= `IDLE;
rdreq <= 0;
@@ -64,81 +65,108 @@
overrun <= 0;
underrun <= 0;
burst <= 0;
- end
- else begin
+ end
+ else
+ begin
reader_state = reader_next_state;
case (reader_state)
- `IDLE: begin
+ `IDLE:
+ begin
reader_next_state <= pkt_waiting ? `READ : `IDLE;
rdreq <= pkt_waiting;
- end
- `READ: begin
+ end
+
+ // Just wait for the fifo data to arrive
+ `READ:
+ begin
reader_next_state <= `HEADER1;
- end
- `HEADER1: begin
+ end
+
+ // First part of the header nothing usefull
+ `HEADER1:
+ begin
reader_next_state <= `HEADER2;
- end
- `HEADER2: begin
+ end
+
+ // Read payload length
+ `HEADER2:
+ begin
payload_len <= (fifodata & 16'h1FF);
read_len <= 9'd0;
reader_next_state <= `TIMESTAMP1;
- end
- `TIMESTAMP1: begin
+ end
+
+ `TIMESTAMP1:
+ begin
timestamp <= {fifodata, 16'b0};
rdreq <= 0;
reader_next_state <= `TIMESTAMP2;
- end
- `TIMESTAMP2: begin
+ end
+
+ `TIMESTAMP2:
+ begin
timestamp <= timestamp + fifodata;
reader_next_state <= `WAIT;
- end
- `WAIT: begin
+ end
+
+ // Decide if we wait, send or discard samples
+ `WAIT:
+ begin
// Wait a little bit more
- if (timestamp > adc_clock + 5) begin
+ if (timestamp > adc_clock + 5)
reader_next_state <= `WAIT;
- end
// Prepare to send
else if (timestamp < adc_clock + 5
- && timestamp > adc_clock) begin
+ && timestamp > adc_clock)
+ begin
reader_next_state <= `SENDWAIT;
rdreq <= 1;
- end
+ end
// Outdated
- else if (timestamp < adc_clock) begin
+ else if (timestamp < adc_clock)
+ begin
reader_next_state <= `DISCARD;
skip <= 1;
- end
- end
+ end
+ end
- `SENDWAIT: begin
+ `SENDWAIT:
+ begin
reader_next_state <= `SEND;
- end
+ end
- `SEND: begin
+ // Send the samples to the tx_chain
+ `SEND:
+ begin
read_len <= read_len + 2;
// If end of payload...
- if (read_len == payload_len) begin
+ if (read_len == payload_len)
+ begin
reader_next_state <= `DISCARD;
skip <= (payload_len < 508);
- end
- else begin
+ end
+ else
+ begin
if (read_len == payload_len - 4)
rdreq <= 0;
// Forward data
tx_q <= fifodata;
- end
- end
- `DISCARD: begin
+ end
+ end
+
+ `DISCARD:
+ begin
skip <= 0;
reader_next_state <= `IDLE;
- end
+ end
- default: begin
+ default:
+ begin
$display ("Error unknown state");
reader_state <= `IDLE;
reader_next_state <= `IDLE;
- end
+ end
endcase
end
end
Modified:
gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib/usb_fifo_reader.v
===================================================================
---
gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib/usb_fifo_reader.v
2007-04-20 19:54:14 UTC (rev 5052)
+++
gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib/usb_fifo_reader.v
2007-04-20 20:49:26 UTC (rev 5053)
@@ -52,7 +52,8 @@
// FSM
always @(posedge tx_clock)
begin
- if (reset) begin
+ if (reset)
+ begin
reader_state <= `IDLE;
reader_next_state <= `IDLE;
rdreq <= 0;
@@ -60,25 +61,33 @@
WR_chan_0 <= 0;
WR_chan_1 <= 0;
WR_cmd <= 0;
- end
- else begin
- reader_state = reader_next_state;
- case(reader_state)
- `IDLE: begin
+ end
+ else
+ begin
+ reader_state = reader_next_state;
+ case(reader_state)
+ `IDLE:
+ begin
reader_next_state <= pkt_waiting ? `WAIT : `IDLE;
rdreq <= pkt_waiting;
+
+ // Unset the done flag from the previous
packet
cmd_done <= 0;
chan_1_done <= 0;
chan_0_done <= 0;
- end
-
- // Wait for the fifo's data
- `WAIT: begin
+ end
+
+ // Wait for the fifo's data
+ `WAIT:
+ begin
reader_next_state <= `READ_TARGET;
- end
+ end
- `READ_TARGET: begin
+ `READ_TARGET:
+ begin
reader_next_state <= `READ_LENGTH;
+
+ // Unset the done flag from the previous
packet
cmd_done <= 0;
chan_1_done <= 0;
chan_0_done <= 0;
@@ -94,9 +103,10 @@
//invalid channel -> channel 0;
default: WR_chan_0 <= 1;
endcase
- end
-
- `READ_LENGTH: begin
+ end
+
+ `READ_LENGTH:
+ begin
reader_next_state <= `FORWARD_DATA;
// Plus two bytes for timestamp
@@ -105,29 +115,35 @@
// Forward data
tx_data_bus <= fifodata;
- end
+ end
- `FORWARD_DATA: begin
+ `FORWARD_DATA:
+ begin
read_length <= read_length + 2;
// If end of payload...
- if (read_length == pkt_length) begin
- reader_next_state <= `SKIP_REST;
- // If the packet is 512 bytes, don't skip
- skip <= pkt_length < 506;
- end
+ if (read_length == pkt_length)
+ begin
+ reader_next_state <= `SKIP_REST;
+ // If the packet is 512 bytes, don't skip
+ skip <= pkt_length < 506;
+ end
else if (read_length == pkt_length - 2)
rdreq <= 0;
// Forward data
tx_data_bus <= fifodata;
- end
+ end
- `SKIP_REST: begin
+ `SKIP_REST:
+ begin
reader_next_state <= pkt_waiting ? `READ_TARGET : `IDLE;
+
+ // Data pushing done
WR_chan_0 <= 0;
WR_chan_1 <= 0;
WR_cmd <= 0;
+
case (channel)
`TXCHAN0: chan_0_done <= 1;
`TXCHAN1: chan_0_done <= 1;
@@ -135,14 +151,16 @@
//invalid channel -> channel 0;
default: WR_chan_0 <= 1;
endcase
+
rdreq <= pkt_waiting;
skip <= 0;
- end
- // reset
- default: begin
- reader_state <= `IDLE;
- reader_next_state <= `IDLE;
- end
+ end
+ // reset
+ default:
+ begin
+ reader_state <= `IDLE;
+ reader_next_state <= `IDLE;
+ end
endcase
end
end
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r5053 - gnuradio/branches/developers/thottelt/inband/usrp/fpga/sdr_lib,
thottelt <=