aboutsummaryrefslogtreecommitdiffstats
path: root/fpga/usrp3/top/b200/b200.v
diff options
context:
space:
mode:
authorBen Hilburn <ben.hilburn@ettus.com>2013-12-03 10:35:35 -0800
committerBen Hilburn <ben.hilburn@ettus.com>2013-12-03 10:35:35 -0800
commit4b4365a517938b365af57674a3ab1462432c2c3a (patch)
tree04386aca95f77810f8127067d05a1dd60356044a /fpga/usrp3/top/b200/b200.v
parentabc682eda8d84d5a366ca32ca87e81e0890e69e2 (diff)
downloaduhd-4b4365a517938b365af57674a3ab1462432c2c3a.tar.gz
uhd-4b4365a517938b365af57674a3ab1462432c2c3a.tar.bz2
uhd-4b4365a517938b365af57674a3ab1462432c2c3a.zip
b2xx: Updating FPGA source with recent bugfixes.
Diffstat (limited to 'fpga/usrp3/top/b200/b200.v')
-rw-r--r--fpga/usrp3/top/b200/b200.v72
1 files changed, 35 insertions, 37 deletions
diff --git a/fpga/usrp3/top/b200/b200.v b/fpga/usrp3/top/b200/b200.v
index 86ccc51b0..3a8ece238 100644
--- a/fpga/usrp3/top/b200/b200.v
+++ b/fpga/usrp3/top/b200/b200.v
@@ -1,7 +1,19 @@
//
// Copyright 2013 Ettus Research LLC
//
-
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
/***********************************************************
* B200 Module Declaration
@@ -23,8 +35,8 @@ module b200 (
output pll_sclk,
// UART
- input FPGA_RXD0,
- input FPGA_TXD0,
+ input FPGA_RXD0, // These pins goto 3 pin 0.1" header on B2x0 and
+ output FPGA_TXD0, // carry FX3 UART.
// Catalina Controls
output codec_enable,
@@ -63,8 +75,8 @@ module b200 (
output GPIF_CTL7, // n_pktend
input GPIF_CTL4, // slfifo_flags[0]
input GPIF_CTL5, // slfifo_flags[1]
- input GPIF_CTL6, // slfifo_flags[2]
- input GPIF_CTL8, // slfifo_flags[3]
+ input GPIF_CTL6, // Serial settings bus from FX3. SDA
+ input GPIF_CTL8, // Serial settings bus from FX3. SCL
output GPIF_CTL11, // slfifo_addr[1]
output GPIF_CTL12, // slfifo_addr[0]
inout [31:0] GPIF_D,
@@ -122,10 +134,14 @@ module b200 (
b200_clk_gen gen_clks
(
.CLK_IN1_40_P(codec_main_clk_p), .CLK_IN1_40_N(codec_main_clk_n),
- .CLK_OUT1_40_int(), .CLK_OUT2_100_gpif(gpif_clk), .CLK_OUT3_100_bus(bus_clk),
+ .CLK_OUT1_40_int(), .CLK_OUT2_100_gpif(gpif_clk), .CLK_OUT3_100_bus(),
.RESET(reset_global), .LOCKED(locked)
);
+ // Bus Clock and GPIF Clock both same 100MHz clock.
+ assign bus_clk = gpif_clk;
+
+
//hold-off logic for clocks ready
reg [15:0] clocks_ready_count;
reg clocks_ready;
@@ -193,32 +209,10 @@ module b200 (
wire ctrl_tvalid, resp_tvalid, rx_tvalid, tx_tvalid;
wire ctrl_tready, resp_tready, rx_tready, tx_tready;
- ///////////////////////////////////////////////////////////////////////
- // loopback testers
- ///////////////////////////////////////////////////////////////////////
- /*
- axi_fifo #(.WIDTH(65), .SIZE(13)) f0
- (
- .clk(bus_clk), .reset(bus_rst), .clear(1'b0),
- .i_tdata({ctrl_tlast, ctrl_tdata}), .i_tvalid(ctrl_tvalid), .i_tready(ctrl_tready), .space(),
- .o_tdata({resp_tlast, resp_tdata}), .o_tvalid(resp_tvalid), .o_tready(resp_tready), .occupied()
- );
- //*/
-
- /*
- axi_fifo #(.WIDTH(65), .SIZE(13)) f1
- (
- .clk(bus_clk), .reset(bus_rst), .clear(1'b0),
- .i_tdata({tx_tlast, tx_tdata}), .i_tvalid(tx_tvalid), .i_tready(tx_tready), .space(),
- .o_tdata({rx_tlast, rx_tdata}), .o_tvalid(rx_tvalid), .o_tready(rx_tready), .occupied()
- );
- //*/
///////////////////////////////////////////////////////////////////////
// frontend assignments
///////////////////////////////////////////////////////////////////////
- wire [31:0] debug_radio;
-
wire [31:0] fe_atr1, fe_atr2;
assign {tx_enable1, SFDX1_RX, SFDX1_TX, SRX1_RX, SRX1_TX, LED_RX1, LED_TXRX1_RX, LED_TXRX1_TX} = fe_atr1[7:0];
assign {tx_enable2, SFDX2_RX, SFDX2_TX, SRX2_RX, SRX2_TX, LED_RX2, LED_TXRX2_RX, LED_TXRX2_TX} = fe_atr2[7:0];
@@ -237,7 +231,8 @@ module b200 (
///////////////////////////////////////////////////////////////////////
// b200 core
///////////////////////////////////////////////////////////////////////
- b200_core #(.EXTRA_BUFF_SIZE(12)) b200_xfusion_core
+
+ b200_core #(.EXTRA_BUFF_SIZE(12)) b200_core
(
.bus_clk(bus_clk), .bus_rst(bus_rst),
.tx_tdata(tx_tdata), .tx_tlast(tx_tlast), .tx_tvalid(tx_tvalid), .tx_tready(tx_tready),
@@ -253,15 +248,19 @@ module b200 (
.rxd(gps_txd), .txd(gps_rxd),
.sclk(sclk), .sen(sen), .mosi(mosi), .miso(miso),
- .rb_misc({31'b0, pll_lock}), .misc_outs(misc_outs)
+ .rb_misc({31'b0, pll_lock}), .misc_outs(misc_outs),
+
+ .debug_scl(GPIF_CTL8), .debug_sda(GPIF_CTL6),
+ .debug_txd(FPGA_TXD0), .debug_rxd(FPGA_RXD0),
+
+ .debug()
);
///////////////////////////////////////////////////////////////////////
// GPIF2
///////////////////////////////////////////////////////////////////////
- wire [31:0] debug_gpif;
-
- gpif2_slave_fifo32 #(.DATA_RX_FIFO_SIZE(14), .DATA_TX_FIFO_SIZE(14)) slave_fifo32
+
+ gpif2_slave_fifo32 #(.DATA_RX_FIFO_SIZE(14), .DATA_TX_FIFO_SIZE(14)) slave_fifo32
(
.gpif_clk(gpif_clk), .gpif_rst(gpif_rst), .gpif_enb(1'b1),
.gpif_ctl({GPIF_CTL8, GPIF_CTL6, GPIF_CTL5, GPIF_CTL4}), .fifoadr({GPIF_CTL11,GPIF_CTL12}),
@@ -274,13 +273,12 @@ module b200 (
.ctrl_tdata(ctrl_tdata), .ctrl_tlast(ctrl_tlast), .ctrl_tvalid(ctrl_tvalid), .ctrl_tready(ctrl_tready),
.resp_tdata(resp_tdata), .resp_tlast(resp_tlast), .resp_tvalid(resp_tvalid), .resp_tready(resp_tready),
- .debug(debug_gpif)
+ .debug()
);
///////////////////////////////////////////////////////////////////////
// Debug port
///////////////////////////////////////////////////////////////////////
- assign debug_clk_int = { 1'b0, 1'b0 };
- assign debug = 32'b0;
-
+ assign debug = 0;
+
endmodule // B200