aboutsummaryrefslogtreecommitdiffstats
path: root/fpga
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2012-09-04 16:27:57 -0700
committerJosh Blum <josh@joshknows.com>2012-09-04 16:27:57 -0700
commitd84207264e0d08a12f6e680b22a60b388d71f2e7 (patch)
treef62588dc228a46891ff40a632ea4cf9e17bc0975 /fpga
parent9d6f94929ebe66d8839441a3ab1c190aac1c1cab (diff)
parentbf6ced26b463ac9c229c7ca224f739e9a24c1d33 (diff)
downloaduhd-d84207264e0d08a12f6e680b22a60b388d71f2e7.tar.gz
uhd-d84207264e0d08a12f6e680b22a60b388d71f2e7.tar.bz2
uhd-d84207264e0d08a12f6e680b22a60b388d71f2e7.zip
Merge branch 'b100_2rx_fpga' into b100_2rx
Diffstat (limited to 'fpga')
-rw-r--r--fpga/usrp2/top/B100/B100.v4
-rw-r--r--fpga/usrp2/top/B100/Makefile17
-rw-r--r--fpga/usrp2/top/B100/Makefile.B100_2RX106
-rw-r--r--fpga/usrp2/top/B100/u1plus_core.v8
4 files changed, 134 insertions, 1 deletions
diff --git a/fpga/usrp2/top/B100/B100.v b/fpga/usrp2/top/B100/B100.v
index cb4efa4fa..59bed6066 100644
--- a/fpga/usrp2/top/B100/B100.v
+++ b/fpga/usrp2/top/B100/B100.v
@@ -170,7 +170,11 @@ module B100
assign { cgen_sync_b, cgen_ref_sel } = {~cgen_sync, 1'b1};
u1plus_core #(
+`ifdef NUM_RX_DSP
+ .NUM_RX_DSPS(`NUM_RX_DSP),
+`else
.NUM_RX_DSPS(1),
+`endif
.DSP_RX_XTRA_FIFOSIZE(11),
.DSP_TX_XTRA_FIFOSIZE(12),
.USE_PACKET_PADDER(1)
diff --git a/fpga/usrp2/top/B100/Makefile b/fpga/usrp2/top/B100/Makefile
new file mode 100644
index 000000000..fdd507394
--- /dev/null
+++ b/fpga/usrp2/top/B100/Makefile
@@ -0,0 +1,17 @@
+#
+# Copyright 2011 Ettus Research LLC
+#
+
+all: B100 B100_2RX
+ find -name "*.twr" | xargs grep constraint | grep met
+
+clean:
+ rm -rf build*
+
+B100:
+ make -f Makefile.$@ bin
+
+B100_2RX:
+ make -f Makefile.$@ bin
+
+.PHONY: all clean
diff --git a/fpga/usrp2/top/B100/Makefile.B100_2RX b/fpga/usrp2/top/B100/Makefile.B100_2RX
new file mode 100644
index 000000000..ba535dfb0
--- /dev/null
+++ b/fpga/usrp2/top/B100/Makefile.B100_2RX
@@ -0,0 +1,106 @@
+#
+# Copyright 2008-2012 Ettus Research LLC
+#
+
+##################################################
+# Project Setup
+##################################################
+TOP_MODULE := B100
+BUILD_DIR := build-B100_2RX/
+
+# set me in a custom makefile
+CUSTOM_SRCS =
+CUSTOM_DEFS =
+
+##################################################
+# Include other makefiles
+##################################################
+
+include ../Makefile.common
+include ../../fifo/Makefile.srcs
+include ../../control_lib/Makefile.srcs
+include ../../sdr_lib/Makefile.srcs
+include ../../serdes/Makefile.srcs
+include ../../simple_gemac/Makefile.srcs
+include ../../timing/Makefile.srcs
+include ../../opencores/Makefile.srcs
+include ../../vrt/Makefile.srcs
+include ../../udp/Makefile.srcs
+include ../../coregen/Makefile.srcs
+include ../../gpif/Makefile.srcs
+
+##################################################
+# Project Properties
+##################################################
+export PROJECT_PROPERTIES := \
+family "Spartan3A" \
+device XC3S1400A \
+package ft256 \
+speed -4 \
+top_level_module_type "HDL" \
+synthesis_tool "XST (VHDL/Verilog)" \
+simulator "ISE Simulator (VHDL/Verilog)" \
+"Preferred Language" "Verilog" \
+"Enable Message Filtering" FALSE \
+"Display Incremental Messages" FALSE
+
+##################################################
+# Sources
+##################################################
+TOP_SRCS = \
+B100.v \
+u1plus_core.v \
+B100.ucf \
+timing.ucf
+
+SOURCES = $(abspath $(TOP_SRCS)) $(FIFO_SRCS) \
+$(CONTROL_LIB_SRCS) $(SDR_LIB_SRCS) $(SERDES_SRCS) \
+$(SIMPLE_GEMAC_SRCS) $(TIMING_SRCS) $(OPENCORES_SRCS) \
+$(VRT_SRCS) $(UDP_SRCS) $(COREGEN_SRCS) $(EXTRAM_SRCS) \
+$(GPIF_SRCS)
+
+##################################################
+# Process Properties
+##################################################
+SYNTHESIZE_PROPERTIES = \
+"Number of Clock Buffers" 8 \
+"Pack I/O Registers into IOBs" Yes \
+"Optimization Effort" High \
+"Optimize Instantiated Primitives" TRUE \
+"Register Balancing" Yes \
+"Use Clock Enable" Auto \
+"Use Synchronous Reset" Auto \
+"Use Synchronous Set" Auto \
+"Verilog Macros" "NUM_RX_DSP=2 DISABLE_TX_DSP=1 $(CUSTOM_DEFS)"
+
+TRANSLATE_PROPERTIES = \
+"Macro Search Path" "$(shell pwd)/../../coregen/"
+
+MAP_PROPERTIES = \
+"Generate Detailed MAP Report" TRUE \
+"Allow Logic Optimization Across Hierarchy" TRUE \
+"Map to Input Functions" 4 \
+"Optimization Strategy (Cover Mode)" Speed \
+"Pack I/O Registers/Latches into IOBs" "For Inputs and Outputs" \
+"Perform Timing-Driven Packing and Placement" TRUE \
+"Map Effort Level" High \
+"Extra Effort" Normal \
+"Combinatorial Logic Optimization" TRUE \
+"Register Duplication" TRUE
+
+PLACE_ROUTE_PROPERTIES = \
+"Place & Route Effort Level (Overall)" High
+
+STATIC_TIMING_PROPERTIES = \
+"Number of Paths in Error/Verbose Report" 10 \
+"Report Type" "Error Report"
+
+GEN_PROG_FILE_PROPERTIES = \
+"Configuration Rate" 6 \
+"Create Binary Configuration File" TRUE \
+"Done (Output Events)" 5 \
+"Enable Bitstream Compression" TRUE \
+"Enable Outputs (Output Events)" 6 \
+"Unused IOB Pins" "Pull Up"
+
+SIM_MODEL_PROPERTIES = ""
diff --git a/fpga/usrp2/top/B100/u1plus_core.v b/fpga/usrp2/top/B100/u1plus_core.v
index 9ffbaa202..ef0ce51f7 100644
--- a/fpga/usrp2/top/B100/u1plus_core.v
+++ b/fpga/usrp2/top/B100/u1plus_core.v
@@ -316,6 +316,12 @@ module u1plus_core
wire [31:0] sample_tx;
wire strobe_tx, clear_tx;
+`ifdef DISABLE_TX_DSP
+ assign tx_dst_rdy = 1; //null sink
+ assign run_tx = 0;
+ assign tx_i = 0;
+ assign tx_q = 0;
+`else
vita_tx_chain #(.BASE(SR_TX_CTRL),
.FIFOSIZE(DSP_TX_FIFOSIZE),
.POST_ENGINE_FIFOSIZE(DSP_TX_XTRA_FIFOSIZE),
@@ -346,7 +352,7 @@ module u1plus_core
.set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
.tx_i(tx_fe_i), .tx_q(tx_fe_q), .run(1'b1),
.dac_a(tx_i), .dac_b(tx_q));
-
+`endif
// /////////////////////////////////////////////////////////////////////////////////////
// Debug circuitry