Ignore:
Timestamp:
Sep 16, 2009, 12:37:12 PM (15 years ago)
Author:
demin
Message:

add registers for output data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MultiChannelUSB/adc_fifo.v

    r45 r49  
    1616        wire    [31:0]  uwt_d3, uwt_a3, uwt_peak3;
    1717        wire    [1:0]   uwt_flag1, uwt_flag2, uwt_flag3;
     18
     19        wire    [11:0]  int_raw_q;
     20        wire    [13:0]  int_uwt_q;
     21
     22        reg             [11:0]  int_raw_data;
     23        reg             [13:0]  int_uwt_data;
    1824
    1925        wire    [1:0]   wrfull;
     
    6369                .data(adc_data),
    6470                .rdclk(rdclk),
    65                 .rdreq(int_rdreq),
     71                .rdreq((~int_rdempty) & int_rdreq),
    6672                .wrclk(adc_clk),
    6773                .wrreq(~wrfull[0]),
    68                 .q(raw_data),
     74                .q(int_raw_q),
    6975                .rdempty(int_rdempty),
    7076                .wrfull(wrfull[0]),
     
    9096                .data({uwt_flag3, uwt_peak3[11:0]}),
    9197                .rdclk(rdclk),
    92                 .rdreq(int_rdreq),
     98                .rdreq((~int_rdempty) & int_rdreq),
    9399                .wrclk(adc_clk),
    94100                .wrreq(~wrfull[1]),
    95                 .q(uwt_data),
     101                .q(int_uwt_q),
    96102                .rdempty(),
    97103                .wrfull(wrfull[1]),
     
    106112                        1'b0:
    107113                        begin
     114                                int_rdreq <= 1'b1;
     115                                int_ready <= 1'b0;
     116                                state <= 1'b1;
     117                        end
     118
     119                        1'b1:
     120                        begin
    108121                                if (~int_rdempty)
    109122                                begin
    110                                         int_rdreq <= 1'b1;
     123                                        int_raw_data <= int_raw_q;
     124                                        int_uwt_data <= int_uwt_q;
     125                                        int_rdreq <= 1'b0;
    111126                                        int_ready <= 1'b1;
    112                                         state <= 1'b1;
     127                                        state <= 1'b0;
    113128                                end
    114                         end
    115 
    116                         1'b1:
    117                         begin
    118                                 int_rdreq <= 1'b0;
    119                                 int_ready <= 1'b0;
    120                                 state <= 1'b0;
    121129                        end
    122130
    123131                        default:
    124132                        begin
    125                                 int_rdreq <= 1'b0;
     133                                int_rdreq <= 1'b1;
    126134                                int_ready <= 1'b0;
    127                                 state <= 1'b0;
     135                                state <= 1'b1;
    128136                        end
    129137                endcase
     
    131139       
    132140        assign  ready = int_ready;
     141        assign  raw_data = int_raw_data;
     142        assign  uwt_data = int_uwt_data;
    133143
    134144endmodule
Note: See TracChangeset for help on using the changeset viewer.