[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 55/148: First cut at vita tx, whole thing c
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 55/148: First cut at vita tx, whole thing compiles |
Date: |
Mon, 15 Aug 2016 00:47:24 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
nwest pushed a commit to annotated tag old_usrp_devel_udp
in repository gnuradio.
commit e8b798ea67fa6557faaf1927d444d19a89a8e4fa
Author: Matt Ettus <address@hidden>
Date: Wed Dec 9 23:44:32 2009 -0800
First cut at vita tx, whole thing compiles
---
usrp2/fpga/top/u2_core/u2_core.v | 61 ++++++++++++++++++++++-----------------
usrp2/fpga/top/u2_rev3/Makefile | 2 ++
usrp2/fpga/vrt/vita_tx_deframer.v | 1 +
3 files changed, 37 insertions(+), 27 deletions(-)
diff --git a/usrp2/fpga/top/u2_core/u2_core.v b/usrp2/fpga/top/u2_core/u2_core.v
index bd1690b..5dd7c62 100644
--- a/usrp2/fpga/top/u2_core/u2_core.v
+++ b/usrp2/fpga/top/u2_core/u2_core.v
@@ -138,6 +138,8 @@ module u2_core
localparam SR_RX_DSP = 160;
localparam SR_RX_CTRL = 176;
+ localparam SR_TX_DSP = 208;
+ localparam SR_TX_CTRL = 224;
localparam SR_TIME64 = 192;
wire [7:0] set_addr;
@@ -552,32 +554,28 @@ module u2_core
assign sd_dat_i[31:8] = 0;
// /////////////////////////////////////////////////////////////////////////
- // DSP
+ // DSP RX
wire [31:0] sample_rx, sample_tx;
wire strobe_rx, strobe_tx;
-
- /*
- rx_control #(.FIFOSIZE(10)) rx_control
- (.clk(dsp_clk), .rst(dsp_rst),
- .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
- .master_time(master_time),.overrun(overrun),
- .wr_dat_o(wr1_dat), .wr_flags_o(wr1_flags), .wr_ready_o(wr1_ready_i),
.wr_ready_i(wr1_ready_o),
- .sample(sample_rx), .run(run_rx), .strobe(strobe_rx),
-
.fifo_occupied(dsp_rx_occ),.fifo_full(dsp_rx_full),.fifo_empty(dsp_rx_empty),
- .debug_rx(debug_rx) );
-*/
wire rx_dst_rdy, rx_src_rdy, rx1_dst_rdy, rx1_src_rdy;
wire [99:0] rx_data;
wire [35:0] rx1_data;
- vita_rx_control #(.BASE(SR_RX_CTRL)) vita_rx_control
+ dsp_core_rx #(.BASE(SR_RX_DSP)) dsp_core_rx
+ (.clk(dsp_clk),.rst(dsp_rst),
+ .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
+ .adc_a(adc_a),.adc_ovf_a(adc_ovf_a),.adc_b(adc_b),.adc_ovf_b(adc_ovf_b),
+ .sample(sample_rx), .run(run_rx_d1), .strobe(strobe_rx),
+ .debug(debug_rx_dsp) );
+
+ vita_rx_control #(.BASE(SR_RX_CTRL), .WIDTH(32)) vita_rx_control
(.clk(dsp_clk), .reset(dsp_rst), .clear(0),
.set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
.vita_time(vita_time), .overrun(overrun),
.sample(sample_rx), .run(run_rx), .strobe(strobe_rx),
.sample_fifo_o(rx_data), .sample_fifo_dst_rdy_i(rx_dst_rdy),
.sample_fifo_src_rdy_o(rx_src_rdy));
- vita_rx_framer #(.BASE(SR_RX_CTRL)) vita_rx_framer
+ vita_rx_framer #(.BASE(SR_RX_CTRL), .MAXCHAN(1)) vita_rx_framer
(.clk(dsp_clk), .reset(dsp_rst), .clear(0),
.set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
.sample_fifo_i(rx_data), .sample_fifo_dst_rdy_o(rx_dst_rdy),
.sample_fifo_src_rdy_i(rx_src_rdy),
@@ -589,22 +587,31 @@ module u2_core
.datain(rx1_data), .src_rdy_i(rx1_src_rdy), .dst_rdy_o(rx1_dst_rdy),
.dataout({wr1_flags,wr1_dat}), .src_rdy_o(wr1_ready_i),
.dst_rdy_i(wr1_ready_o));
- dsp_core_rx #(.BASE(SR_RX_DSP)) dsp_core_rx
- (.clk(dsp_clk),.rst(dsp_rst),
+ //
///////////////////////////////////////////////////////////////////////////////////
+ // DSP TX
+
+ wire [35:0] tx_data;
+ wire [99:0] tx1_data;
+ wire tx_src_rdy, tx_dst_rdy, tx1_src_rdy, tx1_dst_rdy;
+
+ fifo_cascade #(.WIDTH(36), .SIZE(10)) tx_fifo_cascade
+ (.clk(dsp_clk), .reset(dsp_rst), .clear(0),
+ .datain({rd1_flags,rd1_dat}), .src_rdy_i(rd1_ready_o),
.dst_rdy_o(rd_ready_i),
+ .dataout(tx_data), .src_rdy_o(tx_src_rdy), .dst_rdy_i(tx_dst_rdy) );
+
+ vita_tx_deframer #(.BASE(SR_TX_CTRL), .MAXCHAN(1)) vita_tx_deframer
+ (.clk(dsp_clk), .reset(dsp_rst), .clear(0),
.set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
- .adc_a(adc_a),.adc_ovf_a(adc_ovf_a),.adc_b(adc_b),.adc_ovf_b(adc_ovf_b),
- .sample(sample_rx), .run(run_rx_d1), .strobe(strobe_rx),
- .debug(debug_rx_dsp) );
+ .data_i(tx_data), .src_rdy_i(tx_src_rdy), .dst_rdy_o(tx_dst_rdy),
+ .sample_fifo_o(tx1_data), .sample_fifo_src_rdy_o(tx1_src_rdy),
.sample_fifo_dst_rdy_i(tx1_dst_rdy));
- tx_control #(.FIFOSIZE(10)) tx_control
- (.clk(dsp_clk), .rst(dsp_rst),
+ vita_tx_control #(.BASE(SR_TX_CTRL), .WIDTH(32)) vita_tx_control
+ (.clk(dsp_clk), .reset(dsp_rst), .clear(0),
.set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
- .master_time(master_time),.underrun(underrun),
- .rd_dat_i(rd1_dat), .rd_flags_i(rd1_flags), .rd_ready_i(rd1_ready_o),
.rd_ready_o(rd1_ready_i),
- .sample(sample_tx), .run(run_tx), .strobe(strobe_tx),
-
.fifo_occupied(dsp_tx_occ),.fifo_full(dsp_tx_full),.fifo_empty(dsp_tx_empty),
- .debug(debug_txc) );
-
+ .vita_time(vita_time),.underrun(underrun),
+ .sample_fifo_i(tx1_data), .sample_fifo_src_rdy_i(tx1_src_rdy),
.sample_fifo_dst_rdy_o(tx1_dst_rdy),
+ .sample(sample_tx), .run(run_tx), .strobe(strobe_tx) );
+
dsp_core_tx dsp_core_tx
(.clk(dsp_clk),.rst(dsp_rst),
.set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
diff --git a/usrp2/fpga/top/u2_rev3/Makefile b/usrp2/fpga/top/u2_rev3/Makefile
index a6fcc36..1f8bbe3 100644
--- a/usrp2/fpga/top/u2_rev3/Makefile
+++ b/usrp2/fpga/top/u2_rev3/Makefile
@@ -86,6 +86,8 @@ control_lib/priority_enc.v \
control_lib/pic.v \
vrt/vita_rx_control.v \
vrt/vita_rx_framer.v \
+vrt/vita_tx_control.v \
+vrt/vita_tx_deframer.v \
simple_gemac/simple_gemac_wrapper.v \
simple_gemac/simple_gemac.v \
simple_gemac/simple_gemac_wb.v \
diff --git a/usrp2/fpga/vrt/vita_tx_deframer.v
b/usrp2/fpga/vrt/vita_tx_deframer.v
index c58f235..f6f9f3d 100644
--- a/usrp2/fpga/vrt/vita_tx_deframer.v
+++ b/usrp2/fpga/vrt/vita_tx_deframer.v
@@ -59,6 +59,7 @@ module vita_tx_deframer
has_tics_reg + has_tics_reg + has_trailer_reg;
wire eop = eof | (pkt_len==hdr_len); // FIXME would ignoring eof
allow larger VITA packets?
+ wire fifo_space;
always @(posedge clk)
if(reset | clear)
- [Commit-gnuradio] [gnuradio] 70/148: changed debug pins to see incoming data, (continued)
- [Commit-gnuradio] [gnuradio] 70/148: changed debug pins to see incoming data, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 51/148: progress on vita_tx. it compiles now, need to work on vita_tx_control., git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 46/148: Created and used a typedef for a vector of sbuffs. Changed the return type for the transport sendv to bool. Not all transports can return the number of bytes sent, and we only care if the transport succeeded or not. This fixes an issue of the usrp2 impl freezing on close after tx, because the return value from sednv was improperly handled., git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 66/148: Merge branch 'vita_rx' of http://gnuradio.org/git/matt into wip/usrp2, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 79/148: cleaned up the main ibs state machine, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 71/148: Merge branch 'vita_rx' of gnuradio.org:matt into vita_rx, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 53/148: very basic packet sending works, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 77/148: Merge branch 'master' of gnuradio.org:gnuradio into vita_rx, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 57/148: Removed the ring buffer from the usrp2 impl., git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 67/148: reorder the memory map, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 55/148: First cut at vita tx, whole thing compiles,
git <=
- [Commit-gnuradio] [gnuradio] 69/148: fixed memory map for split tx dsp and control, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 62/148: Add ability to clear state out when there is an underrun, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 65/148: Merge branch 'vita_rx' of gnuradio.org:matt into vita_rx, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 63/148: only pull from input fifo when really consuming or pushing into the next fifo, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 68/148: Merge branch 'vita_rx' of gnuradio.org:matt into vita_rx, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 103/148: 19-bit fifo handling for receive side of eth/udp system, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 86/148: Removed the channel ring from the eth transport. Made the eth transport a data handler to pass directly to the eth buffer, and to strip ethernet headers/transport information., git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 58/148: Merge branch 'vita_rx' of http://gnuradio.org/git/matt into wip/usrp2, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 56/148: ignore save files, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 73/148: Merge branch 'vita_rx' of http://gnuradio.org/git/matt into wip/usrp2, git, 2016/08/14