summaryrefslogtreecommitdiff
path: root/gr-radar-mono/src/fpga/lib/radar_rx.v
diff options
context:
space:
mode:
Diffstat (limited to 'gr-radar-mono/src/fpga/lib/radar_rx.v')
-rw-r--r--gr-radar-mono/src/fpga/lib/radar_rx.v109
1 files changed, 0 insertions, 109 deletions
diff --git a/gr-radar-mono/src/fpga/lib/radar_rx.v b/gr-radar-mono/src/fpga/lib/radar_rx.v
deleted file mode 100644
index 4b0b83c49..000000000
--- a/gr-radar-mono/src/fpga/lib/radar_rx.v
+++ /dev/null
@@ -1,109 +0,0 @@
-// -*- verilog -*-
-//
-// USRP - Universal Software Radio Peripheral
-//
-// Copyright (C) 2007 Corgan Enterprises LLC
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301 USA
-//
-
-`include "../../../../usrp/firmware/include/fpga_regs_common.v"
-`include "../../../../usrp/firmware/include/fpga_regs_standard.v"
-
-module radar_rx(clk_i,rst_i,ena_i,dbg_i,pulse_num_i,rx_in_i_i,
- rx_in_q_i,rx_i_o,rx_q_o,rx_strobe_o);
-
- input clk_i;
- input rst_i;
- input ena_i;
- input dbg_i;
-
- input [15:0] rx_in_i_i;
- input [15:0] rx_in_q_i;
- input [15:0] pulse_num_i;
-
- output [15:0] rx_i_o;
- output [15:0] rx_q_o;
- output reg rx_strobe_o;
-
- reg [15:0] count;
-
- always @(posedge clk_i)
- if (rst_i | ~ena_i)
- count <= 16'b0;
- else
- count <= count + 16'b1;
-
- wire [31:0] fifo_inp = dbg_i ? {count[15:0],pulse_num_i[15:0]} : {rx_in_i_i,rx_in_q_i};
-
- // Buffer incoming samples every clock
- wire [31:0] fifo_out;
- reg fifo_ack;
- wire fifo_empty;
-
-// Use model if simulating, otherwise Altera Megacell
-`ifdef SIMULATION
- fifo_1clk #(32, 2048) buffer(.clock(clk_i),.sclr(rst_i),
- .data(fifo_inp),.wrreq(ena_i),
- .rdreq(fifo_ack),.q(fifo_out),
- .empty(fifo_empty));
-`else
- fifo32_2k buffer(.clock(clk_i),.sclr(rst_i),
- .data(fifo_inp),.wrreq(ena_i),
- .rdreq(fifo_ack),.q(fifo_out),
- .empty(fifo_empty));
-`endif
-
- // Write samples to rx_fifo every third clock
- `define ST_FIFO_IDLE 3'b001
- `define ST_FIFO_STROBE 3'b010
- `define ST_FIFO_ACK 3'b100
-
- reg [2:0] state;
-
- always @(posedge clk_i)
- if (rst_i)
- begin
- state <= `ST_FIFO_IDLE;
- rx_strobe_o <= 1'b0;
- fifo_ack <= 1'b0;
- end
- else
- case (state)
- `ST_FIFO_IDLE:
- if (!fifo_empty)
- begin
- // Tell rx_fifo sample is ready
- rx_strobe_o <= 1'b1;
- state <= `ST_FIFO_STROBE;
- end
- `ST_FIFO_STROBE:
- begin
- rx_strobe_o <= 1'b0;
- // Ack our FIFO
- fifo_ack <= 1'b1;
- state <= `ST_FIFO_ACK;
- end
- `ST_FIFO_ACK:
- begin
- fifo_ack <= 1'b0;
- state <= `ST_FIFO_IDLE;
- end
- endcase // case(state)
-
- assign rx_i_o = fifo_out[31:16];
- assign rx_q_o = fifo_out[15:0];
-
-endmodule // radar_rx