Merged r5463:5504 from jcorgan/snd into trunk. Work in progress, adds digital loopbac...
[debian/gnuradio] / gr-sounder / src / fpga / lib / sounder_tx.v
index d5300fecb9d639df0951f3f562aee29b3424af1a..46165dde5f27573ef3dff05593a806d50c11a03d 100644 (file)
@@ -22,8 +22,8 @@
 `include "../../../../usrp/firmware/include/fpga_regs_common.v"
 `include "../../../../usrp/firmware/include/fpga_regs_standard.v"
 
-`define MAX_VALUE 16'h7FFF // 2s complement
-`define MIN_VALUE 16'h8000
+`define MAX_VALUE 14'h1FFF // 2s complement
+`define MIN_VALUE 14'h2001
 
 module sounder_tx(clk_i,rst_i,ena_i,strobe_i,mask_i,tx_i_o,tx_q_o);
    input         clk_i;
@@ -31,15 +31,15 @@ module sounder_tx(clk_i,rst_i,ena_i,strobe_i,mask_i,tx_i_o,tx_q_o);
    input         ena_i;
    input         strobe_i;
    input  [15:0] mask_i;
-   output [15:0] tx_i_o;
-   output [15:0] tx_q_o;
+   output [13:0] tx_i_o;
+   output [13:0] tx_q_o;
 
    wire          pn;
 
    lfsr pn_code
      ( .clk_i(clk_i),.rst_i(rst_i),.ena_i(ena_i),.strobe_i(strobe_i),.mask_i(mask_i),.pn_o(pn) );
 
-   assign tx_i_o = pn ? `MAX_VALUE : `MIN_VALUE; // Bipolar
-   assign tx_q_o = 16'b0;
+   assign tx_i_o = ena_i ? (pn ? `MAX_VALUE : `MIN_VALUE) : 14'b0; // Bipolar
+   assign tx_q_o = 14'b0;
 
 endmodule // sounder_tx