From e283fe844c88aa33b6bde4a7cb74f0d1c2ddbbc5 Mon Sep 17 00:00:00 2001 From: jcorgan Date: Tue, 5 Jun 2007 04:21:29 +0000 Subject: [PATCH] Merged r5566:5676 from jcorgan/snd into trunk, with minor changes. Component gr-sounder is now complete for recording impulse responses to a file. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@5679 221aa14e-8319-0410-a670-987f0aec2ac5 --- gr-sounder/src/fpga/lib/Makefile.am | 1 + gr-sounder/src/fpga/lib/dac_interface.v | 4 +- gr-sounder/src/fpga/lib/lfsr.v | 4 +- gr-sounder/src/fpga/lib/lfsr_constants.v | 66 ++++++++------- gr-sounder/src/fpga/lib/sounder.v | 34 ++++---- gr-sounder/src/fpga/lib/sounder_ctrl.v | 97 +++++++++++++++++++++++ gr-sounder/src/fpga/lib/sounder_rx.v | 74 ++++++++--------- gr-sounder/src/fpga/lib/sounder_tx.v | 11 ++- gr-sounder/src/fpga/lib/strobe.v | 48 ----------- gr-sounder/src/fpga/tb/sounder_tb.sav | 47 +++++++---- gr-sounder/src/fpga/tb/sounder_tb.sh | 5 +- gr-sounder/src/fpga/tb/sounder_tb.v | 76 ++++++++++++------ gr-sounder/src/fpga/top/usrp_sounder.qsf | 9 ++- gr-sounder/src/fpga/top/usrp_sounder.rbf | Bin 112186 -> 113716 bytes gr-sounder/src/fpga/top/usrp_sounder.v | 8 +- gr-sounder/src/python/sounder.py | 40 ++++++++-- gr-sounder/src/python/usrp_sounder.py | 15 +++- 17 files changed, 334 insertions(+), 205 deletions(-) mode change 100755 => 100644 gr-sounder/src/fpga/lib/lfsr_constants.v create mode 100644 gr-sounder/src/fpga/lib/sounder_ctrl.v delete mode 100644 gr-sounder/src/fpga/lib/strobe.v mode change 100755 => 100644 gr-sounder/src/fpga/top/usrp_sounder.qsf diff --git a/gr-sounder/src/fpga/lib/Makefile.am b/gr-sounder/src/fpga/lib/Makefile.am index 0a03147a..1c8f39ba 100644 --- a/gr-sounder/src/fpga/lib/Makefile.am +++ b/gr-sounder/src/fpga/lib/Makefile.am @@ -25,6 +25,7 @@ EXTRA_DIST = \ dac_interface.v \ dacpll.v \ sounder.v \ + sounder_ctrl.v \ sounder_rx.v \ sounder_tx.v diff --git a/gr-sounder/src/fpga/lib/dac_interface.v b/gr-sounder/src/fpga/lib/dac_interface.v index 9042e1c5..93c72cca 100644 --- a/gr-sounder/src/fpga/lib/dac_interface.v +++ b/gr-sounder/src/fpga/lib/dac_interface.v @@ -43,11 +43,11 @@ module dac_interface(clk_i,rst_i,ena_i,strobe_i,tx_i_i,tx_q_i,tx_data_o,tx_sync_ // Register the clk64 clock in the clk128 domain always @(posedge clk128) - clk64_d <= clk_i; + clk64_d <= #1 clk_i; // Register the tx data in the clk128 domain always @(posedge clk128) - tx_data_o <= clk64_d ? tx_i_i : tx_q_i; + tx_data_o <= #1 clk64_d ? tx_i_i : tx_q_i; assign tx_sync_o = clk64_d; diff --git a/gr-sounder/src/fpga/lib/lfsr.v b/gr-sounder/src/fpga/lib/lfsr.v index 6ae967ba..bd0743e9 100644 --- a/gr-sounder/src/fpga/lib/lfsr.v +++ b/gr-sounder/src/fpga/lib/lfsr.v @@ -36,10 +36,10 @@ module lfsr(clk_i,rst_i,ena_i,strobe_i,mask_i,pn_o); always @(posedge clk_i) if (rst_i | ~ena_i) - shifter <= 1; + shifter <= #5 1; else if (strobe_i) - shifter <= {shifter[width-2:0],parity}; + shifter <= #5 {shifter[width-2:0],parity}; assign pn_o = shifter[0]; diff --git a/gr-sounder/src/fpga/lib/lfsr_constants.v b/gr-sounder/src/fpga/lib/lfsr_constants.v old mode 100755 new mode 100644 index 55ee613d..e23ed660 --- a/gr-sounder/src/fpga/lib/lfsr_constants.v +++ b/gr-sounder/src/fpga/lib/lfsr_constants.v @@ -19,33 +19,45 @@ // Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301 USA // -module lfsr_constants(degree_i,mask_o,len_o); - input wire [4:0] degree_i; - output reg [15:0] mask_o; - output wire [15:0] len_o; - - assign len_o = (1 << degree_i) - 1; +module lfsr_constants(clk_i,rst_i,degree_i,mask_o,len_o); + input clk_i; + input rst_i; + input [4:0] degree_i; + output reg [15:0] mask_o; + output reg [16:0] len_o; + + integer len; - always @* - case (degree_i) - 5'd00: mask_o = 16'h0000; - 5'd01: mask_o = 16'h0001; - 5'd02: mask_o = 16'h0003; - 5'd03: mask_o = 16'h0005; - 5'd04: mask_o = 16'h0009; - 5'd05: mask_o = 16'h0012; - 5'd06: mask_o = 16'h0021; - 5'd07: mask_o = 16'h0041; - 5'd08: mask_o = 16'h008E; - 5'd09: mask_o = 16'h0108; - 5'd10: mask_o = 16'h0204; - 5'd11: mask_o = 16'h0402; - 5'd12: mask_o = 16'h0829; - 5'd13: mask_o = 16'h100D; - 5'd14: mask_o = 16'h2015; - 5'd15: mask_o = 16'h4001; - 5'd16: mask_o = 16'h8016; - default: mask_o = 16'h0000; - endcase // case(degree_i) + always @(posedge clk_i) + if (rst_i) + begin + len_o <= #5 17'b0; + mask_o <= #5 16'b0; + end + else + begin + len_o <= #5 ((1 << degree_i) << 1)-3; + + case (degree_i) + 5'd00: mask_o <= #5 16'h0000; + 5'd01: mask_o <= #5 16'h0001; + 5'd02: mask_o <= #5 16'h0003; + 5'd03: mask_o <= #5 16'h0005; + 5'd04: mask_o <= #5 16'h0009; + 5'd05: mask_o <= #5 16'h0012; + 5'd06: mask_o <= #5 16'h0021; + 5'd07: mask_o <= #5 16'h0041; + 5'd08: mask_o <= #5 16'h008E; + 5'd09: mask_o <= #5 16'h0108; + 5'd10: mask_o <= #5 16'h0204; + 5'd11: mask_o <= #5 16'h0402; + 5'd12: mask_o <= #5 16'h0829; + 5'd13: mask_o <= #5 16'h100D; + 5'd14: mask_o <= #5 16'h2015; + 5'd15: mask_o <= #5 16'h4001; + 5'd16: mask_o <= #5 16'h8016; + default: mask_o <= #5 16'h0000; + endcase // case(degree_i) + end // else: !if(rst_i) endmodule // lfsr_constants diff --git a/gr-sounder/src/fpga/lib/sounder.v b/gr-sounder/src/fpga/lib/sounder.v index 58b56344..675be888 100644 --- a/gr-sounder/src/fpga/lib/sounder.v +++ b/gr-sounder/src/fpga/lib/sounder.v @@ -23,8 +23,8 @@ `include "../../../../usrp/firmware/include/fpga_regs_standard.v" module sounder(clk_i, saddr_i, sdata_i, s_strobe_i, - tx_strobe_i, tx_dac_i_o,tx_dac_q_o, - rx_strobe_i, rx_adc_i_i,rx_adc_q_i, + tx_strobe_o, tx_dac_i_o, tx_dac_q_o, + rx_adc_i_i,rx_adc_q_i, rx_strobe_o, rx_imp_i_o,rx_imp_q_o); // System interface @@ -34,12 +34,11 @@ module sounder(clk_i, saddr_i, sdata_i, s_strobe_i, input s_strobe_i; // Configuration bus write // Transmit subsystem - input tx_strobe_i; // Generate an transmitter output sample + output tx_strobe_o; // Generate an transmitter output sample output [13:0] tx_dac_i_o; // I channel transmitter output to DAC output [13:0] tx_dac_q_o; // Q channel transmitter output to DAC // Receive subsystem - input rx_strobe_i; // Indicates receive sample ready from ADC output rx_strobe_o; // Indicates output samples ready for Rx FIFO input [15:0] rx_adc_i_i; // I channel input from ADC interface module input [15:0] rx_adc_q_i; // Q channel input from ADC interface module @@ -53,18 +52,17 @@ module sounder(clk_i, saddr_i, sdata_i, s_strobe_i, wire loopback; wire [4:0] degree; + wire [13:0] ampl; wire [15:0] mask; - wire [15:0] len; - - setting_reg #(`FR_USER_0) sr_mode - ( .clock(clk_i),.reset(1'b0),.strobe(s_strobe_i),.addr(saddr_i),.in(sdata_i), - .out({loopback,receive,transmit,reset}) ); - - setting_reg #(`FR_USER_1) sr_lfsr_degree - ( .clock(clk_i),.reset(1'b0),.strobe(s_strobe_i),.addr(saddr_i),.in(sdata_i),.out(degree) ); - - lfsr_constants constants(.degree_i(degree),.mask_o(mask),.len_o(len)); + wire ref_strobe; + wire sum_strobe; + sounder_ctrl master(.clk_i(clk_i),.rst_i(reset),.saddr_i(saddr_i), + .sdata_i(sdata_i),.s_strobe_i(s_strobe_i), + .reset_o(reset),.transmit_o(transmit),.receive_o(receive),.loopback_o(loopback), + .degree_o(degree),.ampl_o(ampl),.mask_o(mask),.tx_strobe_o(tx_strobe_o), + .rx_strobe_o(rx_strobe_o),.sum_strobe_o(sum_strobe),.ref_strobe_o(ref_strobe)); + // Loopback implementation wire [13:0] tx_i, tx_q; wire [15:0] tx_i_ext, tx_q_ext; @@ -80,13 +78,13 @@ module sounder(clk_i, saddr_i, sdata_i, s_strobe_i, sounder_tx transmitter ( .clk_i(clk_i),.rst_i(reset),.ena_i(transmit), - .strobe_i(tx_strobe_i),.mask_i(mask), + .strobe_i(tx_strobe_o),.mask_i(mask),.ampl_i(ampl), .tx_i_o(tx_i),.tx_q_o(tx_q) ); sounder_rx receiver ( .clk_i(clk_i),.rst_i(reset),.ena_i(receive), - .rx_strobe_i(rx_strobe_i),.tx_strobe_i(tx_strobe_i),.mask_i(mask),.degree_i(degree),.len_i(len), - .rx_in_i_i(rx_i),.rx_in_q_i(rx_q),.rx_i_o(rx_imp_i_o),.rx_q_o(rx_imp_q_o), - .rx_strobe_o(rx_strobe_o),.loop_i(loopback)); + .sum_strobe_i(sum_strobe),.ref_strobe_i(ref_strobe), + .mask_i(mask),.degree_i(degree), + .rx_in_i_i(rx_i),.rx_in_q_i(rx_q),.rx_i_o(rx_imp_i_o),.rx_q_o(rx_imp_q_o)); endmodule // sounder diff --git a/gr-sounder/src/fpga/lib/sounder_ctrl.v b/gr-sounder/src/fpga/lib/sounder_ctrl.v new file mode 100644 index 00000000..6e967a5b --- /dev/null +++ b/gr-sounder/src/fpga/lib/sounder_ctrl.v @@ -0,0 +1,97 @@ +// -*- verilog -*- +// +// USRP - Universal Software Radio Peripheral +// +// Copyright (C) 2007 Corgan Enterprises 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 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 +// + +`include "../../../../usrp/firmware/include/fpga_regs_common.v" +`include "../../../../usrp/firmware/include/fpga_regs_standard.v" + +module sounder_ctrl(clk_i,rst_i,saddr_i,sdata_i,s_strobe_i, + reset_o,transmit_o,receive_o,loopback_o, + degree_o,ampl_o,mask_o, + tx_strobe_o,rx_strobe_o,sum_strobe_o,ref_strobe_o); + + input clk_i; // Master clock @ 64 MHz + input rst_i; // Master synchronous reset + input [6:0] saddr_i; // Configuration bus address + input [31:0] sdata_i; // Configuration bus data + input s_strobe_i; // Configuration bus write + output reset_o; + output transmit_o; + output receive_o; + output loopback_o; + output [4:0] degree_o; + output [13:0] ampl_o; + output [15:0] mask_o; + output tx_strobe_o; + output rx_strobe_o; + output sum_strobe_o; + output ref_strobe_o; + + setting_reg #(`FR_USER_0) sr_mode + ( .clock(clk_i),.reset(1'b0),.strobe(s_strobe_i),.addr(saddr_i),.in(sdata_i), + .out({loopback_o,receive_o,transmit_o,reset_o}) ); + + setting_reg #(`FR_USER_1) sr_lfsr_degree + ( .clock(clk_i),.reset(1'b0),.strobe(s_strobe_i),.addr(saddr_i),.in(sdata_i), + .out(degree_o) ); + + setting_reg #(`FR_USER_2) sr_lfsr_ampl + ( .clock(clk_i),.reset(1'b0),.strobe(s_strobe_i),.addr(saddr_i),.in(sdata_i), + .out(ampl_o) ); + + wire [16:0] len; + lfsr_constants constants + (.clk_i(clk_i),.rst_i(rst_i),.degree_i(degree_o),.mask_o(mask_o), + .len_o(len) ); + + reg [15:0] phase; + assign tx_strobe_o = ~phase[0]; + assign ref_strobe_o = tx_strobe_o & !(phase>>1 == len>>1); + assign sum_strobe_o = (phase == len); + + reg rx_strobe_o; + always @(posedge clk_i) + if (rst_i) + begin + phase <= #5 16'hFFFF; + rx_strobe_o <= #5 0; + end + else + if (sum_strobe_o) + begin + phase <= #5 0; + rx_strobe_o <= #5 1'b1; + end + else + begin + phase <= #5 phase + 16'b1; + rx_strobe_o <= #5 0; + end + + + + + + + + + + +endmodule // sounder_ctrl diff --git a/gr-sounder/src/fpga/lib/sounder_rx.v b/gr-sounder/src/fpga/lib/sounder_rx.v index 338afd55..18038a3a 100644 --- a/gr-sounder/src/fpga/lib/sounder_rx.v +++ b/gr-sounder/src/fpga/lib/sounder_rx.v @@ -19,75 +19,63 @@ // Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301 USA // -module sounder_rx(clk_i,rst_i,ena_i,rx_strobe_i,tx_strobe_i,mask_i,degree_i,len_i, - rx_in_i_i,rx_in_q_i,rx_i_o,rx_q_o,rx_strobe_o, - loop_i); +module sounder_rx(clk_i,rst_i,ena_i,sum_strobe_i,ref_strobe_i, + mask_i,degree_i,rx_in_i_i,rx_in_q_i,rx_i_o,rx_q_o); input clk_i; // Master clock input rst_i; // Subsystem reset input ena_i; // Subsystem enable - input rx_strobe_i; // Strobe every received sample - input tx_strobe_i; // Strobe every transmitted sample + input sum_strobe_i; // Strobe on last sample per period + input ref_strobe_i; // PN code reference retarded one sample per period input [15:0] mask_i; // PN code LFSR mask input [4:0] degree_i; // PN code LFSR sequency degree - input [15:0] len_i; // PN code LFSR sequence length + input [15:0] rx_in_i_i; // I channel on receive input [15:0] rx_in_q_i; // Q channel on receive output [15:0] rx_i_o; // I channel of impulse response output [15:0] rx_q_o; // Q channel of impulse response - output rx_strobe_o; // Impulse response value ready - - input loop_i; // Implement loopback - - wire strobe_in = loop_i ? tx_strobe_i : rx_strobe_i; - wire [16:0] len = loop_i ? (len_i - 1) : ((len_i << 1) - 2); - - strobe #(17) phase_strobe(.clk_i(clk_i),.rst_i(rst_i),.ena_i(ena_i), - .rate_i(len),.strobe_i(strobe_in),.strobe_o(rx_strobe_o), - .count_o()); - - wire pn_ref; - wire ref_strobe = tx_strobe_i & ~rx_strobe_o; // Retard reference phase once per period - lfsr ref_code - ( .clk_i(clk_i),.rst_i(rst_i),.ena_i(ena_i),.strobe_i(ref_strobe),.mask_i(mask_i),.pn_o(pn_ref) ); - wire [5:0] offset = (5'd16-degree_i); - reg [31:0] sum_i, sum_q; reg [31:0] total_i, total_q; - wire [31:0] scaled_i = total_i << offset; - wire [31:0] scaled_q = total_q << offset; wire [31:0] i_ext, q_ext; sign_extend #(16,32) i_extender(rx_in_i_i, i_ext); sign_extend #(16,32) q_extender(rx_in_q_i, q_ext); + wire pn_ref; + lfsr ref_code + ( .clk_i(clk_i),.rst_i(rst_i),.ena_i(ena_i),.strobe_i(ref_strobe_i),.mask_i(mask_i),.pn_o(pn_ref) ); + wire [31:0] prod_i = pn_ref ? i_ext : -i_ext; wire [31:0] prod_q = pn_ref ? q_ext : -q_ext; - + always @(posedge clk_i) if (rst_i | ~ena_i) begin - sum_i <= 0; - sum_q <= 0; - total_i <= 0; - total_q <= 0; + sum_i <= #5 0; + sum_q <= #5 0; + total_i <= #5 0; + total_q <= #5 0; end - else if (rx_strobe_o) - begin - total_i <= sum_i + prod_i; - total_q <= sum_q + prod_q; - sum_i <= 0; - sum_q <= 0; - end - else if (strobe_in) - begin - sum_i = sum_i + prod_i; - sum_q = sum_q + prod_q; - end - + else + if (sum_strobe_i) + begin + total_i <= #5 sum_i; + total_q <= #5 sum_q; + sum_i <= #5 prod_i; + sum_q <= #5 prod_q; + end + else + begin + sum_i <= #5 sum_i + prod_i; + sum_q <= #5 sum_q + prod_q; + end + + wire [5:0] offset = (5'd16-degree_i); + wire [31:0] scaled_i = total_i << offset; + wire [31:0] scaled_q = total_q << offset; assign rx_i_o = scaled_i[31:16]; assign rx_q_o = scaled_q[31:16]; diff --git a/gr-sounder/src/fpga/lib/sounder_tx.v b/gr-sounder/src/fpga/lib/sounder_tx.v index 46165dde..148b1e50 100644 --- a/gr-sounder/src/fpga/lib/sounder_tx.v +++ b/gr-sounder/src/fpga/lib/sounder_tx.v @@ -22,24 +22,23 @@ `include "../../../../usrp/firmware/include/fpga_regs_common.v" `include "../../../../usrp/firmware/include/fpga_regs_standard.v" -`define MAX_VALUE 14'h1FFF // 2s complement -`define MIN_VALUE 14'h2001 - -module sounder_tx(clk_i,rst_i,ena_i,strobe_i,mask_i,tx_i_o,tx_q_o); +module sounder_tx(clk_i,rst_i,ena_i,strobe_i,ampl_i,mask_i,tx_i_o,tx_q_o); input clk_i; input rst_i; input ena_i; input strobe_i; + input [13:0] ampl_i; input [15:0] mask_i; output [13:0] tx_i_o; output [13:0] tx_q_o; wire pn; - + wire [13:0] min_value = (~ampl_i)+14'b1; + lfsr pn_code ( .clk_i(clk_i),.rst_i(rst_i),.ena_i(ena_i),.strobe_i(strobe_i),.mask_i(mask_i),.pn_o(pn) ); - assign tx_i_o = ena_i ? (pn ? `MAX_VALUE : `MIN_VALUE) : 14'b0; // Bipolar + assign tx_i_o = ena_i ? (pn ? ampl_i : min_value) : 14'b0; // Bipolar assign tx_q_o = 14'b0; endmodule // sounder_tx diff --git a/gr-sounder/src/fpga/lib/strobe.v b/gr-sounder/src/fpga/lib/strobe.v deleted file mode 100644 index ed07f21f..00000000 --- a/gr-sounder/src/fpga/lib/strobe.v +++ /dev/null @@ -1,48 +0,0 @@ -// -*- verilog -*- -// -// USRP - Universal Software Radio Peripheral -// -// Copyright (C) 2007 Corgan Enterprises 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 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 -// - -module strobe(clk_i,rst_i,ena_i,rate_i,strobe_i,strobe_o,count_o); - parameter width = 16; - - input clk_i; - input rst_i; - input ena_i; - input [width-1:0] rate_i; // Desired period minus one - input strobe_i; - output strobe_o; - output [width-1:0] count_o; - - - reg [width-1:0] counter; - - always @(posedge clk_i) - if(rst_i | ~ena_i) - counter <= 32'hFFFFFFFF; // First period is short by one - else if(strobe_i) - if(counter == rate_i) - counter <= 0; - else - counter <= counter + 1; - - assign strobe_o = (counter == rate_i) & strobe_i; - assign count_o = counter; - -endmodule // strobe diff --git a/gr-sounder/src/fpga/tb/sounder_tb.sav b/gr-sounder/src/fpga/tb/sounder_tb.sav index 3a73a944..25bc512b 100644 --- a/gr-sounder/src/fpga/tb/sounder_tb.sav +++ b/gr-sounder/src/fpga/tb/sounder_tb.sav @@ -1,10 +1,12 @@ -*-24.753519 93900000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +*-29.807737 317080000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +@200 +- @28 -sounder_tb.uut.clk_i -sounder_tb.rst sounder_tb.s_strobe @22 -sounder_tb.sdata[31:0] +sounder_tb.saddr[6:0] +@200 +- @28 sounder_tb.uut.reset sounder_tb.uut.transmit @@ -14,27 +16,42 @@ sounder_tb.uut.loopback - @22 sounder_tb.uut.degree[4:0] -sounder_tb.uut.len[15:0] +sounder_tb.uut.mask[15:0] +sounder_tb.uut.ampl[13:0] +sounder_tb.uut.receiver.offset[5:0] @200 - -@28 +@8420 sounder_tb.tx_dac_i[13:0] +@28 +sounder_tb.tx_strobe @200 - -@22 -sounder_tb.fifo_strobe -@8421 +@8420 sounder_tb.fifo_i[15:0] -@22 -sounder_tb.fifo_q[15:0] +@28 +sounder_tb.fifo_strobe @200 - -@22 -sounder_tb.uut.transmitter.pn_code.pn_o -sounder_tb.uut.receiver.pn_ref +@28 +sounder_tb.uut.ref_strobe +sounder_tb.uut.sum_strobe @200 - @28 -sounder_tb.tx_strobe +sounder_tb.clk +sounder_tb.uut.transmitter.pn +sounder_tb.uut.receiver.pn_ref @8420 +sounder_tb.uut.receiver.prod_i[31:0] +sounder_tb.uut.receiver.scaled_i[31:0] +@8421 sounder_tb.uut.receiver.sum_i[31:0] +@8420 +sounder_tb.uut.receiver.total_i[31:0] +@200 +- +@22 +sounder_tb.uut.master.len[16:0] +@200 +- diff --git a/gr-sounder/src/fpga/tb/sounder_tb.sh b/gr-sounder/src/fpga/tb/sounder_tb.sh index 9bc71438..28efc8d3 100755 --- a/gr-sounder/src/fpga/tb/sounder_tb.sh +++ b/gr-sounder/src/fpga/tb/sounder_tb.sh @@ -1,7 +1,6 @@ #!/bin/sh iverilog -y ../lib/ -y ../../../../usrp/fpga/sdr_lib \ sounder_tb.v -o sounder_tb && \ -./sounder_tb > sounder_tb.out && \ -grep 'rst=0' sounder_tb.out | grep 'clk=1' > sounder_tb.out2 && \ -grep 'tx_strobe=1' sounder_tb.out2 > sounder_tb.out3 +./sounder_tb > sounder_tb.out && \ + grep 'r=0' sounder_tb.out | grep 'c=1' > sounder_tb.out2 diff --git a/gr-sounder/src/fpga/tb/sounder_tb.v b/gr-sounder/src/fpga/tb/sounder_tb.v index 6a9eff0e..0e0cb55c 100644 --- a/gr-sounder/src/fpga/tb/sounder_tb.v +++ b/gr-sounder/src/fpga/tb/sounder_tb.v @@ -19,7 +19,7 @@ // Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301 USA // -`timescale 1ns/1ps +`timescale 1ns/100ps `include "../lib/sounder.v" @@ -30,6 +30,7 @@ `define bmFR_MODE_LP 32'h0008 `define FR_DEGREE 7'd65 +`define FR_AMPL 7'd66 module sounder_tb; @@ -44,12 +45,11 @@ module sounder_tb; reg s_strobe; // DAC bus - reg tx_strobe; + wire tx_strobe; wire [13:0] tx_dac_i; wire [13:0] tx_dac_q; // ADC bus - reg rx_strobe; reg [15:0] rx_adc_i; reg [15:0] rx_adc_q; @@ -64,14 +64,10 @@ module sounder_tb; sounder uut (.clk_i(clk),.saddr_i(saddr),.sdata_i(sdata),.s_strobe_i(s_strobe), - .tx_strobe_i(tx_strobe),.tx_dac_i_o(tx_dac_i),.tx_dac_q_o(tx_dac_q), - .rx_strobe_i(rx_strobe),.rx_adc_i_i(rx_adc_i),.rx_adc_q_i(rx_adc_q), - .rx_strobe_o(fifo_strobe),.rx_imp_i_o(fifo_i),.rx_imp_q_o(fifo_q)); + .tx_strobe_o(tx_strobe),.tx_dac_i_o(tx_dac_i),.tx_dac_q_o(tx_dac_q), + .rx_strobe_o(fifo_strobe),.rx_adc_i_i(rx_adc_i),.rx_adc_q_i(rx_adc_q), + .rx_imp_i_o(fifo_i),.rx_imp_q_o(fifo_q)); - // Drive tx_strobe @ half clock rate - always @(posedge clk) - tx_strobe <= ~tx_strobe; - // Start up initialization initial begin @@ -81,8 +77,6 @@ module sounder_tb; saddr = 0; sdata = 0; s_strobe = 0; - tx_strobe = 0; - rx_strobe = 1; rx_adc_i = 0; rx_adc_q = 0; mode = 0; @@ -101,9 +95,11 @@ module sounder_tb; initial begin - $monitor($time, " clk=%b rst=%b tx_strobe=%b fifo_strobe=%b phs=%x pn_o=%b pn_ref=%b fifo_i=%x fifo_q=", - clk, uut.reset, tx_strobe, fifo_strobe, uut.receiver.phase_strobe.count_o, - uut.transmitter.pn, uut.receiver.pn_ref, fifo_i, fifo_q); + $monitor($time, " c=%b r=%b phs=%d txs=%b rfs=%b rxs=%b sms=%b pn=%b pnr=%b prd=%x sum=%x tot=%x", + clk, rst, uut.master.phase, uut.tx_strobe_o, uut.ref_strobe, uut.rx_strobe_o, + uut.sum_strobe, uut.transmitter.pn, uut.receiver.pn_ref, uut.receiver.prod_i, + uut.receiver.sum_i, uut.receiver.total_i); + $dumpfile("sounder_tb.vcd"); $dumpvars(0, sounder_tb); end @@ -115,11 +111,11 @@ module sounder_tb; begin @(posedge clk); - saddr <= regno; - sdata <= value; - s_strobe <= 1'b1; + saddr <= #5 regno; + sdata <= #5 value; + s_strobe <= #5 1'b1; @(posedge clk); - s_strobe <= 0; + s_strobe <= #5 0; end endtask // write_cfg_register @@ -141,6 +137,14 @@ module sounder_tb; end endtask // set_degree + // Set the PN amplitude + task set_amplitude; + input [13:0] ampl; + begin + write_cfg_register(`FR_AMPL, ampl); + end + endtask // set_ampl + // Turn on or off the transmitter task enable_tx; input tx; @@ -175,20 +179,24 @@ module sounder_tb; // Test transmitter functionality task test_tx; input [5:0] degree; + input [31:0] test_len; begin #20 set_reset(1); #20 set_degree(degree); + #20 set_amplitude(14'h1000); #20 enable_tx(1); + #20 enable_rx(0); + #20 enable_lp(0); #20 set_reset(0); - #(uut.len*20); // One PN code period - + #(test_len); end endtask // test_tx // Test loopback functionality task test_lp; input [5:0] degree; + input [31:0] test_len; begin #20 set_reset(1); @@ -197,16 +205,34 @@ module sounder_tb; #20 enable_rx(1); #20 enable_lp(1); #20 set_reset(0); - #((uut.len+1)*uut.len*20*2); + #(test_len); end endtask // test_lp + // Test receiver only functionality + task test_rx; + input [5:0] degree; + input [31:0] test_len; + + begin + #20 set_reset(1); + #20 set_degree(degree); + #20 enable_tx(0); + #20 enable_rx(1); + #20 enable_lp(0); + #20 set_reset(0); + #(test_len); + end + endtask // test_rx + // Execute tests initial begin - // #20 test_tx(12); - #20 test_lp(12); - #100 $finish; + #20 test_tx(8,255*20); + #20 test_lp(8,255*255*20*5); + //#20 test_rx(8,255*255*20*5); + #500 $finish; end + endmodule diff --git a/gr-sounder/src/fpga/top/usrp_sounder.qsf b/gr-sounder/src/fpga/top/usrp_sounder.qsf old mode 100755 new mode 100644 index 5ff52583..4d60f5f1 --- a/gr-sounder/src/fpga/top/usrp_sounder.qsf +++ b/gr-sounder/src/fpga/top/usrp_sounder.qsf @@ -236,7 +236,7 @@ set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC OFF set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION OFF set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_RETIMING OFF set_global_assignment -name IO_PLACEMENT_OPTIMIZATION OFF -set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT NORMAL +set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT EXTRA set_global_assignment -name INC_PLC_MODE OFF set_global_assignment -name ROUTING_BACK_ANNOTATION_MODE OFF set_instance_assignment -name IO_STANDARD LVTTL -to usbdata[12] @@ -368,13 +368,15 @@ set_instance_assignment -name CLOCK_SETTINGS master_clk -to master_clk set_instance_assignment -name PARTITION_HIERARCHY no_file_for_top_partition -to | -section_id Top set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top -set_global_assignment -name VERILOG_FILE ../lib/strobe.v +set_global_assignment -name PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING OFF +set_global_assignment -name FITTER_EARLY_TIMING_ESTIMATE_MODE REALISTIC set_global_assignment -name VERILOG_FILE ../lib/lfsr_constants.v set_global_assignment -name VERILOG_FILE ../lib/lfsr.v set_global_assignment -name VERILOG_FILE ../lib/dac_interface.v set_global_assignment -name VERILOG_FILE ../lib/dacpll.v set_global_assignment -name VERILOG_FILE ../lib/sounder_rx.v set_global_assignment -name VERILOG_FILE ../lib/sounder_tx.v +set_global_assignment -name VERILOG_FILE ../lib/sounder_ctrl.v set_global_assignment -name VERILOG_FILE ../lib/sounder.v set_global_assignment -name VERILOG_FILE ../../../../usrp/fpga/sdr_lib/atr_delay.v set_global_assignment -name VERILOG_FILE ../../../../usrp/fpga/sdr_lib/sign_extend.v @@ -390,4 +392,5 @@ set_global_assignment -name VERILOG_FILE ../../../../usrp/fpga/sdr_lib/master_co set_global_assignment -name VERILOG_FILE ../../../../usrp/fpga/sdr_lib/rssi.v set_global_assignment -name VERILOG_FILE ../../../../usrp/fpga/sdr_lib/rx_dcoffset.v set_global_assignment -name VERILOG_FILE ../../../../usrp/fpga/sdr_lib/serial_io.v -set_global_assignment -name VERILOG_FILE usrp_sounder.v \ No newline at end of file +set_global_assignment -name VERILOG_FILE usrp_sounder.v +set_global_assignment -name FITTER_EFFORT "STANDARD FIT" \ No newline at end of file diff --git a/gr-sounder/src/fpga/top/usrp_sounder.rbf b/gr-sounder/src/fpga/top/usrp_sounder.rbf index b6f494227a291b5b6ed254fcab7583f9a32e3d55..e2c9db6c4bc1c63289f9eb4117cec1502f4a47cf 100755 GIT binary patch literal 113716 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 Sy3n;;NnRIN_Q8iADf}N>mAiTX literal 112186 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

-6+J`z_F72BwfouA{axdgYmyVDLas+-jGxga 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 z