Changeset 9105

Show
Ignore:
Timestamp:
07/31/08 20:36:46
Author:
matt
Message:

fifo level information for debugging

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • usrp2/trunk/fpga/top/u2_core/u2_core.v

    r8922 r9105  
    6868   input cpld_clk, 
    6969   input cpld_detached, 
     70   //input por, 
     71   //output config_success, 
    7072    
    7173   // ADC 
     
    148150   wire [31:0]  debug_rx, debug_mac0, debug_mac1, debug_tx_dsp, debug_txc,  
    149151                debug_serdes0, debug_serdes1, debug_serdes2, debug_rx_dsp; 
     152 
     153   wire [15:0]  ser_rx_occ, ser_tx_occ, dsp_rx_occ, dsp_tx_occ, eth_rx_occ, eth_tx_occ, eth_rx_occ2; 
     154   wire         ser_rx_full, ser_tx_full, dsp_rx_full, dsp_tx_full, eth_rx_full, eth_tx_full, eth_rx_full2; 
     155   wire         ser_rx_empty, ser_tx_empty, dsp_rx_empty, dsp_tx_empty, eth_rx_empty, eth_tx_empty, eth_rx_empty2; 
     156         
    150157   // /////////////////////////////////////////////////////////////////////////////////////////////// 
    151158   // Wishbone Single Master INTERCON 
     
    209216   ////////////////////////////////////////////////////////////////////////////////////////// 
    210217   // Reset Controller 
    211    system_control sysctrl (.wb_clk_i(wb_clk), 
     218   system_control sysctrl (.wb_clk_i(wb_clk), // .por_i(por), 
    212219                           .ram_loader_rst_o(ram_loader_rst), 
    213220                           .wb_rst_o(wb_rst), 
    214221                           .ram_loader_done_i(ram_loader_done)); 
     222 
     223   //assign      config_success = ram_loader_done; 
    215224    
    216225   // /////////////////////////////////////////////////////////////////// 
     
    423432        .Crs(GMII_CRS),.Col(GMII_COL), 
    424433        .Mdio(MDIO),.Mdc(MDC), 
     434        .rx_fifo_occupied(eth_rx_occ2),.rx_fifo_full(eth_rx_full2),.rx_fifo_empty(eth_rx_empty2), 
     435        .tx_fifo_occupied(),.tx_fifo_full(),.tx_fifo_empty(), 
    425436        .debug0(debug_mac0),.debug1(debug_mac1) ); 
    426437 
     
    434445      .Rx_mac_eop(Rx_mac_eop),.Rx_mac_err(Rx_mac_err), 
    435446      .wr_dat_o(wr2_dat),.wr_write_o(wr2_write),.wr_done_o(wr2_done), 
    436       .wr_error_o(wr2_error),.wr_ready_i(wr2_ready),.wr_full_i(wr2_full) ); 
     447      .wr_error_o(wr2_error),.wr_ready_i(wr2_ready),.wr_full_i(wr2_full), 
     448      .fifo_occupied(eth_rx_occ),.fifo_full(eth_rx_full),.fifo_empty(eth_rx_empty) ); 
    437449 
    438450   mac_txfifo_int mac_txfifo_int 
     
    441453      .Tx_mac_BE(Tx_mac_BE),.Tx_mac_sop(Tx_mac_sop),.Tx_mac_eop(Tx_mac_eop), 
    442454      .rd_dat_i(rd2_dat),.rd_read_o(rd2_read),.rd_done_o(rd2_done), 
    443       .rd_error_o(rd2_error),.rd_sop_i(rd2_sop),.rd_eop_i(rd2_eop) ); 
    444  
     455      .rd_error_o(rd2_error),.rd_sop_i(rd2_sop),.rd_eop_i(rd2_eop), 
     456      .fifo_occupied(eth_tx_occ),.fifo_full(eth_tx_full),.fifo_empty(eth_tx_empty) ); 
     457    
    445458   // ///////////////////////////////////////////////////////////////////////// 
    446459   // Interrupt Controller, Slave #8 
     
    522535      .wr_ready_i(wr1_ready), .wr_full_i(wr1_full), 
    523536      .sample(sample_rx), .run(run_rx), .strobe(strobe_rx), 
     537      .fifo_occupied(dsp_rx_occ),.fifo_full(dsp_rx_full),.fifo_empty(dsp_rx_empty), 
    524538      .debug_rx(debug_rx) ); 
    525539    
     
    539553      .rd_read_o(rd1_read), .rd_done_o(rd1_done), .rd_error_o(rd1_error), 
    540554      .sample(sample_tx), .run(run_tx), .strobe(strobe_tx), 
     555      .fifo_occupied(dsp_tx_occ),.fifo_full(dsp_tx_full),.fifo_empty(dsp_tx_empty), 
    541556      .debug(debug_txc) ); 
    542557    
     
    560575      .wr_dat_o(wr0_dat),.wr_write_o(wr0_write),.wr_done_o(wr0_done),.wr_error_o(wr0_error), 
    561576      .wr_ready_i(wr0_ready),.wr_full_i(wr0_full), 
     577      .tx_occupied(ser_tx_occ),.tx_full(ser_tx_full),.tx_empty(ser_tx_empty), 
     578      .rx_occupied(ser_rx_occ),.rx_full(ser_rx_full),.rx_empty(ser_rx_empty), 
    562579      .debug0(debug_serdes0), .debug1(debug_serdes1) ); 
    563580 
     
    579596   // Debug Pins 
    580597 
     598   // FIFO Level Debugging 
     599   reg [31:0] host_to_dsp_fifo, dsp_to_host_fifo, eth_mac_debug; 
     600 
     601   always @(posedge dsp_clk) 
     602     host_to_dsp_fifo <= { {eth_rx_full,eth_rx_empty,eth_rx_occ[13:0]}, 
     603                           {dsp_tx_full,dsp_tx_empty,dsp_tx_occ[13:0]} }; 
     604 
     605   always @(posedge dsp_clk) 
     606     dsp_to_host_fifo <= { {eth_tx_full,eth_tx_empty,eth_tx_occ[13:0]}, 
     607                          {dsp_rx_full,dsp_rx_empty,dsp_rx_occ[13:0]} }; 
     608 
     609   always @(posedge dsp_clk) 
     610     eth_mac_debug <= { 
     611                      // {eth_tx_full2, eth_tx_empty2, eth_tx_occ2[13:0]}, 
     612                      // {underrun, overrun, debug_mac0[13:0] }, 
     613                       {debug_txc[15:0]}, 
     614                       {eth_rx_full2, eth_rx_empty2, eth_rx_occ2[13:0]} }; 
     615    
     616   wire       debug_mux; 
     617   setting_reg #(.my_addr(5)) sr_debug (.clk(wb_clk),.rst(wb_rst),.strobe(set_stb),.addr(set_addr), 
     618                                        .in(set_data),.out(debug_mux),.changed()); 
     619 
     620   assign     debug = debug_mux ? host_to_dsp_fifo : dsp_to_host_fifo; 
     621    
    581622   // Assign various commonly used debug buses. 
    582623   /* 
     
    626667   assign      debug_clk[1] = dsp_clk;   
    627668    
    628    assign      debug = {{strobe_rx,/*adc_ovf_a*/ 1'b0,adc_a}, 
    629                       {run_rx,/*adc_ovf_b*/ 1'b0,adc_b}}; 
     669   //assign      debug = {{strobe_rx,/*adc_ovf_a*/ 1'b0,adc_a}, 
     670        //            {run_rx,/*adc_ovf_b*/ 1'b0,adc_b}}; 
    630671 
    631672   //assign      debug = debug_tx_dsp; 
    632     
    633    //assign      debug = 0; // debug_serdes0; 
     673   //assign      debug = debug_serdes0; 
     674    
    634675   assign      debug_gpio_0 = 0; // debug_serdes1; 
    635    assign      debug_gpio_1 = 32'b0;  
     676   assign      debug_gpio_1 = eth_mac_debug;  
    636677    
    637678endmodule // u2_core