Here is a patch to correct a bug in the USRP 1 FGPA code. As written, the code will not build if RX_CIC_ON is not defined (if the user attempts to build a version without the CIC decimator), the compiler directives include a block of code fails to correctly rout the data and sample strobe directly to the halfband filter.

---Side note---
Incidentally, I've tested the USRP with this patch applied, both the CIC filter and halfband filter removed, and my quantization code (previously presented for review on the discussion list) in place and successfully achieved a 64 MHz sample rate for low quantization levels. "Low" is defined by the quality of the USB connection and any host computer processing/hard drive speed limitations.

--Paul
Index: usrp/fpga/sdr_lib/rx_chain.v
===================================================================
--- usrp/fpga/sdr_lib/rx_chain.v        (revision 10455)
+++ usrp/fpga/sdr_lib/rx_chain.v        (working copy)
@@ -69,19 +69,20 @@
      ( .clock(clock),.reset(reset),.enable(enable),
        
.rate(decim_rate),.strobe_in(sample_strobe),.strobe_out(decimator_strobe),
        .signal_in(bb_i),.signal_out(hb_in_i) );
+   assign hb_strobe_in = decimator_strobe;
 `else
    assign hb_in_i = bb_i;
-   assign decimator_strobe = sample_strobe;
+   assign hb_strobe_in = sample_strobe;
 `endif
    
 `ifdef RX_HB_ON
    halfband_decim hbd_i_0
      ( .clock(clock),.reset(reset),.enable(enable),
-       .strobe_in(decimator_strobe),.strobe_out(hb_strobe),
+       .strobe_in(hb_strobe_in),.strobe_out(hb_strobe),
        .data_in(hb_in_i),.data_out(i_out),.debugctrl(debugctrl) );
 `else
    assign i_out = hb_in_i;
-   assign hb_strobe = decimator_strobe;
+   assign hb_strobe = hb_strobe_in;
 `endif
    
 `ifdef RX_CIC_ON
@@ -96,7 +97,7 @@
 `ifdef RX_HB_ON
    halfband_decim hbd_q_0
      ( .clock(clock),.reset(reset),.enable(enable),
-       .strobe_in(decimator_strobe),.strobe_out(),
+       .strobe_in(hb_strobe_in),.strobe_out(),
        .data_in(hb_in_q),.data_out(q_out) );   
 `else
    assign q_out = hb_in_q;
_______________________________________________
Patch-gnuradio mailing list
Patch-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/patch-gnuradio

Reply via email to