aboutsummaryrefslogtreecommitdiffstats
path: root/usrp2/sdr_lib/dsp_core_rx.v
diff options
context:
space:
mode:
authorMatt Ettus <matt@ettus.com>2011-05-09 17:20:32 -0700
committerMatt Ettus <matt@ettus.com>2011-06-08 10:52:51 -0700
commit568535308d377eeb459a385f7a10b40cbe73a4d9 (patch)
tree746a8743e86c0e6d521c8c5a6cfcc74c2ab7e61e /usrp2/sdr_lib/dsp_core_rx.v
parent90c74cd45885ab2aba3d090a8deebd11b96c6d7c (diff)
downloaduhd-568535308d377eeb459a385f7a10b40cbe73a4d9.tar.gz
uhd-568535308d377eeb459a385f7a10b40cbe73a4d9.tar.bz2
uhd-568535308d377eeb459a385f7a10b40cbe73a4d9.zip
dsp: add2_and_clip_reg and round_sd now are now strobed to be compatible
with strobed (non-full rate) data
Diffstat (limited to 'usrp2/sdr_lib/dsp_core_rx.v')
-rw-r--r--usrp2/sdr_lib/dsp_core_rx.v20
1 files changed, 11 insertions, 9 deletions
diff --git a/usrp2/sdr_lib/dsp_core_rx.v b/usrp2/sdr_lib/dsp_core_rx.v
index f17c2816f..6a12836f2 100644
--- a/usrp2/sdr_lib/dsp_core_rx.v
+++ b/usrp2/sdr_lib/dsp_core_rx.v
@@ -102,10 +102,12 @@ module dsp_core_rx
.rate(cic_decim_rate),.strobe_in(1'b1),.strobe_out(strobe_cic),
.signal_in(q_cordic),.signal_out(q_cic));
- round_sd #(.WIDTH_IN(24),.WIDTH_OUT(18)) round_icic (.clk(clk),.in(i_cic),.out(i_cic_scaled));
- round_sd #(.WIDTH_IN(24),.WIDTH_OUT(18)) round_qcic (.clk(clk),.in(q_cic),.out(q_cic_scaled));
- reg strobe_cic_d1;
- always @(posedge clk) strobe_cic_d1 <= strobe_cic;
+ wire strobe_cic_d1;
+ round_sd #(.WIDTH_IN(24),.WIDTH_OUT(18))
+ round_icic (.clk(clk),. in(i_cic), .strobe_in(strobe_cic), .out(i_cic_scaled), .strobe_out(strobe_cic_d1));
+
+ round_sd #(.WIDTH_IN(24),.WIDTH_OUT(18))
+ round_qcic (.clk(clk), .in(q_cic), .strobe_in(strobe_cic), .out(q_cic_scaled), .strobe_out());
small_hb_dec #(.WIDTH(18)) small_hb_i
(.clk(clk),.rst(rst),.bypass(~enable_hb1),.run(run),
@@ -124,13 +126,13 @@ module dsp_core_rx
(.clk(clk),.rst(rst),.bypass(~enable_hb2),.run(run),.cpi(cpi_hb),
.stb_in(strobe_hb1),.data_in(q_hb1),.stb_out(),.data_out(q_hb2));
- round_reg #(.bits_in(18),.bits_out(16)) round_iout (.clk(clk),.in(i_hb2),.out(i_out));
- round_reg #(.bits_in(18),.bits_out(16)) round_qout (.clk(clk),.in(q_hb2),.out(q_out));
- reg strobe_out;
- always @(posedge clk) strobe_out <= strobe_hb2;
+ round_sd #(.bits_in(18),.bits_out(16))
+ round_iout (.clk(clk), .in(i_hb2), .strobe_in(strobe_hb2), .out(i_out), .strobe_out(strobe));
+
+ round_sd #(.bits_in(18),.bits_out(16))
+ round_qout (.clk(clk), .in(q_hb2), .strobe_in(strobe_hb2), .out(q_out), .strobe_out());
assign sample = {i_hb2,q_hb2};
- assign strobe = strobe_out;
assign debug = {enable_hb1, enable_hb2, run, strobe, strobe_cic, strobe_cic_d1, strobe_hb1, strobe_hb2};
endmodule // dsp_core_rx