commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r5251 - in gnuradio/branches/developers/thottelt: inba


From: thottelt
Subject: [Commit-gnuradio] r5251 - in gnuradio/branches/developers/thottelt: inband/usrp/fpga/inband_lib simulations
Date: Sun, 6 May 2007 13:54:29 -0600 (MDT)

Author: thottelt
Date: 2007-05-06 13:54:29 -0600 (Sun, 06 May 2007)
New Revision: 5251

Modified:
   
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/chan_fifo_reader.v
   
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/tx_buffer_inband.v
   gnuradio/branches/developers/thottelt/simulations/fake_fx2.v
   gnuradio/branches/developers/thottelt/simulations/tx.mpf
   gnuradio/branches/developers/thottelt/simulations/tx_buffer_test.v
Log:
tx_buffer_inband works again, {under,over}flow not handled yet

Modified: 
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/chan_fifo_reader.v
===================================================================
--- 
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/chan_fifo_reader.v
        2007-05-06 19:33:56 UTC (rev 5250)
+++ 
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/chan_fifo_reader.v
        2007-05-06 19:54:29 UTC (rev 5251)
@@ -61,6 +61,8 @@
             underrun <= 0;
             burst <= 0;
             tx_empty <= 1;
+            tx_q <= 0;
+            tx_i <= 0;
          end
        else 
                   begin
@@ -136,13 +138,13 @@
                      begin
                        reader_next_state <= `DISCARD;
                        skip <= (payload_len < MAX_PAYLOAD);
-                     end
-                          
-                   if (tx_strobe == 1)
-                   begin
+                       tx_empty <= 1 ;
+                     end  
+                   else if (tx_strobe == 1)
+                     begin
                        reader_next_state <= `SENDWAIT;
                        rdreq <= 1;
-                   end
+                     end
                end
                
                `SENDWAIT:
@@ -156,18 +158,20 @@
                begin
                    reader_next_state <= `WAITSTROBE; 
                    read_len <= read_len + 4;
