diff options
author | Eric Blossom | 2009-09-04 15:07:06 -0700 |
---|---|---|
committer | Eric Blossom | 2009-09-04 15:07:06 -0700 |
commit | 9a100f391e52106ca872dd5df8287273eea64b0c (patch) | |
tree | d5f479d6376bb1d9b37c916dd2bf1aca1d960e67 /usrp2/fpga/sdr_lib/tx_control.v | |
parent | f945bc6d3188d15c767706a2edbbda950a101c61 (diff) | |
parent | 5965a434d0923738d49334eb5f3d74a259e7b431 (diff) | |
download | gnuradio-9a100f391e52106ca872dd5df8287273eea64b0c.tar.gz gnuradio-9a100f391e52106ca872dd5df8287273eea64b0c.tar.bz2 gnuradio-9a100f391e52106ca872dd5df8287273eea64b0c.zip |
Merge branch 'new_eth' of http://gnuradio.org/git/matt into new_eth
* 'new_eth' of http://gnuradio.org/git/matt:
seems to build a decent fpga, but still some issues with a full connection.
Diffstat (limited to 'usrp2/fpga/sdr_lib/tx_control.v')
-rw-r--r-- | usrp2/fpga/sdr_lib/tx_control.v | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/usrp2/fpga/sdr_lib/tx_control.v b/usrp2/fpga/sdr_lib/tx_control.v index 8766afd8b..e5fed0b93 100644 --- a/usrp2/fpga/sdr_lib/tx_control.v +++ b/usrp2/fpga/sdr_lib/tx_control.v @@ -64,22 +64,34 @@ module tx_control if(rd_eop_i) xfer_state <= XFER_IDLE; endcase // case(xfer_state) + + wire have_data_space; + assign full_data = ~have_data_space; - assign write_data = (xfer_state == XFER_PKT) & rd_ready_i & rd_ready_o; - assign write_ctrl = (xfer_state == XFER_CTRL) & rd_ready_i & rd_ready_o; + assign write_data = (xfer_state == XFER_PKT) & rd_ready_i & rd_ready_o; + assign write_ctrl = (xfer_state == XFER_CTRL) & rd_ready_i & rd_ready_o; - assign rd_ready_o = ~full_data & ~full_ctrl; + assign rd_ready_o = ~full_data & ~full_ctrl; wire [31:0] data_o; wire eop_o, eob, sob, send_imm; wire [31:0] sendtime; wire [4:0] occ_ctrl; - +/* cascadefifo2 #(.WIDTH(33),.SIZE(FIFOSIZE)) txctrlfifo (.clk(clk),.rst(rst),.clear(clear_state), .datain({rd_eop_i,rd_dat_i[31:0]}), .write(write_data), .full(full_data), .dataout({eop_o,data_o}), .read(read_data), .empty(empty_data), .space(), .occupied(fifo_occupied) ); +*/ + wire have_data; + assign empty_data = ~have_data; + + fifo_cascade #(.WIDTH(33),.SIZE(FIFOSIZE)) txctrlfifo + (.clk(clk),.reset(rst),.clear(clear_state), + .datain({rd_eop_i,rd_dat_i[31:0]}), .src_rdy_i(write_data), .dst_rdy_o(have_data_space), + .dataout({eop_o,data_o}), .src_rdy_o(have_data), .dst_rdy_i(read_data), + .space(), .occupied(fifo_occupied) ); assign fifo_full = full_data; assign fifo_empty = empty_data; |