diff options
Diffstat (limited to 'fpga/usrp2/control_lib')
62 files changed, 1306 insertions, 151 deletions
| diff --git a/fpga/usrp2/control_lib/Makefile.srcs b/fpga/usrp2/control_lib/Makefile.srcs index 751b40828..a1c11c026 100644 --- a/fpga/usrp2/control_lib/Makefile.srcs +++ b/fpga/usrp2/control_lib/Makefile.srcs @@ -50,4 +50,5 @@ bootram.v \  nsgpio16LE.v \  settings_bus_16LE.v \  atr_controller16.v \ +fifo_to_wb.v \  )) diff --git a/fpga/usrp2/control_lib/atr_controller.v b/fpga/usrp2/control_lib/atr_controller.v index a161b5e00..2cef8ba2b 100644 --- a/fpga/usrp2/control_lib/atr_controller.v +++ b/fpga/usrp2/control_lib/atr_controller.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Automatic transmit/receive switching of control pins to daughterboards  // Store everything in registers for now, but could use a RAM for more diff --git a/fpga/usrp2/control_lib/atr_controller16.v b/fpga/usrp2/control_lib/atr_controller16.v index 74ce30a54..ff4f634c7 100644 --- a/fpga/usrp2/control_lib/atr_controller16.v +++ b/fpga/usrp2/control_lib/atr_controller16.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Automatic transmit/receive switching of control pins to daughterboards  // Store everything in registers for now, but could use a RAM for more diff --git a/fpga/usrp2/control_lib/bin2gray.v b/fpga/usrp2/control_lib/bin2gray.v index 513402163..8336a5afc 100644 --- a/fpga/usrp2/control_lib/bin2gray.v +++ b/fpga/usrp2/control_lib/bin2gray.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module bin2gray diff --git a/fpga/usrp2/control_lib/bootram.v b/fpga/usrp2/control_lib/bootram.v index 29d21ab5a..249a09814 100644 --- a/fpga/usrp2/control_lib/bootram.v +++ b/fpga/usrp2/control_lib/bootram.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Boot RAM for S3A, 8KB, dual port diff --git a/fpga/usrp2/control_lib/clock_bootstrap_rom.v b/fpga/usrp2/control_lib/clock_bootstrap_rom.v index 46563db65..542f49380 100644 --- a/fpga/usrp2/control_lib/clock_bootstrap_rom.v +++ b/fpga/usrp2/control_lib/clock_bootstrap_rom.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module clock_bootstrap_rom(input [15:0] addr, output [47:0] data); diff --git a/fpga/usrp2/control_lib/clock_control.v b/fpga/usrp2/control_lib/clock_control.v index 1bbe6bd75..000eaf1fb 100644 --- a/fpga/usrp2/control_lib/clock_control.v +++ b/fpga/usrp2/control_lib/clock_control.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // AD9510 Register Map (from datasheet Rev. A) diff --git a/fpga/usrp2/control_lib/clock_control_tb.v b/fpga/usrp2/control_lib/clock_control_tb.v index 4e705cf23..9760efbe3 100644 --- a/fpga/usrp2/control_lib/clock_control_tb.v +++ b/fpga/usrp2/control_lib/clock_control_tb.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module clock_control_tb(); diff --git a/fpga/usrp2/control_lib/dcache.v b/fpga/usrp2/control_lib/dcache.v index 9063bf02a..384c5a149 100644 --- a/fpga/usrp2/control_lib/dcache.v +++ b/fpga/usrp2/control_lib/dcache.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module dcache    #(parameter AWIDTH=14, diff --git a/fpga/usrp2/control_lib/decoder_3_8.v b/fpga/usrp2/control_lib/decoder_3_8.v index 729b45d18..8f91d8263 100644 --- a/fpga/usrp2/control_lib/decoder_3_8.v +++ b/fpga/usrp2/control_lib/decoder_3_8.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module decoder_3_8     (input [2:0] sel,  diff --git a/fpga/usrp2/control_lib/dpram32.v b/fpga/usrp2/control_lib/dpram32.v index 4da621823..386435e70 100644 --- a/fpga/usrp2/control_lib/dpram32.v +++ b/fpga/usrp2/control_lib/dpram32.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Dual ported RAM  //    Addresses are byte-oriented, so botton 2 address bits are ignored. diff --git a/fpga/usrp2/control_lib/fifo_tb.v b/fpga/usrp2/control_lib/fifo_tb.v deleted file mode 100644 index 616fe4ee7..000000000 --- a/fpga/usrp2/control_lib/fifo_tb.v +++ /dev/null @@ -1,151 +0,0 @@ -module fifo_tb(); -    -   reg clk, rst; -   wire short_full, short_empty, long_full, long_empty; -   wire casc2_full, casc2_empty; -   reg 	read, write; -    -   wire [7:0] short_do, long_do; -   wire [7:0] casc2_do; -   reg [7:0]  di; - -   reg 	      clear = 0; -    -   shortfifo #(.WIDTH(8)) shortfifo -     (.clk(clk),.rst(rst),.datain(di),.dataout(short_do),.clear(clear), -      .read(read),.write(write),.full(short_full),.empty(short_empty)); -    -   longfifo #(.WIDTH(8), .SIZE(4)) longfifo -     (.clk(clk),.rst(rst),.datain(di),.dataout(long_do),.clear(clear), -      .read(read),.write(write),.full(long_full),.empty(long_empty)); -    -   cascadefifo2 #(.WIDTH(8), .SIZE(4)) cascadefifo2 -     (.clk(clk),.rst(rst),.datain(di),.dataout(casc2_do),.clear(clear), -      .read(read),.write(write),.full(casc2_full),.empty(casc2_empty)); -    -   initial rst = 1; -   initial #1000 rst = 0; -   initial clk = 0; -   always #50 clk = ~clk; -    -   initial di = 8'hAE; -   initial read = 0; -   initial write = 0; - -   always @(posedge clk) -     if(write) -       di <= di + 1; -    -   always @(posedge clk) -     begin -	if(short_full != long_full) -	  $display("Error: FULL mismatch"); -	if(short_empty != long_empty) -	  $display("Note: EMPTY mismatch, usually not a problem (longfifo has 2 cycle latency)"); -	if(read & (short_do != long_do)) -	  $display("Error: DATA mismatch"); -     end -    -   initial $dumpfile("fifo_tb.vcd"); -   initial $dumpvars(0,fifo_tb); - -   initial -     begin -	@(negedge rst); -	@(posedge clk); -	repeat (10) -	  @(posedge clk); -	write <= 1; -	@(posedge clk); -	write <= 0; -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	read <= 1; -	@(posedge clk); -	read <= 0; -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); - -	repeat(10) -	  begin -	     write <= 1; -	     @(posedge clk); -	     write <= 0; -	     @(posedge clk); -	     @(posedge clk); -	     @(posedge clk); -	     read <= 1; -	     @(posedge clk); -	     read <= 0; -	     @(posedge clk); -	     @(posedge clk); -	     @(posedge clk); -	     @(posedge clk); -	     @(posedge clk); -	  end // repeat (10) -	 -	write <= 1; -	repeat (4) -	  @(posedge clk); -	write <= 0; -	@(posedge clk); -	read <= 1; -	repeat (4) -	  @(posedge clk); -	read <= 0; -	@(posedge clk); - - -	write <= 1; -	repeat (4) -	  @(posedge clk); -	write <= 0; -	@(posedge clk); -	repeat (4) -	  begin -	     read <= 1; -	     @(posedge clk); -	     read <= 0; -	     @(posedge clk); -	  end - -	write <= 1; -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	@(posedge clk); -	read <= 1; -	repeat (5) -	  @(posedge clk); -	write <= 0; -	  @(posedge clk); -	  @(posedge clk); -	read <= 0; -	@(posedge clk); - -	write <= 1; -	repeat (16) -	  @(posedge clk); -	write <= 0; -	@(posedge clk); -	 -	read <= 1; -	repeat (16) -	  @(posedge clk); -	read <= 0; -	@(posedge clk); -		  -	repeat (10) -	  @(posedge clk); -	$finish; -     end -endmodule // longfifo_tb diff --git a/fpga/usrp2/control_lib/fifo_to_wb.v b/fpga/usrp2/control_lib/fifo_to_wb.v new file mode 100644 index 000000000..9b6b5e804 --- /dev/null +++ b/fpga/usrp2/control_lib/fifo_to_wb.v @@ -0,0 +1,183 @@ +// +// Copyright 2011 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/>. +// + + +module fifo_to_wb +  #(parameter PKT_LEN = 16) +   (input clk, input reset, input clear, +    input [18:0] data_i, input src_rdy_i, output dst_rdy_o, +    output [18:0] data_o, output src_rdy_o, input dst_rdy_i, +    output reg [15:0] wb_adr_o, output [15:0] wb_dat_mosi, input [15:0] wb_dat_miso, +    output [1:0] wb_sel_o, output wb_cyc_o, output wb_stb_o, output wb_we_o, input wb_ack_i, +    input [7:0] triggers, +    output [31:0] debug0, output [31:0] debug1); +    +   wire [18:0] 	  ctrl_data; +   reg [18:0] 	  resp_data; +   wire 	  ctrl_src_rdy, ctrl_dst_rdy, resp_src_rdy, resp_dst_rdy; +    +   fifo_short #(.WIDTH(19)) ctrl_sfifo +     (.clk(clk), .reset(reset), .clear(clear), +      .datain(data_i), .src_rdy_i(src_rdy_i), .dst_rdy_o(dst_rdy_o), +      .dataout(ctrl_data), .src_rdy_o(ctrl_src_rdy), .dst_rdy_i(ctrl_dst_rdy)); +    +   fifo_short #(.WIDTH(19)) resp_sfifo +     (.clk(clk), .reset(reset), .clear(clear), +      .datain(resp_data), .src_rdy_i(resp_src_rdy), .dst_rdy_o(resp_dst_rdy), +      .dataout(data_o), .src_rdy_o(src_rdy_o), .dst_rdy_i(dst_rdy_i)); +    +   // Need a programmable state machine here.  The program is the fifo contents. +   // All words are 16 bits wide +   //    Word 0   Command  { Read, Write, Triggers[5:0], Seqno [7:0] } +   //    Word 1   Length +   //    Word 2   Address LSW +   //    Word 3   Address MSW (should all be 0) +    +   localparam RESP_IDLE = 0; +   localparam RESP_LEN = 1; +   localparam RESP_ADDR_LSW = 2; +   localparam RESP_ADDR_MSW = 3; +   localparam RESP_WRITE = 4; +   localparam RESP_DUMP = 5; +   localparam RESP_WAIT_READ = 6; +   localparam RESP_RCMD = 7; +   localparam RESP_RLEN = 8; +   localparam RESP_RADDR_LSW = 9; +   localparam RESP_RADDR_MSW = 10; +   localparam RESP_READ = 11; +    +   reg [3:0] 	  resp_state; +   reg 		  rd, wr; +   reg [15:0] 	  base_addr; +   reg [15:0] 	  length; +   reg [15:0] 	  count; +   reg [7:0] 	  seqnum; +   reg [5:0] 	  which_trig; +    +   always @(posedge clk) +     if(reset | clear) +       resp_state <= RESP_IDLE; +     else +       case(resp_state) +	 RESP_IDLE : +	   if(ctrl_src_rdy) +	     begin +		{ rd, wr, which_trig[5:0], seqnum[7:0] } <= ctrl_data[15:0]; +		if(ctrl_data[16])    // WAIT for start of packet, clean out otherwise +		  resp_state <= RESP_LEN; +	     end +	 RESP_LEN : +	   if(ctrl_src_rdy) +	     begin +		length <= ctrl_data[15:0]; +		count <= ctrl_data[15:0]; +		resp_state <= RESP_ADDR_LSW; +	     end +	 RESP_ADDR_LSW : +	   if(ctrl_src_rdy) +	     begin +		base_addr <= ctrl_data[15:0]; +		wb_adr_o <= ctrl_data[15:0]; +		resp_state <= RESP_ADDR_MSW; +	     end +	 RESP_ADDR_MSW : +	   if(ctrl_src_rdy) +	     if(wr) +	       resp_state <= RESP_WRITE; +	     else +	       resp_state <= RESP_DUMP; +	 RESP_WRITE : +	   if(ctrl_src_rdy & wb_ack_i) +	     if(count==1) +	       if(ctrl_data[17]) //eof +		 resp_state <= RESP_IDLE; +	       else  // clean out padding +		 resp_state <= RESP_DUMP; +	     else +	       begin +		  wb_adr_o <= wb_adr_o + 2; +		  count <= count - 1; +	       end +	 RESP_DUMP : +	   if(ctrl_src_rdy & ctrl_data[17]) +	     if(rd) +	       resp_state <= RESP_WAIT_READ; +	     else +	       resp_state <= RESP_IDLE; +	 RESP_WAIT_READ : +	   begin +	      wb_adr_o <= base_addr; +	      count <= length; +	      if( &(triggers | ~which_trig) ) +		resp_state <= RESP_RCMD; +	   end +	 RESP_RCMD : +	   if(resp_dst_rdy) +	     resp_state <= RESP_RLEN; +	 RESP_RLEN : +	   if(resp_dst_rdy) +	     resp_state <= RESP_RADDR_LSW; +	 RESP_RADDR_LSW : +	   if(resp_dst_rdy) +	     resp_state <= RESP_RADDR_MSW; +	 RESP_RADDR_MSW : +	   if(resp_dst_rdy) +	     resp_state <= RESP_READ; +	 RESP_READ : +	   if(resp_dst_rdy & wb_ack_i) +	     if(count==1) +	       resp_state <= RESP_IDLE; +	     else +	       begin +		  wb_adr_o <= wb_adr_o + 2; +		  count <= count - 1; +	       end +       endcase // case (resp_state) + +   always @* +     case(resp_state) +       RESP_RCMD : resp_data <= { 3'b001, 8'hAA, seqnum }; +       RESP_RLEN : resp_data <= { 3'b000, length }; +       RESP_RADDR_LSW : resp_data <= { 3'b000, base_addr }; +       RESP_RADDR_MSW : resp_data <= { 3'b000, 16'd0 }; +       default : resp_data <= { 1'b0, (count==1), 1'b0, wb_dat_miso }; +     endcase // case (resp_state) +    +   assign ctrl_dst_rdy = (resp_state == RESP_IDLE) | +			 (resp_state == RESP_LEN) | +			 (resp_state == RESP_ADDR_LSW) | +			 (resp_state == RESP_ADDR_MSW) | +			 ((resp_state == RESP_WRITE) & wb_ack_i) | +			 (resp_state == RESP_DUMP); +    +   assign resp_src_rdy = (resp_state == RESP_RCMD) | +			 (resp_state == RESP_RLEN) | +			 (resp_state == RESP_RADDR_LSW) | +			 (resp_state == RESP_RADDR_MSW) | +			 ((resp_state == RESP_READ) & wb_ack_i); +    +   assign wb_dat_mosi = ctrl_data[15:0]; +   assign wb_we_o = (resp_state == RESP_WRITE); +   assign wb_cyc_o = wb_stb_o; +   assign wb_sel_o = 2'b11; +   assign wb_stb_o = (ctrl_src_rdy & (resp_state == RESP_WRITE)) | (resp_dst_rdy & (resp_state == RESP_READ)); +    +    +   assign debug0 = { 14'd0, ctrl_data[17:0] }; +   assign debug1 = { ctrl_src_rdy, ctrl_dst_rdy, resp_src_rdy, resp_dst_rdy, 2'b00, ctrl_data[17:16] }; +    +endmodule // fifo_to_wb diff --git a/fpga/usrp2/control_lib/fifo_to_wb_tb.v b/fpga/usrp2/control_lib/fifo_to_wb_tb.v new file mode 100644 index 000000000..37459e2c2 --- /dev/null +++ b/fpga/usrp2/control_lib/fifo_to_wb_tb.v @@ -0,0 +1,136 @@ +// +// Copyright 2011 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/>. +// + +module fifo_to_wb_tb(); +    +   reg clk = 0; +   reg rst = 1; +   reg clear = 0; +   initial #1000 rst = 0; +   always #50 clk = ~clk; +    +   reg 	       trigger = 0; +   initial #10000 trigger = 1; + +   wire        wb_cyc, wb_stb, wb_we, wb_ack; +   wire [15:0] wb_adr; +   wire [15:0] wb_dat_miso, wb_dat_mosi; + +   reg 	       cmd_src_rdy; +   wire        cmd_dst_rdy, resp_src_rdy, resp_dst_rdy; +   reg [17:0]  cmd; +   wire [17:0] resp; + +   wire [17:0] resp_int; +   wire        resp_src_rdy_int, resp_dst_rdy_int; +    +   fifo_to_wb fifo_to_wb +     (.clk(clk), .reset(rst), .clear(clear), +      .data_i(cmd), .src_rdy_i(cmd_src_rdy), .dst_rdy_o(cmd_dst_rdy), +      .data_o(resp_int), .src_rdy_o(resp_src_rdy_int), .dst_rdy_i(resp_dst_rdy_int), + +      .wb_adr_o(wb_adr), .wb_dat_mosi(wb_dat_mosi), .wb_dat_miso(wb_dat_miso), +      .wb_sel_o(), .wb_cyc_o(wb_cyc), .wb_stb_o(wb_stb),  +      .wb_we_o(wb_we), .wb_ack_i(wb_ack), +      .triggers()); + +   assign wb_dat_miso = {wb_adr[7:0],8'hBF}; + +   fifo19_pad #(.LENGTH(16)) fifo19_pad +     (.clk(clk), .reset(rst), .clear(clear), +      .data_i(resp_int), .src_rdy_i(resp_src_rdy_int), .dst_rdy_o(resp_dst_rdy_int), +      .data_o(resp), .src_rdy_o(resp_src_rdy), .dst_rdy_i(resp_dst_rdy)); +         +    +   // Set up monitors +   always @(posedge clk) +     if(wb_cyc & wb_stb & wb_ack) +       if(wb_we) +	 $display("WB-WRITE  ADDR:%h  DATA:%h",wb_adr, wb_dat_mosi); +       else +	 $display("WB-READ  ADDR:%h  DATA:%h",wb_adr, wb_dat_miso); +    +   always @(posedge clk) +     if(cmd_src_rdy & cmd_dst_rdy) +       $display("CMD-WRITE  SOF:%b EOF:%b DATA:%h",cmd[16],cmd[17],cmd[15:0]); +    +   always @(posedge clk) +     if(resp_src_rdy & resp_dst_rdy) +       $display("RESP-READ  SOF:%b EOF:%b DATA:%h",resp[16],resp[17],resp[15:0]); + +   assign wb_ack = wb_stb; +   assign resp_dst_rdy = 1; +    +   task InsertRW; +      input [15:0] data_start; +      input [5:0]  triggers; +      input [7:0]  seqno; +      input [15:0] len; +      input [15:0] addr; +      reg [15:0]   data_val; +       +      begin +	 data_val <= data_start; +	 @(posedge clk); +	 cmd <= {2'b01,2'b11,triggers,seqno}; +	 cmd_src_rdy <= 1; +	 @(posedge clk); +	 cmd <= {2'b00,len}; +	 @(posedge clk); +	 cmd <= {2'b00,addr}; +	 @(posedge clk); +	 cmd <= {2'b00,16'd0}; +	 @(posedge clk); +	 repeat (len) +	   begin +	      cmd <= {2'b00,data_val}; +	      data_val <= data_val + 1; +	      @(posedge clk); +	   end +	 repeat (12-len-1) +	   begin +	      cmd <= {2'b00,16'hBEEF}; +	      @(posedge clk); +	   end +	 cmd <= {2'b10, 16'hDEAD}; +	 @(posedge clk); +	 cmd_src_rdy <= 0; +      end +   endtask // InsertRead +       +   initial $dumpfile("fifo_to_wb_tb.vcd"); +   initial $dumpvars(0,fifo_to_wb_tb); + +   initial +     begin +	@(negedge rst); +	//#10000; +	@(posedge clk); +	@(posedge clk); +	@(posedge clk); +	@(posedge clk); +	InsertRW(16'hF00D, 6'd0, 8'hB5, 16'd7, 16'h1234); +	#20000; +	InsertRW(16'h9876, 6'd0, 8'h43, 16'd8, 16'hBEEF); +	#20000; +	InsertRW(16'h1000, 6'd0, 8'h96, 16'd4, 16'hF00D); +	#20000; +	InsertRW(16'h3000, 6'd0, 8'h12, 16'd10,16'hDEAD); +	#20000 $finish; +     end +    +endmodule // fifo_to_wb_tb diff --git a/fpga/usrp2/control_lib/gray2bin.v b/fpga/usrp2/control_lib/gray2bin.v index 5df40bd52..399d5bba0 100644 --- a/fpga/usrp2/control_lib/gray2bin.v +++ b/fpga/usrp2/control_lib/gray2bin.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module gray2bin diff --git a/fpga/usrp2/control_lib/gray_send.v b/fpga/usrp2/control_lib/gray_send.v index 7fc07d40c..62402f8d3 100644 --- a/fpga/usrp2/control_lib/gray_send.v +++ b/fpga/usrp2/control_lib/gray_send.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// + diff --git a/fpga/usrp2/control_lib/icache.v b/fpga/usrp2/control_lib/icache.v index bd21f47cc..810b5fa64 100644 --- a/fpga/usrp2/control_lib/icache.v +++ b/fpga/usrp2/control_lib/icache.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module icache    #(parameter AWIDTH=14, diff --git a/fpga/usrp2/control_lib/longfifo.v b/fpga/usrp2/control_lib/longfifo.v index bf3338e0b..c77f2dcb1 100644 --- a/fpga/usrp2/control_lib/longfifo.v +++ b/fpga/usrp2/control_lib/longfifo.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // FIFO intended to be interchangeable with shortfifo, but  //  based on block ram instead of SRL16's diff --git a/fpga/usrp2/control_lib/medfifo.v b/fpga/usrp2/control_lib/medfifo.v index 5a77e8c16..0f66f6597 100644 --- a/fpga/usrp2/control_lib/medfifo.v +++ b/fpga/usrp2/control_lib/medfifo.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module medfifo    #(parameter WIDTH=32, diff --git a/fpga/usrp2/control_lib/mux4.v b/fpga/usrp2/control_lib/mux4.v index 31c85c832..b1878f011 100644 --- a/fpga/usrp2/control_lib/mux4.v +++ b/fpga/usrp2/control_lib/mux4.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module mux4 diff --git a/fpga/usrp2/control_lib/mux8.v b/fpga/usrp2/control_lib/mux8.v index 9db96a60f..bdb015dc3 100644 --- a/fpga/usrp2/control_lib/mux8.v +++ b/fpga/usrp2/control_lib/mux8.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module mux8 diff --git a/fpga/usrp2/control_lib/mux_32_4.v b/fpga/usrp2/control_lib/mux_32_4.v index fef5812e9..4a1244933 100644 --- a/fpga/usrp2/control_lib/mux_32_4.v +++ b/fpga/usrp2/control_lib/mux_32_4.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module mux_32_4 diff --git a/fpga/usrp2/control_lib/oneshot_2clk.v b/fpga/usrp2/control_lib/oneshot_2clk.v index 72f16a4b3..7ed5bc8f6 100644 --- a/fpga/usrp2/control_lib/oneshot_2clk.v +++ b/fpga/usrp2/control_lib/oneshot_2clk.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Retime a single bit from one clock domain to another  // Guarantees that no matter what the relative clock rates, if the in signal is high for at least diff --git a/fpga/usrp2/control_lib/priority_enc.v b/fpga/usrp2/control_lib/priority_enc.v index 916192445..d30870be9 100644 --- a/fpga/usrp2/control_lib/priority_enc.v +++ b/fpga/usrp2/control_lib/priority_enc.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module priority_enc    (input [31:0] in, diff --git a/fpga/usrp2/control_lib/quad_uart.v b/fpga/usrp2/control_lib/quad_uart.v index afa6fae1d..39998150d 100644 --- a/fpga/usrp2/control_lib/quad_uart.v +++ b/fpga/usrp2/control_lib/quad_uart.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module quad_uart    #(parameter TXDEPTH = 1, diff --git a/fpga/usrp2/control_lib/ram_2port.v b/fpga/usrp2/control_lib/ram_2port.v index 3716a7c8a..86d7e4703 100644 --- a/fpga/usrp2/control_lib/ram_2port.v +++ b/fpga/usrp2/control_lib/ram_2port.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module ram_2port diff --git a/fpga/usrp2/control_lib/ram_2port_mixed_width.v b/fpga/usrp2/control_lib/ram_2port_mixed_width.v index fae7d8de3..2910d4041 100644 --- a/fpga/usrp2/control_lib/ram_2port_mixed_width.v +++ b/fpga/usrp2/control_lib/ram_2port_mixed_width.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module ram_2port_mixed_width    (input clk16, diff --git a/fpga/usrp2/control_lib/ram_harv_cache.v b/fpga/usrp2/control_lib/ram_harv_cache.v index 29fdebf7a..e68ed7f68 100644 --- a/fpga/usrp2/control_lib/ram_harv_cache.v +++ b/fpga/usrp2/control_lib/ram_harv_cache.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Dual ported, Harvard architecture, cached ram diff --git a/fpga/usrp2/control_lib/ram_harvard.v b/fpga/usrp2/control_lib/ram_harvard.v index a190e20fd..00ffb1984 100644 --- a/fpga/usrp2/control_lib/ram_harvard.v +++ b/fpga/usrp2/control_lib/ram_harvard.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Dual ported, Harvard architecture, cached ram diff --git a/fpga/usrp2/control_lib/ram_harvard2.v b/fpga/usrp2/control_lib/ram_harvard2.v index 67777af2a..d8fe472f5 100644 --- a/fpga/usrp2/control_lib/ram_harvard2.v +++ b/fpga/usrp2/control_lib/ram_harvard2.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Dual ported, Harvard architecture diff --git a/fpga/usrp2/control_lib/ram_loader.v b/fpga/usrp2/control_lib/ram_loader.v index c53ea7aa7..85ccf91b4 100644 --- a/fpga/usrp2/control_lib/ram_loader.v +++ b/fpga/usrp2/control_lib/ram_loader.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module ram_loader    #(parameter AWIDTH=16, RAM_SIZE=16384)      ( diff --git a/fpga/usrp2/control_lib/ram_wb_harvard.v b/fpga/usrp2/control_lib/ram_wb_harvard.v index c3efc12e0..8d5a45247 100644 --- a/fpga/usrp2/control_lib/ram_wb_harvard.v +++ b/fpga/usrp2/control_lib/ram_wb_harvard.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Dual ported RAM for Harvard architecture processors  //    Does no forwarding diff --git a/fpga/usrp2/control_lib/reset_sync.v b/fpga/usrp2/control_lib/reset_sync.v index 94d966840..304aba106 100644 --- a/fpga/usrp2/control_lib/reset_sync.v +++ b/fpga/usrp2/control_lib/reset_sync.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module reset_sync diff --git a/fpga/usrp2/control_lib/s3a_icap_wb.v b/fpga/usrp2/control_lib/s3a_icap_wb.v index 83d9f775e..e49b56cff 100644 --- a/fpga/usrp2/control_lib/s3a_icap_wb.v +++ b/fpga/usrp2/control_lib/s3a_icap_wb.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module s3a_icap_wb diff --git a/fpga/usrp2/control_lib/sd_spi.v b/fpga/usrp2/control_lib/sd_spi.v index 3f4d7f46a..fa998d19a 100644 --- a/fpga/usrp2/control_lib/sd_spi.v +++ b/fpga/usrp2/control_lib/sd_spi.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module sd_spi    (input clk,     input rst, diff --git a/fpga/usrp2/control_lib/sd_spi_tb.v b/fpga/usrp2/control_lib/sd_spi_tb.v index e30a5bdf6..2b5ae083f 100644 --- a/fpga/usrp2/control_lib/sd_spi_tb.v +++ b/fpga/usrp2/control_lib/sd_spi_tb.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module sd_spi_tb; diff --git a/fpga/usrp2/control_lib/sd_spi_wb.v b/fpga/usrp2/control_lib/sd_spi_wb.v index 7a6258b56..b09debd70 100644 --- a/fpga/usrp2/control_lib/sd_spi_wb.v +++ b/fpga/usrp2/control_lib/sd_spi_wb.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Wishbone module for spi communications with an SD Card  // The programming interface is simple --  diff --git a/fpga/usrp2/control_lib/setting_reg.v b/fpga/usrp2/control_lib/setting_reg.v index 3d3bb65e5..e4c84d910 100644 --- a/fpga/usrp2/control_lib/setting_reg.v +++ b/fpga/usrp2/control_lib/setting_reg.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module setting_reg diff --git a/fpga/usrp2/control_lib/settings_bus.v b/fpga/usrp2/control_lib/settings_bus.v index aec179516..e2ea7e44b 100644 --- a/fpga/usrp2/control_lib/settings_bus.v +++ b/fpga/usrp2/control_lib/settings_bus.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Grab settings off the wishbone bus, send them out to our simpler bus on the fast clock diff --git a/fpga/usrp2/control_lib/settings_bus_16LE.v b/fpga/usrp2/control_lib/settings_bus_16LE.v index 76061e9e0..7c42a0870 100644 --- a/fpga/usrp2/control_lib/settings_bus_16LE.v +++ b/fpga/usrp2/control_lib/settings_bus_16LE.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Grab settings off the wishbone bus, send them out to settings bus  // 16 bits little endian, but all registers need to be written 32 bits at a time. diff --git a/fpga/usrp2/control_lib/settings_bus_crossclock.v b/fpga/usrp2/control_lib/settings_bus_crossclock.v index b043aa0ad..9c5912042 100644 --- a/fpga/usrp2/control_lib/settings_bus_crossclock.v +++ b/fpga/usrp2/control_lib/settings_bus_crossclock.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // This module takes the settings bus on one clock domain and crosses it over to another domain diff --git a/fpga/usrp2/control_lib/shortfifo.v b/fpga/usrp2/control_lib/shortfifo.v index d8ce1428e..c7c916375 100644 --- a/fpga/usrp2/control_lib/shortfifo.v +++ b/fpga/usrp2/control_lib/shortfifo.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module shortfifo    #(parameter WIDTH=32) diff --git a/fpga/usrp2/control_lib/simple_uart.v b/fpga/usrp2/control_lib/simple_uart.v index 0dd58b5f5..f44a719f4 100644 --- a/fpga/usrp2/control_lib/simple_uart.v +++ b/fpga/usrp2/control_lib/simple_uart.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module simple_uart    #(parameter TXDEPTH = 1, diff --git a/fpga/usrp2/control_lib/simple_uart_rx.v b/fpga/usrp2/control_lib/simple_uart_rx.v index debdd618b..5f7646e03 100644 --- a/fpga/usrp2/control_lib/simple_uart_rx.v +++ b/fpga/usrp2/control_lib/simple_uart_rx.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module simple_uart_rx diff --git a/fpga/usrp2/control_lib/simple_uart_tx.v b/fpga/usrp2/control_lib/simple_uart_tx.v index e11a347ed..f38460bd4 100644 --- a/fpga/usrp2/control_lib/simple_uart_tx.v +++ b/fpga/usrp2/control_lib/simple_uart_tx.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module simple_uart_tx    #(parameter DEPTH=0) diff --git a/fpga/usrp2/control_lib/spi.v b/fpga/usrp2/control_lib/spi.v index a80c488e9..1abebee1c 100644 --- a/fpga/usrp2/control_lib/spi.v +++ b/fpga/usrp2/control_lib/spi.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // AD9510 Register Map (from datasheet Rev. A) diff --git a/fpga/usrp2/control_lib/srl.v b/fpga/usrp2/control_lib/srl.v index fa28c7669..bdef30058 100644 --- a/fpga/usrp2/control_lib/srl.v +++ b/fpga/usrp2/control_lib/srl.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module srl    #(parameter WIDTH=18) diff --git a/fpga/usrp2/control_lib/ss_rcvr.v b/fpga/usrp2/control_lib/ss_rcvr.v index 8e650d21b..4fb732c23 100644 --- a/fpga/usrp2/control_lib/ss_rcvr.v +++ b/fpga/usrp2/control_lib/ss_rcvr.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Source-synchronous receiver diff --git a/fpga/usrp2/control_lib/system_control.v b/fpga/usrp2/control_lib/system_control.v index 5d89f13db..7e7b71f3c 100644 --- a/fpga/usrp2/control_lib/system_control.v +++ b/fpga/usrp2/control_lib/system_control.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // System bootup order:  //    0 - Internal POR to reset this block.  Maybe control it from CPLD in the future?  //    1 - Everything in reset diff --git a/fpga/usrp2/control_lib/system_control_tb.v b/fpga/usrp2/control_lib/system_control_tb.v index a8eff4811..8fecfd1f0 100644 --- a/fpga/usrp2/control_lib/system_control_tb.v +++ b/fpga/usrp2/control_lib/system_control_tb.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module system_control_tb(); diff --git a/fpga/usrp2/control_lib/traffic_cop.v b/fpga/usrp2/control_lib/traffic_cop.v index e7579656a..874e4c2d9 100644 --- a/fpga/usrp2/control_lib/traffic_cop.v +++ b/fpga/usrp2/control_lib/traffic_cop.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module traffic_cop(); diff --git a/fpga/usrp2/control_lib/v5icap_wb.v b/fpga/usrp2/control_lib/v5icap_wb.v index c8800285a..92a6769e5 100644 --- a/fpga/usrp2/control_lib/v5icap_wb.v +++ b/fpga/usrp2/control_lib/v5icap_wb.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module v5icap_wb diff --git a/fpga/usrp2/control_lib/wb_bridge_16_32.v b/fpga/usrp2/control_lib/wb_bridge_16_32.v index 405e25c3c..7c62c9cbd 100644 --- a/fpga/usrp2/control_lib/wb_bridge_16_32.v +++ b/fpga/usrp2/control_lib/wb_bridge_16_32.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module wb_bridge_16_32 diff --git a/fpga/usrp2/control_lib/wb_bus_writer.v b/fpga/usrp2/control_lib/wb_bus_writer.v index fc148a0ff..08e641d37 100644 --- a/fpga/usrp2/control_lib/wb_bus_writer.v +++ b/fpga/usrp2/control_lib/wb_bus_writer.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // wb_bus_writer  // diff --git a/fpga/usrp2/control_lib/wb_output_pins32.v b/fpga/usrp2/control_lib/wb_output_pins32.v index 1517f2066..43e239797 100644 --- a/fpga/usrp2/control_lib/wb_output_pins32.v +++ b/fpga/usrp2/control_lib/wb_output_pins32.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Simple 32-bit Wishbone compatible slave output port diff --git a/fpga/usrp2/control_lib/wb_ram_block.v b/fpga/usrp2/control_lib/wb_ram_block.v index 044d34ca4..da6c610d3 100644 --- a/fpga/usrp2/control_lib/wb_ram_block.v +++ b/fpga/usrp2/control_lib/wb_ram_block.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Since this is a block ram, there are no byte-selects and there is a 1-cycle read latency diff --git a/fpga/usrp2/control_lib/wb_ram_dist.v b/fpga/usrp2/control_lib/wb_ram_dist.v index cffc2f423..491a6ae11 100644 --- a/fpga/usrp2/control_lib/wb_ram_dist.v +++ b/fpga/usrp2/control_lib/wb_ram_dist.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module wb_ram_dist diff --git a/fpga/usrp2/control_lib/wb_readback_mux.v b/fpga/usrp2/control_lib/wb_readback_mux.v index 3922b03e3..a5bf224b8 100644 --- a/fpga/usrp2/control_lib/wb_readback_mux.v +++ b/fpga/usrp2/control_lib/wb_readback_mux.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Note -- clocks must be synchronous (derived from the same source) diff --git a/fpga/usrp2/control_lib/wb_readback_mux_16LE.v b/fpga/usrp2/control_lib/wb_readback_mux_16LE.v index 2b01898c1..aceec601b 100644 --- a/fpga/usrp2/control_lib/wb_readback_mux_16LE.v +++ b/fpga/usrp2/control_lib/wb_readback_mux_16LE.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // Note -- clocks must be synchronous (derived from the same source) diff --git a/fpga/usrp2/control_lib/wb_regfile_2clock.v b/fpga/usrp2/control_lib/wb_regfile_2clock.v index e248e5161..ce93ab3f4 100644 --- a/fpga/usrp2/control_lib/wb_regfile_2clock.v +++ b/fpga/usrp2/control_lib/wb_regfile_2clock.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module wb_regfile_2clock    (input wb_clk_i, diff --git a/fpga/usrp2/control_lib/wb_semaphore.v b/fpga/usrp2/control_lib/wb_semaphore.v index a9208e6a1..e90950509 100644 --- a/fpga/usrp2/control_lib/wb_semaphore.v +++ b/fpga/usrp2/control_lib/wb_semaphore.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  // up to 8 semaphores diff --git a/fpga/usrp2/control_lib/wb_sim.v b/fpga/usrp2/control_lib/wb_sim.v index b324e1457..9f2fbea54 100644 --- a/fpga/usrp2/control_lib/wb_sim.v +++ b/fpga/usrp2/control_lib/wb_sim.v @@ -1,3 +1,20 @@ +// +// Copyright 2011 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/>. +// +  module wb_sim(); | 