+                   tx_empty <= 0;
+                   
                    case(samples_format)
                        `QI16:
                         begin
-                            tx_q <= fifodata  & 16'hFFFF;
-                            tx_i <= fifodata  & 32'hFFFF0000;
+                            tx_q <= fifodata[15:0];
+                            tx_i <= fifodata[31:16];
                         end
                         
                         // Assume 16 bits complex samples by default
                         default:
                         begin
-                            tx_q <= fifodata  & 16'hFFFF;
-                            tx_i <= fifodata  & 32'hFFFF0000;
+                            tx_q <= fifodata[15:0];
+                            tx_i <= fifodata[31:16];
                         end 
                    endcase
                end

Modified: 
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/tx_buffer_inband.v
===================================================================
--- 
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/tx_buffer_inband.v
        2007-05-06 19:33:56 UTC (rev 5250)
+++ 
gnuradio/branches/developers/thottelt/inband/usrp/fpga/inband_lib/tx_buffer_inband.v
        2007-05-06 19:54:29 UTC (rev 5251)
@@ -5,7 +5,10 @@
     clear_status, tx_empty, debugbus 
    );
     
-    parameter NUM_CHAN   =      2 ;
+    parameter NUM_CHAN =        2 ;
+       /* Debug paramters */
+    parameter STROBE_RATE_0 =   1 ;
+    parameter STROBE_RATE_1 =   2 ;
     
     input   wire                usbclk ;
     input   wire                bus_reset ; // Used here for the 257-Hack to 
fix the FX2 bug
@@ -34,16 +37,19 @@
    
     /* These will eventually be external register */
     reg                  [31:0] time_counter ;
-    reg                   [7:0] txstrobe_rate_0 ;
-    reg                   [7:0] txstrobe_rate_1 ;
+    wire                  [7:0] txstrobe_rate [NUM_CHAN:0] ;
    
     /* Connections between tx_usb_fifo_reader and
        cnannel/command processing blocks */
     wire                 [31:0] tx_data_bus ;
     wire           [NUM_CHAN:0] WR_chan ;
     wire           [NUM_CHAN:0] done_chan ;
+    
+    /* Connections between data block and the
+       FX2/TX chains */
     wire           [NUM_CHAN:0] overrun_chan ;
     wire           [NUM_CHAN:0] underrun_chan ;
+    wire           [NUM_CHAN:0] txempty_chan ;
    
     /* Connections between tx_usb_fifo and its
        reader and writer */
@@ -57,15 +63,20 @@
    
     /* Conections between tx_data_packet_fifo and
        its reader + strobe generator */
-    wire                 [31:0] tdpf_fifodata_0;
-    wire                        tdpf_pkt_waiting_0;
-    wire                        tdpf_rdreq_0;
-    wire                        tdpf_skip_0;
-    wire                        tdpf_have_space_0;
-    wire                        txstrobe_chan_0;
+    wire                 [31:0] tdpf_fifodata [NUM_CHAN:0] ;
+    wire                        tdpf_pkt_waiting [NUM_CHAN:0] ;
+    wire                        tdpf_rdreq [NUM_CHAN:0] ;
+    wire                        tdpf_skip [NUM_CHAN:0] ;
+    wire                        tdpf_have_space [NUM_CHAN:0] ;
+    wire                        txstrobe_chan [NUM_CHAN:0] ;
     
     assign have_space = ~tupf_wrfull ;
-    assign tupf_pkt_waiting = (tupf_usedw >= 128);
+    assign tupf_pkt_waiting = (tupf_usedw >= 128) ;
+    
+    /* TODO: Figure out how to write this genericly */
+    assign tx_empty = txempty_chan[0] | txempty_chan[1] ;
+    assign txstrobe_rate[0] = STROBE_RATE_0 ;
+    assign txstrobe_rate[1] = STROBE_RATE_1 ;
    
     usb_fifo_writer tx_usb_packet_writer
       (      .reset               (reset),
@@ -91,9 +102,9 @@
    
         usb_fifo_reader tx_usb_packet_reader
           (
-                      .reset               (reset),
-                      .tx_clock            (txclk),
-                      .tx_data_bus         (tx_data_bus),
+             .reset               (reset),
+                    .tx_clock            (txclk),
+             .tx_data_bus         (tx_data_bus),
              .WR_chan             (WR_chan),
              .done_chan           (done_chan),
              .rdreq               (tupf_rdreq),
@@ -101,46 +112,46 @@
              .fifodata            (tupf_fifodata_out)
           );
 
-    /*data_packet_fifo tx_data_packet_fifo_0 
-     (  .reset(reset),
-        .clock(txclk), 
-        .ram_data_in(tx_data_bus),
-        .write_enable(WR_chan_0),
-        .ram_data_out(tdpf_fifodata_0),
-        .pkt_waiting(tdpf_pkt_waiting_0),
-        .read_enable(tdpf_rdreq_0),
-        .pkt_complete(chan_0_done), 
-        .skip_packet(tdpf_skip_0),
-        .have_space(tdpf_have_space_0)
+    data_packet_fifo tx_data_packet_fifo_0 
+      (      .reset               (reset),
+             .clock               (txclk), 
+             .ram_data_in         (tx_data_bus),
+             .write_enable        (WR_chan[0]),
+             .ram_data_out        (tdpf_fifodata[0]),
+             .pkt_waiting         (tdpf_pkt_waiting[0]),
+             .read_enable         (tdpf_rdreq[0]),
+             .pkt_complete        (done_chan[0]), 
+             .skip_packet         (tdpf_skip[0]),
+             .have_space          (tdpf_have_space[0])
        );
    
     strobe_gen strobe_gen_0
-    (   .clock(txclk),
-        .reset(reset),
-        .enable(1'b1),
-        .rate(txstrobe_rate_0),
-        .strobe_in(txstrobe),
-        .strobe(txstrobe_chan_0) 
+      (      .clock               (txclk),
+             .reset               (reset),
+             .enable              (1'b1),
+             .rate                (txstrobe_rate[0]),
+             .strobe_in           (txstrobe),
+             .strobe              (txstrobe_chan[0]) 
        );
    
-    chan_fifo_reader tx_chan_0_reader (
-      .reset(reset),
-      .tx_clock(txclk),
-      .tx_strobe(txstrobe),
-      //.tx_strobe(txstrobe_chan_0),
-      .adc_clock(time_counter),
-      .samples_format(4'b0),
-      .tx_q(tx_q_0),
-      .tx_i(tx_i_0),
-      .overrun(OR0),
-      .underrun(UR0),
-      .skip(tdpf_skip_0),
-      .rdreq(tdpf_rdreq_0),
-      .fifodata(tdpf_fifodata_0),
-      .pkt_waiting(tdpf_pkt_waiting_0)
-   );  
+    chan_fifo_reader tx_chan_0_reader 
+     (       .reset               (reset),
+             .tx_clock            (txclk),
+             .tx_strobe           (txstrobe),
+             .adc_time            (time_counter),
+             .samples_format      (4'b0),
+             .tx_q                (tx_q_0),
+             .tx_i                (tx_i_0),
+             .overrun             (overrun_chan[0]),
+             .underrun            (underrun_chan[0]),
+             .skip                (tdpf_skip[0]),
+             .rdreq               (tdpf_rdreq[0]),
+             .fifodata            (tdpf_fifodata[0]),
+             .pkt_waiting         (tdpf_pkt_waiting[0]),
+             .tx_empty            (txempty_chan[0])
+      );       
    
-   
+   /*
    Channel 1 block
    wire [15:0] tdpf_fifodata_1;
    wire tdpf_pkt_waiting_1;

Modified: gnuradio/branches/developers/thottelt/simulations/fake_fx2.v
===================================================================
--- gnuradio/branches/developers/thottelt/simulations/fake_fx2.v        
2007-05-06 19:33:56 UTC (rev 5250)
+++ gnuradio/branches/developers/thottelt/simulations/fake_fx2.v        
2007-05-06 19:54:29 UTC (rev 5251)
@@ -44,16 +44,13 @@
    while($feof(file) == 0)
       begin
          i = 0;
-         
-         
-         r = $fscanf(file, "%x %x %x %x", x1, x2, x3, x4);
-         
-         /*r = $fread(packet, file);
+           
+         r = $fread(packet, file);
          if (r != 512)
-            begin
+         begin
                $display("error while reading packets.dat");
                $finish;
-            end
+         end
             
         // Wait
         while(have_space == 0)
@@ -68,7 +65,7 @@
             usbdata = packet[i];
             i = i + 1 ;
         end
-        WR = 0;*/
+        WR = 0;
       end
       
    $fclose(file);

Modified: gnuradio/branches/developers/thottelt/simulations/tx.mpf
===================================================================
--- gnuradio/branches/developers/thottelt/simulations/tx.mpf    2007-05-06 
19:33:56 UTC (rev 5250)
+++ gnuradio/branches/developers/thottelt/simulations/tx.mpf    2007-05-06 
19:54:29 UTC (rev 5251)
@@ -259,13 +259,13 @@
 Project_File_6 = ../inband/usrp/fpga/inband_lib/usb_fifo_reader.v
 Project_File_P_6 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178393232 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions 
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 8 
cover_expr 0 dont_compile 0 cover_stmt 0
 Project_File_7 = ../inband/usrp/fpga/inband_lib/chan_fifo_reader.v
-Project_File_P_7 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178408317 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 6 
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_P_7 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178478575 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions 
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 6 
cover_expr 0 dont_compile 0 cover_stmt 0
 Project_File_8 = ../inband/usrp/fpga/inband_lib/tx_buffer_inband.v
-Project_File_P_8 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178396255 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 1 
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 4 
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_P_8 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178480013 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions 
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 4 
cover_expr 0 dont_compile 0 cover_stmt 0
 Project_File_9 = ../inband/usrp/fpga/inband_lib/usb_fifo_writer.v
 Project_File_P_9 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178234886 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 
15 dont_compile 0 cover_expr 0 cover_stmt 0
 Project_File_10 = ./chan_fifo_readers_test.v
-Project_File_P_10 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178407738 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 1 
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_P_10 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178480129 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 1 
dont_compile 0 cover_expr 0 cover_stmt 0
 Project_File_11 = ../inband/usrp/fpga/megacells/fifo_1k.v
 Project_File_P_11 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178232565 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions 
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 17 
cover_expr 0 dont_compile 0 cover_stmt 0
 Project_File_12 = ./usb_packet_fifo_test.v
@@ -273,7 +273,7 @@
 Project_File_13 = ../inband/usrp/fpga/inband_lib/usb_packet_fifo.v
 Project_File_P_13 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178232288 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions 
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 5 
cover_expr 0 dont_compile 0 cover_stmt 0
 Project_File_14 = ./tx_buffer_test.v
-Project_File_P_14 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1177348942 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 3 
dont_compile 0 cover_expr 0 cover_stmt 0
+Project_File_P_14 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178480197 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_showsource 0 vlog_hazard 0 vlog_0InOptions 
{} ood 0 vlog_upper 0 compile_to work vlog_options {} compile_order 3 
cover_expr 0 dont_compile 0 cover_stmt 0
 Project_File_15 = ../inband/usrp/fpga/inband_lib/data_packet_fifo.v
 Project_File_P_15 = cover_toggle 0 vlog_protect 0 file_type verilog group_id 0 
cover_exttoggle 0 cover_cond 0 vlog_nodebug 0 vlog_1995compat 0 folder {Top 
Level} last_compile 1178397015 cover_branch 0 vlog_noload 0 vlog_enable0In 0 
vlog_disableopt 0 vlog_vopt 0 vlog_hazard 0 vlog_showsource 0 ood 0 
vlog_0InOptions {} vlog_options {} compile_to work vlog_upper 0 compile_order 7 
dont_compile 0 cover_expr 0 cover_stmt 0
 Project_File_16 = ../inband/usrp/fpga/sdr_lib/strobe_gen.v
@@ -309,6 +309,6 @@
 XML_CustomDoubleClick = 
 LOGFILE_DoubleClick = Edit
 LOGFILE_CustomDoubleClick = 
-EditorState = {tabbed horizontal 1} {Z:/wc/simulations/tx_buffer_test.v 0 0} 
{Z:/wc/inband/usrp/fpga/inband_lib/data_packet_fifo.v 0 1} 
{Z:/wc/inband/usrp/fpga/inband_lib/usb_packet_fifo2.v 0 0} 
{Z:/wc/simulations/usb_packet_fifo2_test.v 0 0} 
{Z:/wc/simulations/chan_fifo_readers_test.v 0 0}
+EditorState = {tabbed horizontal 1} {Z:/wc/simulations/tx_buffer_test.v 0 0} 
{Z:/wc/inband/usrp/fpga/inband_lib/data_packet_fifo.v 0 0} 
{Z:/wc/inband/usrp/fpga/inband_lib/usb_packet_fifo.v 0 0} 
{Z:/wc/inband/usrp/fpga/inband_lib/usb_fifo_reader.v 0 1}
 Project_Major_Version = 6
 Project_Minor_Version = 1

Modified: gnuradio/branches/developers/thottelt/simulations/tx_buffer_test.v
===================================================================
--- gnuradio/branches/developers/thottelt/simulations/tx_buffer_test.v  
2007-05-06 19:33:56 UTC (rev 5250)
+++ gnuradio/branches/developers/thottelt/simulations/tx_buffer_test.v  
2007-05-06 19:54:29 UTC (rev 5251)
@@ -47,14 +47,17 @@
    .tx_q_1(tx_q_1),
    .tx_q_2(tx_q_2),
    .tx_q_3(tx_q_3),
-   .debugbus(debug_bus)
+   .bus_reset(1'b0),
+   .clear_status(1'b0),
+   .channels(4'b0),
+   .debugbus(debugbus)
 );
 
 strobe_gen strobe_gen_test(
    .clock(txclk),
    .reset(reset),
    .enable(1'd1),
-   .rate(8'd1),
+   .rate(8'd3),
    .strobe_in(1'd1),
    .strobe(txstrobe) );
     





reply via email to

[Prev in Thread] Current Thread [Next in Thread]