(originally posted on nabble without subscribing- previously was

subscribed

as [email protected])

Trying to fix the problem of the transmitter repeating the last sample

when

the fifo empties for doing gmsk on BasicTX/RX and/or LFRX/TX.

bus_interface.v line 116 has:

assign txdata = tx_empty ? 32’b0 : txd;

which says to me, load 32 bits of 0 when tx_empty, otherwise load the

data…

so why doesn’t this work? Did I miss something (probably!)

As an alternative, what about in tx_buffer around line 69:

if((load_next != channels) & !tx_empty)

begin

load_next <= #1 load_next + 4’d1;

case(load_next)

4’d0 : tx_i_0 <= #1 fifodata;

4’d1 : tx_q_0 <= #1 fifodata;

4’d2 : tx_i_1 <= #1 fifodata;

4’d3 : tx_q_1 <= #1 fifodata;

4’d4 : tx_i_2 <= #1 fifodata;

4’d5 : tx_q_2 <= #1 fifodata;

4’d6 : tx_i_3 <= #1 fifodata;

4’d7 : tx_q_3 <= #1 fifodata;

endcase // case(load_next)

end // if ((load_next != channels) & !tx_empty)

what if instead of checking for tx_empty and loading fifodata we do

this:

if(load_next != channels)

begin

load_next <= #1 load_next + 4’d1;

case(load_next)

4’d0 : tx_i_0 <= #1 tx_empty ? 16’d0 : fifodata;

4’d1 : tx_q_0 <= #1 tx_empty ? 16’d0 : fifodata;

4’d2 : tx_i_1 <= #1 tx_empty ? 16’d0 : fifodata;

4’d3 : tx_q_1 <= #1 tx_empty ? 16’d0 : fifodata;

4’d4 : tx_i_2 <= #1 tx_empty ? 16’d0 : fifodata;

4’d5 : tx_q_2 <= #1 tx_empty ? 16’d0 : fifodata;

4’d6 : tx_i_3 <= #1 tx_empty ? 16’d0 : fifodata;

4’d7 : tx_q_3 <= #1 tx_empty ? 16’d0 : fifodata;

endcase // case(load_next)

end // if ((load_next != channels) & !tx_empty)

–

View this message in context:

http://www.nabble.com/tx_empty-in-fpga-tf2980108.html#a8327128

Sent from the GnuRadio mailing list archive at Nabble.com.