[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r6060 - gnuradio/branches/developers/matt/u2f/sdr_lib
From: |
matt |
Subject: |
[Commit-gnuradio] r6060 - gnuradio/branches/developers/matt/u2f/sdr_lib |
Date: |
Tue, 24 Jul 2007 16:10:47 -0600 (MDT) |
Author: matt
Date: 2007-07-24 16:10:44 -0600 (Tue, 24 Jul 2007)
New Revision: 6060
Modified:
gnuradio/branches/developers/matt/u2f/sdr_lib/dsp_core_tx.v
Log:
switched to long fifo, redid enables to better handle underruns
Modified: gnuradio/branches/developers/matt/u2f/sdr_lib/dsp_core_tx.v
===================================================================
--- gnuradio/branches/developers/matt/u2f/sdr_lib/dsp_core_tx.v 2007-07-24
22:10:04 UTC (rev 6059)
+++ gnuradio/branches/developers/matt/u2f/sdr_lib/dsp_core_tx.v 2007-07-24
22:10:44 UTC (rev 6060)
@@ -43,15 +43,17 @@
wire full, empty;
assign tx_done_o = 0;
- assign tx_read_o = tx_ready_i & ~full;
+ assign tx_read_o = tx_ready_i & ~full; // FIXME potential critical
path
assign underrun = empty & stb_interp;
+
+ wire enable_tx = run_tx;
- shortfifo txshortfifo
+ longfifo #(.WIDTH(32),.SIZE(9)) txfifo
(.clk(clk),.rst(rst),.datain(tx_dat_i),.dataout({q,i}),
.read(stb_interp & ~empty),.write(tx_read_o),.full(full),.empty(empty));
strobe_gen
strobe_gen(.clock(clk),.reset(rst),.enable(run_tx),.rate(interp_rate),
- .strobe_in(1),.strobe(stb_interp) );
+ .strobe_in(enable_tx),.strobe(stb_interp) );
always @(posedge clk)
if(rst)
@@ -67,17 +69,17 @@
wire [15:0] i_interp, q_interp;
cic_interp #(.bw(16),.N(4),.log2_of_max_rate(7))
- cic_interp_i(.clock(clk),.reset(rst),.enable(run_tx),.rate(interp_rate),
+
cic_interp_i(.clock(clk),.reset(rst),.enable(enable_tx),.rate(interp_rate),
.strobe_in(stb_interp),.strobe_out(1),
- .signal_in(i),.signal_out(i_interp));
+ .signal_in(empty ? 0 : i),.signal_out(i_interp));
cic_interp #(.bw(16),.N(4),.log2_of_max_rate(7))
- cic_interp_q(.clock(clk),.reset(rst),.enable(run_tx),.rate(interp_rate),
+
cic_interp_q(.clock(clk),.reset(rst),.enable(enable_tx),.rate(interp_rate),
.strobe_in(stb_interp),.strobe_out(1),
- .signal_in(q),.signal_out(q_interp));
+ .signal_in(empty ? 0 : q),.signal_out(q_interp));
cordic #(.bitwidth(16),.zwidth(16))
- cordic(.clock(clk), .reset(rst), .enable(run_tx),
+ cordic(.clock(clk), .reset(rst), .enable(enable_tx),
.xi(i_interp),.yi(q_interp),.zi(phase[31:16]),
.xo(da),.yo(db),.zo() );
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r6060 - gnuradio/branches/developers/matt/u2f/sdr_lib,
matt <=