diff options
| author | Matt Ettus <matt@ettus.com> | 2011-05-15 13:55:45 -0700 | 
|---|---|---|
| committer | Matt Ettus <matt@ettus.com> | 2011-06-08 10:52:52 -0700 | 
| commit | b5283ddff6ea1564688b0db83bcb98c1b195f698 (patch) | |
| tree | 9625f889880cd83d411c42aa5a6c73eff8737bb6 | |
| parent | b9b183315a232b3bdd2c82ee924678612ff50e0c (diff) | |
| download | uhd-b5283ddff6ea1564688b0db83bcb98c1b195f698.tar.gz uhd-b5283ddff6ea1564688b0db83bcb98c1b195f698.tar.bz2 uhd-b5283ddff6ea1564688b0db83bcb98c1b195f698.zip | |
dsp: register hb output
| -rw-r--r-- | usrp2/sdr_lib/dsp_core_rx_tb.v | 2 | ||||
| -rw-r--r-- | usrp2/sdr_lib/hb_dec.v | 17 | ||||
| -rw-r--r-- | usrp2/sdr_lib/hb_dec_tb.v | 6 | ||||
| -rw-r--r-- | usrp2/sdr_lib/input.dat | 283 | 
4 files changed, 15 insertions, 293 deletions
| diff --git a/usrp2/sdr_lib/dsp_core_rx_tb.v b/usrp2/sdr_lib/dsp_core_rx_tb.v index ff35d4027..67a558d55 100644 --- a/usrp2/sdr_lib/dsp_core_rx_tb.v +++ b/usrp2/sdr_lib/dsp_core_rx_tb.v @@ -50,7 +50,7 @@ module dsp_core_rx_tb();  	set_stb <= 1;  	@(posedge clk);  	set_addr <= 2; -	set_data <= {16'd0,8'd0,8'd8}; // set decim +	set_data <= {16'd0,8'd3,8'd1}; // set decim  	set_stb <= 1;  	@(posedge clk);  	set_stb <= 0; diff --git a/usrp2/sdr_lib/hb_dec.v b/usrp2/sdr_lib/hb_dec.v index 59c66ea28..eba79b938 100644 --- a/usrp2/sdr_lib/hb_dec.v +++ b/usrp2/sdr_lib/hb_dec.v @@ -30,8 +30,8 @@ module hb_dec       input [8:0] cpi,  // Clocks per input -- equal to the decimation ratio ahead of this block       input stb_in,       input [IWIDTH-1:0] data_in, -     output stb_out, -     output [OWIDTH-1:0] data_out); +     output reg stb_out, +     output reg [OWIDTH-1:0] data_out);     // Control     reg [3:0] 		addr_odd_a, addr_odd_b, addr_odd_c, addr_odd_d; @@ -126,8 +126,8 @@ module hb_dec     srl #(.WIDTH(IWIDTH)) srl_odd_d       (.clk(clk),.write(write_odd),.in(data_in),.addr(addr_odd_d),.out(data_odd_d)); -   add2_reg /*_and_round_reg*/ #(.WIDTH(IWIDTH)) add1 (.clk(clk),.in1(data_odd_a),.in2(data_odd_b),.sum(sum1)); -   add2_reg /*_and_round_reg*/ #(.WIDTH(IWIDTH)) add2 (.clk(clk),.in1(data_odd_c),.in2(data_odd_d),.sum(sum2)); +   add2_reg #(.WIDTH(IWIDTH)) add1 (.clk(clk),.in1(data_odd_a),.in2(data_odd_b),.sum(sum1)); +   add2_reg #(.WIDTH(IWIDTH)) add2 (.clk(clk),.in1(data_odd_c),.in2(data_odd_d),.sum(sum2));     wire [IWIDTH-1:0] data_even;     reg [3:0] 	     addr_even; @@ -164,7 +164,7 @@ module hb_dec       signext_data_even (.in(data_even),.out(data_even_signext[ACCWIDTH-1:SHIFT_FACTOR]));     assign 		data_even_signext[SHIFT_FACTOR-1:0] = 0; -   add2_reg /* add2_and_round_reg */ #(.WIDTH(ACCWIDTH+1))  +   add2_reg #(.WIDTH(ACCWIDTH+1))        final_adder (.clk(clk), .in1({acc_out,1'b0}), .in2({data_even_signext,1'b0}), .sum(final_sum_unrounded));     wire [OWIDTH-1:0] 	bypass_data; @@ -181,7 +181,10 @@ module hb_dec  		 .out(bypass_data), .strobe_out(stb_bypass));     // Output -   assign stb_out = bypass ? stb_bypass : stb_final; -   assign data_out = bypass ? bypass_data : final_sum; +   always @(posedge clk) +     begin +	stb_out  <= bypass ? stb_bypass : stb_final; +	data_out <= bypass ? bypass_data : final_sum; +     end  endmodule // hb_dec diff --git a/usrp2/sdr_lib/hb_dec_tb.v b/usrp2/sdr_lib/hb_dec_tb.v index 256f6085d..ac64f22a7 100644 --- a/usrp2/sdr_lib/hb_dec_tb.v +++ b/usrp2/sdr_lib/hb_dec_tb.v @@ -28,7 +28,7 @@ module hb_dec_tb( ) ;      reg                     strobe_in ;      reg     signed  [17:0]  data_in ;      wire                    strobe_out ; -    wire    signed  [17:0]  data_out ; +    wire    signed  [15:0]  data_out ;     initial       begin @@ -65,8 +65,8 @@ module hb_dec_tb( ) ;      */ -   hb_dec #(.IWIDTH(18),.OWIDTH(18),.CWIDTH(18),.ACCWIDTH(24)) uut -     (.clk(clock),.rst(reset),.bypass(0),.cpi(clocks),.stb_in(strobe_in),.data_in(data_in), +   hb_dec #(.IWIDTH(18),.OWIDTH(16),.CWIDTH(18),.ACCWIDTH(24)) uut +     (.clk(clock),.rst(reset),.bypass(0),.run(1),.cpi(clocks),.stb_in(strobe_in),.data_in(data_in),        .stb_out(strobe_out),.data_out(data_out) );      integer i, ri, ro, infile, outfile ; diff --git a/usrp2/sdr_lib/input.dat b/usrp2/sdr_lib/input.dat index 1e649ac2e..486c0252f 100644 --- a/usrp2/sdr_lib/input.dat +++ b/usrp2/sdr_lib/input.dat @@ -6,172 +6,6 @@  0  0  0 --131072 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -131071 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -131071 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0  0  0  0 @@ -206,122 +40,6 @@  0  0  0 --131072 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 --131072 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0  0  0  0 @@ -339,3 +57,4 @@  0  0  0 + | 
