Refactored FPGA *.vh files. Moved common pieces to toplevel/include.
authoreb <eb@221aa14e-8319-0410-a670-987f0aec2ac5>
Mon, 5 Mar 2007 05:00:02 +0000 (05:00 +0000)
committereb <eb@221aa14e-8319-0410-a670-987f0aec2ac5>
Mon, 5 Mar 2007 05:00:02 +0000 (05:00 +0000)
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4713 221aa14e-8319-0410-a670-987f0aec2ac5

25 files changed:
usrp/fpga/Makefile.extra
usrp/fpga/sdr_lib/master_control_multi.v
usrp/fpga/sdr_lib/rx_chain.v
usrp/fpga/toplevel/include/common_config_1rxhb_1tx.vh [new file with mode: 0644]
usrp/fpga/toplevel/include/common_config_2rx_0tx.vh [new file with mode: 0644]
usrp/fpga/toplevel/include/common_config_2rxhb_0tx.vh [new file with mode: 0644]
usrp/fpga/toplevel/include/common_config_2rxhb_2tx.vh [new file with mode: 0644]
usrp/fpga/toplevel/include/common_config_4rx_0tx.vh [new file with mode: 0644]
usrp/fpga/toplevel/include/common_config_bottom.vh [new file with mode: 0644]
usrp/fpga/toplevel/usrp_multi/config.vh [new file with mode: 0644]
usrp/fpga/toplevel/usrp_multi/usrp_multi.qsf
usrp/fpga/toplevel/usrp_multi/usrp_multi.v
usrp/fpga/toplevel/usrp_multi/usrp_multi.vh [deleted file]
usrp/fpga/toplevel/usrp_multi/usrp_multi_config_2rx_0tx.vh [deleted file]
usrp/fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_0tx.vh [deleted file]
usrp/fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_2tx.vh [deleted file]
usrp/fpga/toplevel/usrp_multi/usrp_multi_config_4rx_0tx.vh [deleted file]
usrp/fpga/toplevel/usrp_multi/usrp_std.vh [deleted file]
usrp/fpga/toplevel/usrp_std/config.vh [new file with mode: 0644]
usrp/fpga/toplevel/usrp_std/usrp_std.qsf
usrp/fpga/toplevel/usrp_std/usrp_std.v
usrp/fpga/toplevel/usrp_std/usrp_std.vh [deleted file]
usrp/fpga/toplevel/usrp_std/usrp_std_config_1rxhb_1tx.vh [deleted file]
usrp/fpga/toplevel/usrp_std/usrp_std_config_2rxhb_2tx.vh [deleted file]
usrp/fpga/toplevel/usrp_std/usrp_std_config_4rx_0tx.vh [deleted file]

index 0a99496292fa1b2cccf5bfc56e45d1fa9a180bf5..7055447a9ab302f4b81d978fdc9720131276c880 100644 (file)
@@ -133,18 +133,11 @@ EXTRA_DIST =                                           \
        toplevel/usrp_multi/usrp_multi.qpf             \
        toplevel/usrp_multi/usrp_multi.qsf             \
        toplevel/usrp_multi/usrp_multi.v               \
-       toplevel/usrp_multi/usrp_multi.vh              \
-       toplevel/usrp_multi/usrp_multi_config_2rx_0tx.vh   \
-       toplevel/usrp_multi/usrp_multi_config_2rxhb_0tx.vh \
-       toplevel/usrp_multi/usrp_multi_config_2rxhb_2tx.vh \
-       toplevel/usrp_multi/usrp_multi_config_4rx_0tx.vh   \
-       toplevel/usrp_multi/usrp_std.vh                \
+       toplevel/usrp_multi/config.vh                  \
        toplevel/usrp_std/usrp_std.csf                 \
        toplevel/usrp_std/usrp_std.esf                 \
        toplevel/usrp_std/usrp_std.psf                 \
        toplevel/usrp_std/usrp_std.qpf                 \
        toplevel/usrp_std/usrp_std.qsf                 \
        toplevel/usrp_std/usrp_std.v                   \
-       toplevel/usrp_std/usrp_std.vh                  \
-       toplevel/usrp_std/usrp_std_config_2rxhb_2tx.vh \
-       toplevel/usrp_std/usrp_std_config_4rx_0tx.vh
+       toplevel/usrp_std/config.vh                    
index 95c4ec17e57fd6d953fe9432ed2ec2e98865a40d..cab96a79fe6222721a4c7b612f59d4711d39d2e0 100644 (file)
@@ -18,7 +18,7 @@
 //  along with this program; if not, write to the Free Software
 //  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
 //
-`include "usrp_multi.vh"
+`include "config.vh"
 `include "../../../firmware/include/fpga_regs_common.v"
 `include "../../../firmware/include/fpga_regs_standard.v"
 // Clock, enable, and reset controls for whole system
index 73c0c26eaadaf125edf02ac8a5b9f483a069e835..bc4336e416cb7dc030ebb70e115edb406d3949a0 100644 (file)
@@ -21,7 +21,8 @@
 
 // Following defines conditionally include RX path circuitry
 
