Merged -r6379:6451 from jcorgan/radar into trunk. Adds working receiver implementati...
[debian/gnuradio] / gr-radar-mono / src / fpga / lib / radar.v
index 127e9cee3a9877545aff5d5ff3337701b17bc87e..d71d9397c6d582f5af5c31200f0e85cbc14d5459 100644 (file)
@@ -24,8 +24,8 @@
 module radar(clk_i,saddr_i,sdata_i,s_strobe_i,
             tx_side_o,tx_strobe_o,tx_dac_i_o,tx_dac_q_o,
             rx_adc_i_i,rx_adc_q_i,
-            rx_strobe_o,rx_ech_i_o,rx_ech_q_o);
-
+            rx_strobe_o,rx_ech_i_o,rx_ech_q_o,auto_tr_o);
+   
    // System interface
    input         clk_i;                // Master clock @ 64 MHz
    input  [6:0]  saddr_i;      // Configuration bus address
@@ -37,7 +37,8 @@ module radar(clk_i,saddr_i,sdata_i,s_strobe_i,
    output        tx_strobe_o;  // Generate an transmitter output sample
    output [13:0] tx_dac_i_o;   // I channel transmitter output to DAC
    output [13:0] tx_dac_q_o;    // Q channel transmitter output to DAC
-   
+   output        auto_tr_o;     // Transmit/Receive switching
+      
    // Receive subsystem
    input  [15:0] rx_adc_i_i;   // I channel input from ADC
    input  [15:0] rx_adc_q_i;   // Q channel input from ADC
@@ -53,6 +54,7 @@ module radar(clk_i,saddr_i,sdata_i,s_strobe_i,
    wire         rx_enable;     // Receiver enable
    wire          tx_ctrl;       // Transmitter on control
    wire          rx_ctrl;       // Receiver on control
+   wire [15:0]          pulse_num;     // Count of pulses since tx_enabled
         
    // Configuration
    wire [15:0]          ampl;          // Pulse amplitude
@@ -63,7 +65,8 @@ module radar(clk_i,saddr_i,sdata_i,s_strobe_i,
      (.clk_i(clk_i),.saddr_i(saddr_i),.sdata_i(sdata_i),.s_strobe_i(s_strobe_i),
       .reset_o(reset),.tx_side_o(tx_side_o),.dbg_o(debug_enabled),
       .tx_strobe_o(tx_strobe_o),.tx_ctrl_o(tx_ctrl),.rx_ctrl_o(rx_ctrl),
-      .ampl_o(ampl),.fstart_o(fstart),.fincr_o(fincr));
+      .ampl_o(ampl),.fstart_o(fstart),.fincr_o(fincr),.pulse_num_o(pulse_num));
+    assign auto_tr_o = tx_ctrl;
 
    radar_tx transmitter
      ( .clk_i(clk_i),.rst_i(reset),.ena_i(tx_ctrl),.strobe_i(tx_strobe_o),
@@ -72,7 +75,7 @@ module radar(clk_i,saddr_i,sdata_i,s_strobe_i,
    
    radar_rx receiver
      ( .clk_i(clk_i),.rst_i(reset),.ena_i(rx_ctrl),.dbg_i(debug_enabled),
-       .rx_in_i_i(rx_adc_i_i),.rx_in_q_i(rx_adc_q_i),
+       .pulse_num_i(pulse_num),.rx_in_i_i(rx_adc_i_i),.rx_in_q_i(rx_adc_q_i),
        .rx_strobe_o(rx_strobe_o),.rx_i_o(rx_ech_i_o),.rx_q_o(rx_ech_q_o) );
    
 endmodule // radar