commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r8760 - usrp2/trunk/fpga/sdr_lib


From: matt
Subject: [Commit-gnuradio] r8760 - usrp2/trunk/fpga/sdr_lib
Date: Mon, 30 Jun 2008 19:18:48 -0600 (MDT)

Author: matt
Date: 2008-06-30 19:18:48 -0600 (Mon, 30 Jun 2008)
New Revision: 8760

Modified:
   usrp2/trunk/fpga/sdr_lib/rx_dcoffset.v
Log:
implement disable of dc offset, and use rounding macro instead of reinventing 
the wheel (incorrectly in this case).


Modified: usrp2/trunk/fpga/sdr_lib/rx_dcoffset.v
===================================================================
--- usrp2/trunk/fpga/sdr_lib/rx_dcoffset.v      2008-07-01 00:37:47 UTC (rev 
8759)
+++ usrp2/trunk/fpga/sdr_lib/rx_dcoffset.v      2008-07-01 01:18:48 UTC (rev 
8760)
@@ -12,19 +12,28 @@
    
    wire               set_now = set_stb & (ADDR == set_addr);
    
-   wire               fixed;  // uses fixed offset
+   reg                        fixed;  // uses fixed offset
    wire               signed [WIDTH-1:0] fixed_dco;
    reg                        signed [31:0] integrator;
-   
+
    always @(posedge clk)
      if(rst)
-       integrator <= 32'd0;
+       begin
+         fixed <= 0;
+         integrator <= 32'd0;
+       end
      else if(set_now)
-       integrator <= {set_data[WIDTH-1:0],{(32-WIDTH){1'b0}}};
+       begin
+         integrator <= {set_data[WIDTH-1:0],{(32-WIDTH){1'b0}}};
+         fixed <= set_data[31];
+       end
      else if(~fixed)
        integrator <= integrator + adc_out;
    
-   wire [WIDTH:0]      scaled_integrator = 
{integrator[31],(integrator[31:32-WIDTH] + (integrator[31] & 
|integrator[31-WIDTH:0]))};
+   wire [WIDTH:0] scaled_integrator;
+   
+   round #(.bits_in(33),.bits_out(15)) round 
(.in({integrator[31],integrator}),.out(scaled_integrator));
+   
    wire [WIDTH:0]      adc_out_int = {adc_in[WIDTH-1],adc_in} - 
scaled_integrator;
 
    clip_reg #(.bits_in(WIDTH+1),.bits_out(WIDTH)) clip_adc





reply via email to

[Prev in Thread] Current Thread [Next in Thread]