-`include "usrp_std.vh"
+`include "config.vh"   // resolved relative to project root
+
 module rx_chain
   (input clock,
    input reset,
diff --git a/usrp/fpga/toplevel/include/common_config_1rxhb_1tx.vh b/usrp/fpga/toplevel/include/common_config_1rxhb_1tx.vh
new file mode 100644 (file)
index 0000000..fb2e915
--- /dev/null
@@ -0,0 +1,61 @@
+// -*- verilog -*-
+//
+//  USRP - Universal Software Radio Peripheral
+//
+//  Copyright (C) 2006 Matt Ettus
+//
+//  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 2 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, write to the Free Software
+//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
+//
+
+// ------------------------------------------------------------
+// If TX_ON is not defined, there is *no* transmit circuitry built
+  `define TX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
+// to respectively enable 1, 2 or 4 transmit channels.
+// [Please note that only TX_SINGLE and TX_DUAL are currently valid]
+  `define TX_SINGLE
+//`define TX_DUAL
+//`define TX_QUAD
+
+// ------------------------------------------------------------
+// Define TX_HB_ON to enable the transmit halfband filter
+// [Not implemented]
+//`define TX_HB_ON
+
+// ------------------------------------------------------------
+// IF RX_ON is not defined, there is *no* receive circuitry built
+  `define RX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
+// to respectively define 1, 2 or 4 receive channels.
+
+  `define RX_SINGLE
+//`define RX_DUAL
+//`define RX_QUAD
+
+// ------------------------------------------------------------
+// Define RX_HB_ON to enable the receive halfband filter
+  `define RX_HB_ON
+
+// ------------------------------------------------------------
+// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
+  `define RX_NCO_ON
+
+// ------------------------------------------------------------
+// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
+  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/include/common_config_2rx_0tx.vh b/usrp/fpga/toplevel/include/common_config_2rx_0tx.vh
new file mode 100644 (file)
index 0000000..c97c5a3
--- /dev/null
@@ -0,0 +1,61 @@
+// -*- verilog -*-
+//
+//  USRP - Universal Software Radio Peripheral
+//
+//  Copyright (C) 2006 Matt Ettus
+//  Copyright (C) 2006 Martin Dudok van Heel
+//
+//  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 2 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, write to the Free Software
+//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
+//
+// ------------------------------------------------------------
+// If TX_ON is not defined, there is *no* transmit circuitry built
+// `define TX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
+// to respectively enable 1, 2 or 4 transmit channels.
+// [Please note that only TX_SINGLE and TX_DUAL are currently valid]
+//`define TX_SINGLE
+//`define TX_DUAL
+//`define TX_QUAD
+
+// ------------------------------------------------------------
+// Define TX_HB_ON to enable the transmit halfband filter
+// [Not implemented]
+//`define TX_HB_ON
+
+// ------------------------------------------------------------
+// IF RX_ON is not defined, there is *no* receive circuitry built
+  `define RX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
+// to respectively define 1, 2 or 4 receive channels.
+
+//`define RX_SINGLE
+`define RX_DUAL
+//`define RX_QUAD
+
+// ------------------------------------------------------------
+// Define RX_HB_ON to enable the receive halfband filter
+//`define RX_HB_ON
+
+// ------------------------------------------------------------
+// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
+  `define RX_NCO_ON
+
+// ------------------------------------------------------------
+// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
+  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/include/common_config_2rxhb_0tx.vh b/usrp/fpga/toplevel/include/common_config_2rxhb_0tx.vh
new file mode 100644 (file)
index 0000000..459268b
--- /dev/null
@@ -0,0 +1,61 @@
+// -*- verilog -*-
+//
+//  USRP - Universal Software Radio Peripheral
+//
+//  Copyright (C) 2006 Matt Ettus
+//  Copyright (C) 2006 Martin Dudok van Heel
+//
+//  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 2 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, write to the Free Software
+//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
+//
+// ------------------------------------------------------------
+// If TX_ON is not defined, there is *no* transmit circuitry built
+// `define TX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
+// to respectively enable 1, 2 or 4 transmit channels.
+// [Please note that only TX_SINGLE and TX_DUAL are currently valid]
+//`define TX_SINGLE
+//`define TX_DUAL
+//`define TX_QUAD
+
+// ------------------------------------------------------------
+// Define TX_HB_ON to enable the transmit halfband filter
+// [Not implemented]
+//`define TX_HB_ON
+
+// ------------------------------------------------------------
+// IF RX_ON is not defined, there is *no* transmit circuitry built
+  `define RX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
+// to respectively define 1, 2 or 4 receive channels.
+
+//`define RX_SINGLE
+  `define RX_DUAL
+//`define RX_QUAD
+
+// ------------------------------------------------------------
+// Define RX_HB_ON to enable the receive halfband filter
+  `define RX_HB_ON
+
+// ------------------------------------------------------------
+// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
+  `define RX_NCO_ON
+
+// ------------------------------------------------------------
+// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
+  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/include/common_config_2rxhb_2tx.vh b/usrp/fpga/toplevel/include/common_config_2rxhb_2tx.vh
new file mode 100644 (file)
index 0000000..ecf0fa0
--- /dev/null
@@ -0,0 +1,61 @@
+// -*- verilog -*-
+//
+//  USRP - Universal Software Radio Peripheral
+//
+//  Copyright (C) 2006 Matt Ettus
+//
+//  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 2 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, write to the Free Software
+//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
+//
+
+// ------------------------------------------------------------
+// If TX_ON is not defined, there is *no* transmit circuitry built
+  `define TX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
+// to respectively enable 1, 2 or 4 transmit channels.
+// [Please note that only TX_SINGLE and TX_DUAL are currently valid]
+//`define TX_SINGLE
+  `define TX_DUAL
+//`define TX_QUAD
+
+// ------------------------------------------------------------
+// Define TX_HB_ON to enable the transmit halfband filter
+// [Not implemented]
+//`define TX_HB_ON
+
+// ------------------------------------------------------------
+// IF RX_ON is not defined, there is *no* receive circuitry built
+  `define RX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
+// to respectively define 1, 2 or 4 receive channels.
+
+//`define RX_SINGLE
+  `define RX_DUAL
+//`define RX_QUAD
+
+// ------------------------------------------------------------
+// Define RX_HB_ON to enable the receive halfband filter
+  `define RX_HB_ON
+
+// ------------------------------------------------------------
+// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
+  `define RX_NCO_ON
+
+// ------------------------------------------------------------
+// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
+  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/include/common_config_4rx_0tx.vh b/usrp/fpga/toplevel/include/common_config_4rx_0tx.vh
new file mode 100644 (file)
index 0000000..4984195
--- /dev/null
@@ -0,0 +1,61 @@
+// -*- verilog -*-
+//
+//  USRP - Universal Software Radio Peripheral
+//
+//  Copyright (C) 2006 Matt Ettus
+//
+//  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 2 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, write to the Free Software
+//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
+//
+
+// ------------------------------------------------------------
+// If TX_ON is not defined, there is *no* transmit circuitry built
+// `define TX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
+// to respectively enable 1, 2 or 4 transmit channels.
+// [Please note that only TX_SINGLE and TX_DUAL are currently valid]
+//`define TX_SINGLE
+//`define TX_DUAL
+//`define TX_QUAD
+
+// ------------------------------------------------------------
+// Define TX_HB_ON to enable the transmit halfband filter
+// [Not implemented]
+//`define TX_HB_ON
+
+// ------------------------------------------------------------
+// IF RX_ON is not defined, there is *no* receive circuitry built
+  `define RX_ON
+
+// ------------------------------------------------------------
+// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
+// to respectively define 1, 2 or 4 receive channels.
+
+//`define RX_SINGLE
+//`define RX_DUAL
+  `define RX_QUAD
+
+// ------------------------------------------------------------
+// Define RX_HB_ON to enable the receive halfband filter
+//`define RX_HB_ON
+
+// ------------------------------------------------------------
+// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
+  `define RX_NCO_ON
+
+// ------------------------------------------------------------
+// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
+  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/include/common_config_bottom.vh b/usrp/fpga/toplevel/include/common_config_bottom.vh
new file mode 100644 (file)
index 0000000..3129798
--- /dev/null
@@ -0,0 +1,104 @@
+// -*- verilog -*-
+//
+//  USRP - Universal Software Radio Peripheral
+//
+//  Copyright (C) 2006,2007 Matt Ettus
+//
+//  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 2 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, write to the Free Software
+//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
+//
+
+// ====================================================================
+//        This is the common tail for standard configuation
+// ====================================================================
+// 
+//                  >>>> DO NOT EDIT BELOW HERE <<<<
+//
+// N.B., *all* the remainder of the code should be conditionalized
+// only in terms of:
+//
+//  TX_ON, TX_EN_0, TX_EN_1, TX_EN_2, TX_EN_3, TX_CAP_NCHAN, TX_CAP_HB,
+//  RX_ON, RX_EN_0, RX_EN_1, RX_EN_2, RX_EN_3, RX_CAP_NCHAN, RX_CAP_HB,
+//  RX_NCO_ON, RX_CIC_ON
+// ====================================================================
+
+`ifdef TX_ON
+
+ `ifdef TX_SINGLE
+  `define TX_EN_0
+  `define TX_CAP_NCHAN 3'd1
+ `endif
+
+ `ifdef TX_DUAL
+  `define TX_EN_0
+  `define TX_EN_1
+  `define TX_CAP_NCHAN 3'd2
+ `endif
+
+ `ifdef TX_QUAD
+  `define TX_EN_0
+  `define TX_EN_1
+  `define TX_EN_2
+  `define TX_EN_3
+  `define TX_CAP_NCHAN 3'd4
+ `endif
+
+ `ifdef TX_HB_ON
+  `define TX_CAP_HB   1
+ `else
+  `define TX_CAP_HB   0
+ `endif
+
+`else  // !ifdef TX_ON
+
+ `define TX_CAP_NCHAN 3'd0
+ `define TX_CAP_HB 0
+
+`endif // !ifdef TX_ON
+
+// --------------------------------------------------------------------
+
+`ifdef RX_ON
+
+ `ifdef RX_SINGLE
+  `define RX_EN_0
+  `define RX_CAP_NCHAN 3'd1
+ `endif
+
+ `ifdef RX_DUAL
+  `define RX_EN_0
+  `define RX_EN_1
+  `define RX_CAP_NCHAN 3'd2
+ `endif
+
+ `ifdef RX_QUAD
+  `define RX_EN_0
+  `define RX_EN_1
+  `define RX_EN_2
+  `define RX_EN_3
+  `define RX_CAP_NCHAN 3'd4
+ `endif
+
+ `ifdef RX_HB_ON
+  `define RX_CAP_HB   1
+ `else
+  `define RX_CAP_HB   0
+ `endif
+
+`else  // !ifdef RX_ON
+
+ `define RX_CAP_NCHAN 3'd0
+ `define RX_CAP_HB 0
+
+`endif // !ifdef RX_ON
diff --git a/usrp/fpga/toplevel/usrp_multi/config.vh b/usrp/fpga/toplevel/usrp_multi/config.vh
new file mode 100644 (file)
index 0000000..07011bd
--- /dev/null
@@ -0,0 +1,62 @@
+// -*- verilog -*-
+//
+//  USRP - Universal Software Radio Peripheral
+//
+//  Copyright (C) 2006,2007 Matt Ettus
+//  Copyright (C) 2006 Martin Dudok van Heel
+//
+//  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 2 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, write to the Free Software
+//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
+//
+
+// ====================================================================
+//            User control over what parts get included
+//
+//                  >>>> EDIT ONLY THIS SECTION <<<<
+//                  Uncomment only ONE configuration
+// ====================================================================
+
+// ====================================================================
+// FIXME drive configuration selection from the command line and/or gui
+// ====================================================================
+
+`define MULTI_ON               // enable multi usrp configuration
+
+// Uncomment this for 1 rx channel (w/ halfband) & 1 transmit channel
+//`include "../include/common_config_1rxhb_1tx.vh"
+
+// Uncomment this for multi with 2 rx channels (w/ halfband) & 2 transmit channels
+`include "../include/common_config_2rxhb_2tx.vh"
+
+// Uncomment this for multi with 4 rx channels (w/o halfband) & 0 transmit channels
+//`include "../include/common_config_4rx_0tx.vh"
+
+// Uncomment this for multi with 2 rx channels (w/ halfband) & 0 transmit channels
+//`include "../include/common_config_2rxhb_0tx.vh"
+
+// Uncomment this for multi with 2 rx channels (w/o halfband) & 0 transmit channels
+//`include "../include/common_config_2rx_0tx.vh"
+
+
+// Add other "known to fit" configurations here...
+
+// ====================================================================
+//  Now include the common footer
+// ====================================================================
+
+`ifdef MULTI_ON
+  `define COUNTER_32BIT_ON
+`endif
+
+`include "../include/common_config_bottom.vh"
index e45c683af09642ac7883af29e413009c106f10ab..9f0efbd83d69008b3f49adde60bc30610696bb11 100644 (file)
@@ -27,7 +27,7 @@
 # ========================\r
 set_global_assignment -name ORIGINAL_QUARTUS_VERSION 3.0\r
 set_global_assignment -name PROJECT_CREATION_TIME_DATE "00:14:04  JULY 13, 2003"\r
-set_global_assignment -name LAST_QUARTUS_VERSION "5.1 SP1"\r
+set_global_assignment -name LAST_QUARTUS_VERSION 6.1\r
 \r
 # Pin & Location Assignments\r
 # ==========================\r
@@ -223,7 +223,7 @@ set_global_assignment -name APEX20K_OPTIMIZATION_TECHNIQUE SPEED
 set_global_assignment -name TOP_LEVEL_ENTITY usrp_multi\r
 set_global_assignment -name VHDL_SHOW_LMF_MAPPING_MESSAGES OFF\r
 set_global_assignment -name USER_LIBRARIES "H:\\usrp-for2.7\\fpga\\megacells"\r
-set_global_assignment -name AUTO_ENABLE_SMART_COMPILE On\r
+set_global_assignment -name AUTO_ENABLE_SMART_COMPILE ON\r
 \r
 # Fitter Assignments\r
 # ==================\r
@@ -314,7 +314,7 @@ set_global_assignment -name HCPY_VREF_PINS OFF
 # ========================\r
 set_global_assignment -name HUB_ENTITY_NAME SLD_HUB\r
 set_global_assignment -name HUB_INSTANCE_NAME SLD_HUB_INST\r
-set_global_assignment -name ENABLE_SIGNALTAP Off\r
+set_global_assignment -name ENABLE_SIGNALTAP OFF\r
 \r
 # LogicLock Region Assignments\r
 # ============================\r
@@ -326,8 +326,8 @@ set_global_assignment -name LOGICLOCK_INCREMENTAL_COMPILE_ASSIGNMENT OFF
        # Timing Assignments\r
        # ==================\r
 set_global_assignment -name DUTY_CYCLE 50 -section_id SCLK\r
-       set_global_assignment -name FMAX_REQUIREMENT "1.0 MHz" -section_id SCLK\r
-       set_global_assignment -name INCLUDE_EXTERNAL_PIN_DELAYS_IN_FMAX_CALCULATIONS OFF -section_id SCLK\r
+set_global_assignment -name FMAX_REQUIREMENT "1 MHz" -section_id SCLK\r
+set_global_assignment -name INCLUDE_EXTERNAL_PIN_DELAYS_IN_FMAX_CALCULATIONS OFF -section_id SCLK\r
 \r
 # end CLOCK(SCLK)\r
 # ---------------\r
@@ -338,8 +338,8 @@ set_global_assignment -name DUTY_CYCLE 50 -section_id SCLK
        # Timing Assignments\r
        # ==================\r
 set_global_assignment -name DUTY_CYCLE 50 -section_id master_clk\r
-       set_global_assignment -name FMAX_REQUIREMENT "64.0 MHz" -section_id master_clk\r
-       set_global_assignment -name INCLUDE_EXTERNAL_PIN_DELAYS_IN_FMAX_CALCULATIONS OFF -section_id master_clk\r
+set_global_assignment -name FMAX_REQUIREMENT "64 MHz" -section_id master_clk\r
+set_global_assignment -name INCLUDE_EXTERNAL_PIN_DELAYS_IN_FMAX_CALCULATIONS OFF -section_id master_clk\r
 \r
 # end CLOCK(master_clk)\r
 # ---------------------\r
@@ -350,8 +350,8 @@ set_global_assignment -name DUTY_CYCLE 50 -section_id master_clk
        # Timing Assignments\r
        # ==================\r
 set_global_assignment -name DUTY_CYCLE 50 -section_id usbclk\r
-       set_global_assignment -name FMAX_REQUIREMENT "48.0 MHz" -section_id usbclk\r
-       set_global_assignment -name INCLUDE_EXTERNAL_PIN_DELAYS_IN_FMAX_CALCULATIONS OFF -section_id usbclk\r
+set_global_assignment -name FMAX_REQUIREMENT "48 MHz" -section_id usbclk\r
+set_global_assignment -name INCLUDE_EXTERNAL_PIN_DELAYS_IN_FMAX_CALCULATIONS OFF -section_id usbclk\r
 \r
 # end CLOCK(usbclk)\r
 # -----------------\r
@@ -361,18 +361,18 @@ set_global_assignment -name DUTY_CYCLE 50 -section_id usbclk
 \r
        # Timing Assignments\r
        # ==================\r
-       set_instance_assignment -name CLOCK_SETTINGS SCLK -to SCLK\r
-       set_instance_assignment -name CLOCK_SETTINGS usbclk -to usbclk\r
-       set_instance_assignment -name CLOCK_SETTINGS master_clk -to master_clk\r
+set_instance_assignment -name CLOCK_SETTINGS SCLK -to SCLK\r
+set_instance_assignment -name CLOCK_SETTINGS usbclk -to usbclk\r
+set_instance_assignment -name CLOCK_SETTINGS master_clk -to master_clk\r
 \r
 # end ENTITY(usrp_multi)\r
 # --------------------\r
 \r
 \r
+set_global_assignment -name VERILOG_FILE ../../sdr_lib/rssi.v\r
 set_global_assignment -name VERILOG_FILE ../../sdr_lib/setting_reg_masked.v\r
 set_global_assignment -name VERILOG_FILE ../../sdr_lib/master_control_multi.v\r
 set_global_assignment -name VERILOG_FILE ../../sdr_lib/ram16.v\r
-set_global_assignment -name VERILOG_FILE usrp_multi.vh\r
 set_global_assignment -name VERILOG_FILE ../../megacells/fifo_4k.v\r
 set_global_assignment -name VERILOG_FILE ../../sdr_lib/hb/acc.v\r
 set_global_assignment -name VERILOG_FILE ../../sdr_lib/hb/mult.v\r
index e3706d71bbecb2f75e464edc3e6ff020fdb99464..ce484fc1c0ead143704f3438aa89e674b8760b37 100644 (file)
@@ -28,7 +28,7 @@
 
 // Uncomment the following to include optional circuitry
 
-`include "usrp_multi.vh"
+`include "config.vh"
 `include "../../../firmware/include/fpga_regs_common.v"
 `include "../../../firmware/include/fpga_regs_standard.v"
 
diff --git a/usrp/fpga/toplevel/usrp_multi/usrp_multi.vh b/usrp/fpga/toplevel/usrp_multi/usrp_multi.vh
deleted file mode 100644 (file)
index fb5dc8d..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Matt Ettus
-//  Copyright (C) 2006 Martin Dudok van Heel
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-
-// ====================================================================
-//            User control over what parts get included
-//
-//                  >>>> EDIT ONLY THIS SECTION <<<<
-//                  Uncomment only ONE configuration
-// ====================================================================
-
-// ==== Multi usrp configurations ====
-// Uncomment this for multi with 2 rx channels (w/ halfband) & 2 transmit channels
-`include "usrp_multi_config_2rxhb_2tx.vh"
-
-// Uncomment this for multi with 4 rx channels (w/o halfband) & 0 transmit channels
-//`include "usrp_multi_config_4rx_0tx.vh"
-
-// Uncomment this for multi with 2 rx channels (w/ halfband) & 0 transmit channels
-//`include "usrp_multi_config_2rxhb_0tx.vh"
-
-// Uncomment this for multi with 2 rx channels (w/o halfband) & 0 transmit channels
-//`include "usrp_multi_config_2rx_0tx.vh"
-
-// ==== Standard configurations (no multi support) ====
-// Uncomment this for standard with 2 rx channels (w/ halfband) & 2 transmit channels
-//  `include "../usrp_std/usrp_std_config_2rxhb_2tx.vh"
-
-// Uncomment this for standard with 4 rx channels (w/o halfband) & 0 transmit channels
-//`include "../usrp_std/usrp_std_config_4rx_0tx.vh"
-
-// Add other "known to fit" configurations here...
-
-// ====================================================================
-// 
-//                  >>>> DO NOT EDIT BELOW HERE <<<<
-//
-// [The stuff from here down is derived from the stuff included above]
-//
-// N.B., *all* the remainder of the code should be conditionalized
-// only in terms of:
-//
-//  TX_ON, TX_EN_0, TX_EN_1, TX_EN_2, TX_EN_3, TX_CAP_NCHAN, TX_CAP_HB,
-//  RX_ON, RX_EN_0, RX_EN_1, RX_EN_2, RX_EN_3, RX_CAP_NCHAN, RX_CAP_HB,
-//  RX_NCO_ON, RX_CIC_ON
-// ====================================================================
-`ifdef MULTI_ON
-  `define COUNTER_32BIT_ON
-`endif
-
-`ifdef TX_ON
-
- `ifdef TX_SINGLE
-  `define TX_EN_0
-  `define TX_CAP_NCHAN 3'd1
- `endif
-
- `ifdef TX_DUAL
-  `define TX_EN_0
-  `define TX_EN_1
-  `define TX_CAP_NCHAN 3'd2
- `endif
-
- `ifdef TX_QUAD
-  `define TX_EN_0
-  `define TX_EN_1
-  `define TX_EN_2
-  `define TX_EN_3
-  `define TX_CAP_NCHAN 3'd4
- `endif
-
- `ifdef TX_HB_ON
-  `define TX_CAP_HB   1
- `else
-  `define TX_CAP_HB   0
- `endif
-
-`else  // !ifdef TX_ON
-
- `define TX_CAP_NCHAN 3'd0
- `define TX_CAP_HB 0
-
-`endif // !ifdef TX_ON
-
-// --------------------------------------------------------------------
-
-`ifdef RX_ON
-
- `ifdef RX_SINGLE
-  `define RX_EN_0
-  `define RX_CAP_NCHAN 3'd1
- `endif
-
- `ifdef RX_DUAL
-  `define RX_EN_0
-  `define RX_EN_1
-  `ifdef MULTI_ON
-    `define RX_CAP_NCHAN 3'd4
-  `else
-    `define RX_CAP_NCHAN 3'd2
-  `endif
- `endif
-
- `ifdef RX_QUAD
-  `define RX_EN_0
-  `define RX_EN_1
-  `define RX_EN_2
-  `define RX_EN_3
-  `define RX_CAP_NCHAN 3'd4
- `endif
-
- `ifdef RX_HB_ON
-  `define RX_CAP_HB   1
- `else
-  `define RX_CAP_HB   0
- `endif
-
-`else  // !ifdef RX_ON
-
- `define RX_CAP_NCHAN 3'd0
- `define RX_CAP_HB 0
-
-`endif // !ifdef RX_ON
diff --git a/usrp/fpga/toplevel/usrp_multi/usrp_multi_config_2rx_0tx.vh b/usrp/fpga/toplevel/usrp_multi/usrp_multi_config_2rx_0tx.vh
deleted file mode 100644 (file)
index 3c47146..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Matt Ettus
-//  Copyright (C) 2006 Martin Dudok van Heel
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-`define MULTI_ON
-// ------------------------------------------------------------
-// If TX_ON is not defined, there is *no* transmit circuitry built
-// `define TX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
-// to respectively enable 1, 2 or 4 transmit channels.
-// [Please note that only TX_DUAL is currently valid]
-//`define TX_SINGLE
-//`define TX_DUAL
-//`define TX_QUAD
-
-// ------------------------------------------------------------
-// Define TX_HB_ON to enable the transmit halfband filter
-// [Not implemented]
-//`define TX_HB_ON
-
-// ------------------------------------------------------------
-// IF RX_ON is not defined, there is *no* transmit circuitry built
-  `define RX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
-// to respectively define 1, 2 or 4 receive channels.
-
-//`define RX_SINGLE
-`define RX_DUAL
-//`define RX_QUAD
-
-// ------------------------------------------------------------
-// Define RX_HB_ON to enable the receive halfband filter
-//`define RX_HB_ON
-
-// ------------------------------------------------------------
-// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
-  `define RX_NCO_ON
-
-// ------------------------------------------------------------
-// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
-  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_0tx.vh b/usrp/fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_0tx.vh
deleted file mode 100644 (file)
index 43ed8e6..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Matt Ettus
-//  Copyright (C) 2006 Martin Dudok van Heel
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-`define MULTI_ON
-// ------------------------------------------------------------
-// If TX_ON is not defined, there is *no* transmit circuitry built
-// `define TX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
-// to respectively enable 1, 2 or 4 transmit channels.
-// [Please note that only TX_DUAL is currently valid]
-//`define TX_SINGLE
-//`define TX_DUAL
-//`define TX_QUAD
-
-// ------------------------------------------------------------
-// Define TX_HB_ON to enable the transmit halfband filter
-// [Not implemented]
-//`define TX_HB_ON
-
-// ------------------------------------------------------------
-// IF RX_ON is not defined, there is *no* transmit circuitry built
-  `define RX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
-// to respectively define 1, 2 or 4 receive channels.
-
-//`define RX_SINGLE
-  `define RX_DUAL
-//`define RX_QUAD
-
-// ------------------------------------------------------------
-// Define RX_HB_ON to enable the receive halfband filter
-  `define RX_HB_ON
-
-// ------------------------------------------------------------
-// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
-  `define RX_NCO_ON
-
-// ------------------------------------------------------------
-// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
-  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_2tx.vh b/usrp/fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_2tx.vh
deleted file mode 100644 (file)
index 9ec92a4..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Matt Ettus
-//  Copyright (C) 2006 Martin Dudok van Heel
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-`define MULTI_ON
-// ------------------------------------------------------------
-// If TX_ON is not defined, there is *no* transmit circuitry built
-  `define TX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
-// to respectively enable 1, 2 or 4 transmit channels.
-// [Please note that only TX_DUAL is currently valid]
-//`define TX_SINGLE
-  `define TX_DUAL
-//`define TX_QUAD
-
-// ------------------------------------------------------------
-// Define TX_HB_ON to enable the transmit halfband filter
-// [Not implemented]
-//`define TX_HB_ON
-
-// ------------------------------------------------------------
-// IF RX_ON is not defined, there is *no* transmit circuitry built
-  `define RX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
-// to respectively define 1, 2 or 4 receive channels.
-
-//`define RX_SINGLE
-  `define RX_DUAL
-//`define RX_QUAD
-
-// ------------------------------------------------------------
-// Define RX_HB_ON to enable the receive halfband filter
-  `define RX_HB_ON
-
-// ------------------------------------------------------------
-// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
-  `define RX_NCO_ON
-
-// ------------------------------------------------------------
-// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
-  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/usrp_multi/usrp_multi_config_4rx_0tx.vh b/usrp/fpga/toplevel/usrp_multi/usrp_multi_config_4rx_0tx.vh
deleted file mode 100644 (file)
index 42549be..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Matt Ettus
-//  Copyright (C) 2006 Martin Dudok van Heel
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-`define MULTI_ON
-// ------------------------------------------------------------
-// If TX_ON is not defined, there is *no* transmit circuitry built
-// `define TX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
-// to respectively enable 1, 2 or 4 transmit channels.
-// [Please note that only TX_DUAL is currently valid]
-//`define TX_SINGLE
-//`define TX_DUAL
-//`define TX_QUAD
-
-// ------------------------------------------------------------
-// Define TX_HB_ON to enable the transmit halfband filter
-// [Not implemented]
-//`define TX_HB_ON
-
-// ------------------------------------------------------------
-// IF RX_ON is not defined, there is *no* transmit circuitry built
-  `define RX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
-// to respectively define 1, 2 or 4 receive channels.
-
-//`define RX_SINGLE
-//`define RX_DUAL
-  `define RX_QUAD
-
-// ------------------------------------------------------------
-// Define RX_HB_ON to enable the receive halfband filter
-//`define RX_HB_ON
-
-// ------------------------------------------------------------
-// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
-  `define RX_NCO_ON
-
-// ------------------------------------------------------------
-// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
-  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/usrp_multi/usrp_std.vh b/usrp/fpga/toplevel/usrp_multi/usrp_std.vh
deleted file mode 100644 (file)
index 2732a19..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Martin Dudok van Heel
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-
-// ====================================================================
-//            Do not remove or edit this file.
-//            This is a redirect to usrp_multi.vh
-//            This is needed because some common source files have a 
-//            hardcoded `include "usrp_std.vh"
-// ====================================================================
-
-`include "usrp_multi.vh"
diff --git a/usrp/fpga/toplevel/usrp_std/config.vh b/usrp/fpga/toplevel/usrp_std/config.vh
new file mode 100644 (file)
index 0000000..f1f8ec4
--- /dev/null
@@ -0,0 +1,53 @@
+// -*- verilog -*-
+//
+//  USRP - Universal Software Radio Peripheral
+//
+//  Copyright (C) 2006,2007 Matt Ettus
+//
+//  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 2 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, write to the Free Software
+//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
+//
+
+// ====================================================================
+//            User control over what parts get included
+//
+//                  >>>> EDIT ONLY THIS SECTION <<<<
+//                  Uncomment only ONE configuration
+// ====================================================================
+
+// ====================================================================
+// FIXME drive configuration selection from the command line and/or gui
+// ====================================================================
+
+// Uncomment this for 1 rx channel (w/ halfband) & 1 transmit channel
+//`include "../include/common_config_1rxhb_1tx.vh"
+
+// Uncomment this for 2 rx channels (w/ halfband) & 2 transmit channels
+  `include "../include/common_config_2rxhb_2tx.vh"
+
+// Uncomment this for 4 rx channels (w/o halfband) & 0 transmit channels
+//`include "../include/common_config_4rx_0tx.vh"
+
+// Uncomment this for multi with 2 rx channels (w/ halfband) & 0 transmit channels
+//`include "../include/common_config_2rxhb_0tx.vh"
+
+// Uncomment this for multi with 2 rx channels (w/o halfband) & 0 transmit channels
+//`include "../include/common_config_2rx_0tx.vh"
+
+// Add other "known to fit" configurations here...
+
+// ====================================================================
+//  Now include the common footer
+// ====================================================================
+  `include "../include/common_config_bottom.vh"
index fe6773f67ea7606d8e93362e5e19b42a36dec95f..e43d39ba3df4f6f8cb8d37504244278676811ce0 100644 (file)
@@ -370,7 +370,6 @@ set_instance_assignment -name CLOCK_SETTINGS master_clk -to master_clk
 
 set_global_assignment -name VERILOG_FILE ../../sdr_lib/rssi.v
 set_global_assignment -name VERILOG_FILE ../../sdr_lib/ram16.v
-set_global_assignment -name VERILOG_FILE usrp_std.vh
 set_global_assignment -name VERILOG_FILE ../../megacells/fifo_4k.v
 set_global_assignment -name VERILOG_FILE ../../sdr_lib/hb/acc.v
 set_global_assignment -name VERILOG_FILE ../../sdr_lib/hb/mult.v
index ad882ce16fd20fcd4b09d484fc2d0158c921a9ae..870f43769e825b5e2fb7f25c504c724f9dc9613e 100644 (file)
@@ -27,7 +27,7 @@
 
 // Uncomment the following to include optional circuitry
 
-`include "usrp_std.vh"
+`include "config.vh"
 `include "../../../firmware/include/fpga_regs_common.v"
 `include "../../../firmware/include/fpga_regs_standard.v"
 
diff --git a/usrp/fpga/toplevel/usrp_std/usrp_std.vh b/usrp/fpga/toplevel/usrp_std/usrp_std.vh
deleted file mode 100644 (file)
index 7b7433c..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Matt Ettus
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-
-// ====================================================================
-//            User control over what parts get included
-//
-//                  >>>> EDIT ONLY THIS SECTION <<<<
-//
-// ====================================================================
-
-// Uncomment this for 1 rx channel (w/ halfband) & 1 transmit channel
-//`include "usrp_std_config_1rxhb_1tx.vh"
-
-// Uncomment this for 2 rx channels (w/ halfband) & 2 transmit channels
-  `include "usrp_std_config_2rxhb_2tx.vh"
-
-// Uncomment this for 4 rx channels (w/o halfband) & 0 transmit channels
-//`include "usrp_std_config_4rx_0tx.vh"
-
-// Add other "known to fit" configurations here...
-
-// ====================================================================
-// 
-//                  >>>> DO NOT EDIT BELOW HERE <<<<
-//
-// [The stuff from here down is derived from the stuff included above]
-//
-// N.B., *all* the remainder of the code should be conditionalized
-// only in terms of:
-//
-//  TX_ON, TX_EN_0, TX_EN_1, TX_EN_2, TX_EN_3, TX_CAP_NCHAN, TX_CAP_HB,
-//  RX_ON, RX_EN_0, RX_EN_1, RX_EN_2, RX_EN_3, RX_CAP_NCHAN, RX_CAP_HB,
-//  RX_NCO_ON, RX_CIC_ON
-// ====================================================================
-
-`ifdef TX_ON
-
- `ifdef TX_SINGLE
-  `define TX_EN_0
-  `define TX_CAP_NCHAN 3'd1
- `endif
-
- `ifdef TX_DUAL
-  `define TX_EN_0
-  `define TX_EN_1
-  `define TX_CAP_NCHAN 3'd2
- `endif
-
- `ifdef TX_QUAD
-  `define TX_EN_0
-  `define TX_EN_1
-  `define TX_EN_2
-  `define TX_EN_3
-  `define TX_CAP_NCHAN 3'd4
- `endif
-
- `ifdef TX_HB_ON
-  `define TX_CAP_HB   1
- `else
-  `define TX_CAP_HB   0
- `endif
-
-`else  // !ifdef TX_ON
-
- `define TX_CAP_NCHAN 3'd0
- `define TX_CAP_HB 0
-
-`endif // !ifdef TX_ON
-
-// --------------------------------------------------------------------
-
-`ifdef RX_ON
-
- `ifdef RX_SINGLE
-  `define RX_EN_0
-  `define RX_CAP_NCHAN 3'd1
- `endif
-
- `ifdef RX_DUAL
-  `define RX_EN_0
-  `define RX_EN_1
-  `define RX_CAP_NCHAN 3'd2
- `endif
-
- `ifdef RX_QUAD
-  `define RX_EN_0
-  `define RX_EN_1
-  `define RX_EN_2
-  `define RX_EN_3
-  `define RX_CAP_NCHAN 3'd4
- `endif
-
- `ifdef RX_HB_ON
-  `define RX_CAP_HB   1
- `else
-  `define RX_CAP_HB   0
- `endif
-
-`else  // !ifdef RX_ON
-
- `define RX_CAP_NCHAN 3'd0
- `define RX_CAP_HB 0
-
-`endif // !ifdef RX_ON
diff --git a/usrp/fpga/toplevel/usrp_std/usrp_std_config_1rxhb_1tx.vh b/usrp/fpga/toplevel/usrp_std/usrp_std_config_1rxhb_1tx.vh
deleted file mode 100644 (file)
index e029192..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Matt Ettus
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-
-// ------------------------------------------------------------
-// If TX_ON is not defined, there is *no* transmit circuitry built
-  `define TX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
-// to respectively enable 1, 2 or 4 transmit channels.
-// [Please note that only TX_DUAL is currently valid]
-  `define TX_SINGLE
-//`define TX_DUAL
-//`define TX_QUAD
-
-// ------------------------------------------------------------
-// Define TX_HB_ON to enable the transmit halfband filter
-// [Not implemented]
-//`define TX_HB_ON
-
-// ------------------------------------------------------------
-// IF RX_ON is not defined, there is *no* transmit circuitry built
-  `define RX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
-// to respectively define 1, 2 or 4 receive channels.
-
-  `define RX_SINGLE
-//`define RX_DUAL
-//`define RX_QUAD
-
-// ------------------------------------------------------------
-// Define RX_HB_ON to enable the receive halfband filter
-  `define RX_HB_ON
-
-// ------------------------------------------------------------
-// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
-  `define RX_NCO_ON
-
-// ------------------------------------------------------------
-// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
-  `define RX_CIC_ON
\ No newline at end of file
diff --git a/usrp/fpga/toplevel/usrp_std/usrp_std_config_2rxhb_2tx.vh b/usrp/fpga/toplevel/usrp_std/usrp_std_config_2rxhb_2tx.vh
deleted file mode 100644 (file)
index 4d51a20..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Matt Ettus
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-
-// ------------------------------------------------------------
-// If TX_ON is not defined, there is *no* transmit circuitry built
-  `define TX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
-// to respectively enable 1, 2 or 4 transmit channels.
-// [Please note that only TX_DUAL is currently valid]
-//`define TX_SINGLE
-  `define TX_DUAL
-//`define TX_QUAD
-
-// ------------------------------------------------------------
-// Define TX_HB_ON to enable the transmit halfband filter
-// [Not implemented]
-//`define TX_HB_ON
-
-// ------------------------------------------------------------
-// IF RX_ON is not defined, there is *no* receive circuitry built
-  `define RX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
-// to respectively define 1, 2 or 4 receive channels.
-
-//`define RX_SINGLE
-  `define RX_DUAL
-//`define RX_QUAD
-
-// ------------------------------------------------------------
-// Define RX_HB_ON to enable the receive halfband filter
-  `define RX_HB_ON
-
-// ------------------------------------------------------------
-// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
-  `define RX_NCO_ON
-
-// ------------------------------------------------------------
-// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
-  `define RX_CIC_ON
diff --git a/usrp/fpga/toplevel/usrp_std/usrp_std_config_4rx_0tx.vh b/usrp/fpga/toplevel/usrp_std/usrp_std_config_4rx_0tx.vh
deleted file mode 100644 (file)
index 2bc7138..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- verilog -*-
-//
-//  USRP - Universal Software Radio Peripheral
-//
-//  Copyright (C) 2006 Matt Ettus
-//
-//  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 2 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, write to the Free Software
-//  Foundation, Inc., 51 Franklin Street, Boston, MA  02110-1301  USA
-//
-
-// ------------------------------------------------------------
-// If TX_ON is not defined, there is *no* transmit circuitry built
-// `define TX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of TX_SINGLE, TX_DUAL and TX_QUAD
-// to respectively enable 1, 2 or 4 transmit channels.
-// [Please note that only TX_DUAL is currently valid]
-//`define TX_SINGLE
-//`define TX_DUAL
-//`define TX_QUAD
-
-// ------------------------------------------------------------
-// Define TX_HB_ON to enable the transmit halfband filter
-// [Not implemented]
-//`define TX_HB_ON
-
-// ------------------------------------------------------------
-// IF RX_ON is not defined, there is *no* receive circuitry built
-  `define RX_ON
-
-// ------------------------------------------------------------
-// Define 1 and only one of RX_SINGLE, RX_DUAL and RX_QUAD
-// to respectively define 1, 2 or 4 receive channels.
-
-//`define RX_SINGLE
-//`define RX_DUAL
-  `define RX_QUAD
-
-// ------------------------------------------------------------
-// Define RX_HB_ON to enable the receive halfband filter
-//`define RX_HB_ON
-
-// ------------------------------------------------------------
-// Define RX_NCO_ON to enable the receive Numerical Controlled Osc
-  `define RX_NCO_ON
-
-// ------------------------------------------------------------
-// Define RX_CIC_ON to enable the receive Cascaded Integrator Comb filter
-  `define RX_CIC_ON